Почему sshd
при перезапуске требуется абсолютный путь, например, /usr/sbin/sshd
вместоsshd
Есть ли какие-либо последствия для безопасности?
PS сообщение об ошибке:
# sshd
sshd re-exec requires execution with an absolute path
Почему sshd
при перезапуске требуется абсолютный путь, например, /usr/sbin/sshd
вместоsshd
Есть ли какие-либо последствия для безопасности?
PS сообщение об ошибке:
# sshd
sshd re-exec requires execution with an absolute path
Ответы:
Это относится к OpenSSH начиная с версии 3.9.
Для каждого нового соединения sshd будет самопроизвольно выполняться, чтобы гарантировать, что все рандомизации во время выполнения будут перегенерированы для каждого нового соединения. Чтобы sshd мог выполнить себя заново, ему нужно знать полный путь к себе.
Вот цитата из заметок о выпуске для 3.9:
- Заставьте sshd (8) повторно выполнить себя при принятии нового соединения. Эта мера безопасности обеспечивает повторное применение всех рандомизаций во время выполнения для каждого соединения, а не один раз, для времени жизни главного процесса. Сюда входят сопоставления mmap и malloc, адресация совместно используемой библиотеки, порядок сопоставления совместно используемых библиотек, файлы cookie ProPolice и StackGhost в системах, которые поддерживают такие вещи.
В любом случае, обычно лучше перезапустить сервис, используя либо скрипт инициализации (например /etc/init.d/sshd restart
), либо используя service sshd restart
. Если ничего другого, это поможет вам убедиться, что служба будет запускаться правильно после следующей перезагрузки ...
( оригинальный ответ, теперь не имеет значения: мое первое предположение будет, что /usr/sbin
это не в вашем $ PATH. )
Это сделано для того, чтобы кто-то не вводил sshd
программу где-то в одном из ваших каталогов, PATH
и вы случайно выполняете ее. Этот пост 2004 года уже описывает проблему.