
Достаточно интересно, что на моей производной Ubuntu с установленным nginx у apt
пользователя www-data
есть оболочка:
$ cat /etc/passwd
www-data:x:33:33:www-data:/var/www:/bin/sh
Разве это не должно быть установлено как-то вроде /bin/false
? Даже если пользователь не может войти в систему, не опасно ли предоставлять оболочку для системного пользователя по умолчанию?
решение1
Ну /bin/false
(или /bin/true
если вы позитивный человек) это настоящая ракушка - просто это неинтерактивныйshell :-) В некоторых системах также есть оболочка, /sbin/nologin
которая служит той же цели.
Что касается того, нужна ли вашему пользователю Apache интерактивная оболочка (что-то вроде bash
), ответ, как уже говорили другие, «Обычно нет».
Установка оболочки пользователя Apache на что-то неинтерактивное, как правило, является хорошей практикой безопасности (на самом деле, все пользователи службы, которым не нужно входить в систему интерактивно, должны установить свою оболочку на что-то неинтерактивное).
Посетите существующую среду, похожую на вашу, попробуйте и посмотрите, не сломается ли что-нибудь.
Если ничего не сломается, используйте неинтерактивную оболочку с этого момента.
Если что-то сломается, попробуйте это починитьбезвосстановление интерактивной оболочки :-)