On Tue, May 13, 2014 at 01:21:08AM +0100, Colin Watson wrote: > On Sat, May 10, 2014 at 11:11:10PM -0700, Steve Langasek wrote: > > On Sun, May 11, 2014 at 11:12:08AM +1000, Brian May wrote: > > > The name "start-stop-daemon" would suggest this is inappropriate for cron > > > jobs, is that an invalid assumption I made?
> > Perhaps a better name could have been chosen, in hindsight. But in > > practice, s-s-d is the best available tool for uid switching in any > > noninteractive scripts. > There are situations where start-stop-daemon is disabled to avoid > daemons starting up in inappropriate contexts (such as during d-i), yet > we still need to switch uids because the task at hand is not one of > those that should be disabled in such contexts. The example of this I'm > familiar with is in man-db.postinst, which has this code: > run_mandb () { > db_get man-db/auto-update > [ "$RET" = true ] || return 0 > # start-stop-daemon isn't available when running from debootstrap. > perl -e '@pwd = getpwnam("man"); $( = $) = $pwd[3]; $< = $> = $pwd[2]; > exec "/usr/bin/mandb", @ARGV' -- "$@" || true > } > (This is not relevant for Brian's cron job case, of course, but I still > think it's worth mentioning as "any noninteractive scripts" is quite a > sweeping statement.) > It's a shame that there is, as far as I know, no low-level tool for this > in an Essential package. AFAIK, d-i disabling of s-s-d is a historical workaround for packages not using invoke-rc.d (back in the days before it was a Policy "must"). Maybe it's time to drop this diversion of s-s-d? -- Steve Langasek Give me a lever long enough and a Free OS Debian Developer to set it on, and I can move the world. Ubuntu Developer http://www.debian.org/ slanga...@ubuntu.com vor...@debian.org
signature.asc
Description: Digital signature