Re: Re: systemd-fsck?
Thorsten Glaser wrote:
> On Sun, 11 May 2014, Marc Haber wrote:
[...]
> On Sun, 11 May 2014, Cyril Brulebois wrote:
>
> > Marc Haber <mh+debian-devel@zugschlus.de> (2014-05-11):
> > > Just curious as the maintainer of another package using su in an
> > > init script since 2001, how am I supposed to start a non-root
> > > process from an init script?
> >
> > start-stop-daemon has:
> >
> > -c, --chuid username|uid[:group|gid]
>
> But the start-stop-daemon documentation seems to imply (please
> correct me if I’m wrong) that it’s for starting (and stopping)
> specific executables, as dæmons, with pidfiles, etc. – not for
> just running some shell code (which may or may not start other
> processes and/or dæmons) as another user.
>
> Taking dirmngr as example again:
>
> output=$(su -c ". /lib/lsb/init-functions && umask 027 &&
> start_daemon -p $PIDFILE $DAEMON --daemon --sh" dirmngr) || return 1
> eval "$output" || return 1
>
> Before preparing the NMU¹, I searched long and wide for something
> using start-stop-daemon which could replace this piece of code,
> and found it not.
I've prepared a NMU to replace su by start-stop-daemon and the change
was pretty straightforward:
output=$(start-stop-daemon --start --quiet --exec $DAEMON --oknodo --pidfile $PIDFILE --umask 027 --chuid dirmngr -- --daemon --sh) || return 1
eval "$output" || return 1
Cheers,
Laurent Bigonville
>
> ① Note I did NMU dirmngr to remove the -l from the su call,
> which was causing problems.
Reply to: