This one time, at band camp, Björn Heide said:
> Hi,
> 
> as I am also beaten by #424772 I tried to find out what's going wrong:
> 
> It is the way su determines which shell to run.
> 
> su uses 1) shell specified with -s
>       2) if -p is given: $SHELL
>       3) shell from /etc/passwd
>       4) /bin/sh
> 
> what happens in the "initscript run by init" case is:
> - $SHELL is not set
> - /etc/passwd gives: clamav:x:109:114::/var/lib/clamav:/bin/false
> and /bin/false is used.
> 
> in the "initscript run by root" case $SHELL is set by login or some PAM
> mechanism and then used by su (because -p).
> 
> I modified /etc/init.d/clamav-[daemon|freshclam] a bit:
> 
> -daemon:
> -    su "$User" -p -c ". /lib/lsb/init-functions && start_daemon -p 
> $THEPIDFILE $DAEMON"
> +    su "$User" -p -s /bin/sh -c ". /lib/lsb/init-functions && start_daemon 
> -p $THEPIDFILE $DAEMON"
> 
> -freshclam:
> -  su clamav -p -c ". /lib/lsb/init-functions && start_daemon $DAEMON -d 
> --quiet"
> +  su clamav -p -s /bin/sh -c ". /lib/lsb/init-functions && start_daemon 
> $DAEMON -d --quiet"
> 
> and clamav starts again at system boot.

Nicely debugged.  Thanks, and patch committed to local svn.  Expect an
upload soon.
-- 
 -----------------------------------------------------------------
|   ,''`.                                            Stephen Gran |
|  : :' :                                        [EMAIL PROTECTED] |
|  `. `'                        Debian user, admin, and developer |
|    `-                                     http://www.debian.org |
 -----------------------------------------------------------------

Attachment: signature.asc
Description: Digital signature

Reply via email to