miss handling of the SIGHUP signal for sshd when sshd is started with a relative path sshd_config file
Ben Lindstrom
mouring at eviladmin.org
Thu Feb 26 08:03:16 EST 2009
On Feb 25, 2009, at 2:04 AM, 施威 wrote:
>
> Hi
>
> I am just porting ssh-5.2 to my HPUX system.
>
>
> but while I'm doing it, I accidently found a different handling of
> the sshd for the SIGHUP signal when it is started with a "./
> sshd_config" and "/sshd_config".
>
> The problem is as following:
>
> root at sshpa6# uname -a
> HP-UX sshpa6 B.11.31 U 9000/800 2404418693 unlimited-user license
>
> root at sshpa6# /opt/ssh/sbin/sshd -f ./sshd_config
> ### ./sshd_config is a relative path
> root at sshpa6# ps -ef|grep sshd
> root 12616 1 0 15:51:00 ? 0:00 /opt/ssh/sbin/sshd -
> f ./sshd_config
> root 12618 17401 0 15:51:03 pts/tb 0:00 grep sshd
> root at sshpa6# kill -HUP 12616
> root at sshpa6# ps -ef|grep sshd
> root 12620 17401 0 15:51:12 pts/tb 0:00 grep sshd ###
> sshd is killed but not restarted as it should be.
>
> So is it a bug or a normal situation?
>
If I had the venture a guess it is because ./xxx is a relative, and
after a chdir("/") it is no longer the same location when OpenSSH is -
HUP it no longer knows where the configuration file is and thus
terminates itself.
So yes, I would expect this behavior myself.
So the simply truth is you should always do: /path/to/sshd -f /path/
to/sshd_config
- Ben
More information about the openssh-unix-dev
mailing list