再起動するときにsshd
に絶対パスが必要なのはなぜですか。例:/usr/sbin/sshd
ではなくsshd
セキュリティへの影響はありますか?
PSエラーメッセージ:
# sshd
sshd re-exec requires execution with an absolute path
これはバージョン3.9以降のOpenSSHに固有です。
新しい接続ごとに、sshdはそれ自体を再実行して、新しい接続ごとにすべての実行時のランダム化が確実に再生成されるようにします。 sshdが自分自身を再実行するには、自分自身へのフルパスを知っている必要があります。
これは、3.9のリリースノートからの引用です。
- Sshd(8)が新しい接続を受け入れたときに自分自身を再実行するように。このセキュリティ対策により、すべての実行時のランダム化が、マスタープロセスの存続期間中、1回ではなく各接続に再適用されます。これには、mmapとmallocのマッピング、共有ライブラリのアドレス指定、共有ライブラリのマッピング順序、ProPoliceとStackGhostのCookieが含まれます。
いずれの場合も、通常、サービスを再起動するには、initスクリプト(例:/etc/init.d/sshd restart
)またはservice sshd restart
を使用することをお勧めします。他に何もない場合は、次の再起動後にサービスが正しく開始することを確認するのに役立ちます...
(元の回答、現在は無関係:私の最初の推測は、/usr/sbin
が$ PATHにないことです。)
これは、誰かがsshd
のいずれかのディレクトリのどこかにPATH
プログラムを挿入して、誤って実行してしまうのを防ぐためです。この post は2004年のもので、この問題をすでに説明しています。