Задний план: Я помню, на моем старом месте работы, как администратор веб-сервера всегда заставлял меня изменять каталоги загрузки файлов, доступные по протоколу httpd, чтобы они принадлежали apache: apache или никто: никто.
Он сказал, что это было сделано из соображений безопасности.
Вопрос: Можете ли вы сказать мне, как именно это повлияло на безопасность? Также есть способ заставить apache работать как никто: никто, и есть ли для этого последствия для безопасности?
TIA
Некоторые приложения по умолчанию используют пользователя nobody. Например, вы, вероятно, никогда не захотите сказать, что служба apache перезаписывает файлы, принадлежащие связыванию. Наличие учетной записи для каждой услуги, как правило, очень хорошая идея.
Заставить apache работать как никто: это не для кого-то довольно просто, просто обновите User
и Group
. настройки. Но, как я уже упоминал выше, я не рекомендую этого конкретного пользователя / группу. Вполне возможно, что у вас может возникнуть соблазн добавить в систему в какой-то момент в будущем службу, которая также будет работать как никто, и вы забудете, что не предоставили пользователю права на запись в файловую систему.
Что касается того, почему вам нужно было сделать это для каталога загрузки. Вам действительно не нужно менять владельца каталога для загрузок. Я бы только изменил группу, а затем установил разрешения на 2775. Конечно, если вы настраиваете систему, в которой много разных пользователей используют один и тот же веб-сервер, настройка разрешений для лучшей безопасности может быть намного сложнее
Я думаю, что главное в том, что если веб-сервер не может записывать файлы через доступ группы владельцев и групп, тогда они должны быть доступны для записи всем.
Теперь файл или каталог, принадлежащие apache или никому, кажутся более предпочтительными, чем файл, доступный для записи кем-либо, включая другие службы.
Я не вижу каких-либо серьезных последствий для безопасности, если изменить действующего пользователя apache на «никто», если только у вас нет других служб, работающих также от имени этого пользователя. С другой стороны, я действительно не вижу веской причины, почему бы не оставить его просто «apache».