Назад | Перейти на главную страницу

Назначение www-данных

Поэтому мне было интересно, какова истинная цель пользователя / группы www-data. Стоит ли включать в эту группу других программистов, которые будут редактировать файлы в корне сайта? Должны ли все документы принадлежать www-data?

Краткий ответ: да.

Как только процесс получает порты - обычно 80 и 443 - он теряет привилегии root и запускается от имени этих пользователей. Таким образом, файлы, принадлежащие этому пользователю / группе, доступны для apache. Вы можете сделать пользователей членами этой группы, чтобы предоставить им доступ, просто оставив также доступными базовые папки. ...

В других дистрибутивах имя пользователя и имя группы могут называться apache.

www-data это просто группа UNIX, используемая по умолчанию для Apache. Пользователь UNIX www-data отличается и должен иметь разрешения, необходимые для записи файлов журнала, возможно, данных POST и других системных задач. Эти значения (User и Group) указаны в файле конфигурации apache, обычно в /etc/apache или /etc/httpd. Мастер веб-сервера обычно запускается как пользователь root, а затем отправляет работу работникам, которые работают с привилегиями настроенного пользователя и группы.

Apache - это служба, и, как и другие службы, это обычно то, к чему может получить доступ только небольшая группа людей в организации, часто через sudo. Я не предлагаю вам изменить эту группу, чтобы иметь широкий доступ или быть чем-то, что могут получить многие люди.

Небольшие компании могут не иметь операций или ИТ-отделов для управления веб-серверами, поэтому в этом случае разработчики могут быть системным администратором; более крупные компании, вероятно, довольно жестко блокируют ситуацию. В первом случае разработчики могут быть частью такой группы, как developers и получить доступ по мере необходимости через sudo, например, чтобы просмотреть файл журнала или настроить конфигурацию сервера. Но это задача системного администрирования, и она должна быть очень ограниченной для пользователя и весьма ограниченной для группы.

В некоторых случаях может иметь смысл, чтобы группа (не пользователь) имела доступ для чтения, но не для записи. В этом случае вам может потребоваться создать специальный общий ресурс группы для связанных служб - например, возможно, у вас есть Apache, MySQL и PHP, и вы хотите, чтобы пользователи могли видеть журналы и конфигурацию для всех этих служб. Другой вариант использования общей группы - это автоматическое развертывание.

Доступ для записи следует очень тщательно контролировать. sudoпри правильном использовании - хороший инструмент, позволяющий пользователям получить ограниченный доступ к определенным ресурсам, таким как журналы, или, возможно, перезапустить сервер.

Но я с уважением не согласен с принятым ответом - краткий ответ - нет. В большинстве случаев службы должны иметь пользователей и группы с очень ограниченный доступ, и любое изменение разрешений следует внимательно рассматривать. Это особенно верно для веб-серверов и других служб, таких как FTP или SMTP, порты которых напрямую открыты для Интернета.