On Thursday 01 November 2007, Bernard Cafarelli wrote:
> Le Thu, 1 Nov 2007 16:06:51 +0100
>
> Marius Mauch <[EMAIL PROTECTED]> a écrit:
> > On Thu, 1 Nov 2007 15:43:18 +0100
> >
> > Bernard Cafarelli <[EMAIL PROTECTED]> wrote:
> > > Le Wed, 31 Oct 2007 16:42:35 -0700
> > >
> > > Donnie Berkholz <[EMAIL PROTECTED]> a écrit:
> > > > On 19:49 Wed 31 Oct     , Bernard Cafarelli (voyageur) wrote:
> > > > > 1.1
> > > > > net-misc/nxserver-freenx/nxserver-freenx-0.7.1.ebuild
> > > > >
> > > > > file :
> > > > > http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-misc/nxserver-f
> > > > >reenx/nxserver-freenx-0.7.1.ebuild?rev=1.1&view=markup plain:
> > > > > http://sources.gentoo.org/viewcvs.py/gentoo-x86/net-misc/nxserver-f
> > > > >reenx/nxserver-freenx-0.7.1.ebuild?rev=1.1&content-type=text/plain
> > > > >
> > > > > pkg_postinst () {
> > > > >       usermod -s /usr/bin/nxserver nx || die "Unable to set
> > > > > login shell of nx user!!" usermod -d ${NX_HOME_DIR} nx || die
> > > > > "Unable to set home directory of nx user!!"
> > > >
> > > > This isn't safe with ROOT != / and it looks wrong too, you oughta
> > > > be using enewuser for this stuff.
> > > >
> > > > Thanks,
> > > > Donnie
> > >
> > > The problem is, enewuser can not be used to modify already existing
> > > user accounts.This happens if another nxserver was installed before
> > > (which uses the same account, but with different shell and home
> > > directory).
> > >
> > > I'll fix ROOT handling in the meantime, this should be better:
> > > usermod -s "${ROOT}"/usr/bin/nxserver nx
> > > usermod -d "${ROOT}"{NX_HOME_DIR} nx
> >
> > Should it really? Wouldn't it modify /etc/passwd instead of the one in
> > $ROOT, in which case it would actually be worse?
> > Might be better to make it conditional on ROOT = /, and show a
> > warning if ROOT != /, unless you can find a solution that is safe for
> > ROOT != /
>
> Yes, as pointed out on IRC by zlin, this does not fix the problem at
> all (and make it a little worse!).
>
> Making it conditional on ROOT != / is a good workaround in the
> meantime: not breaking anything in all cases, and as  the problem only
> appears if a different nxserver was installed before, it still works in
> most cases. Thanks!

presumably you have init.d scripts which would start the daemons ?  in that 
case, it'd make more sense i think to move the user account check to the 
init.d start() function and error out telling the user what to do instead of 
modifying things on them (which i think is bad form).  see the cheesy check 
in openntpd's "ntpd" init.d script as an example.
-mike

Attachment: signature.asc
Description: This is a digitally signed message part.

Reply via email to