У меня есть LAMP на сервере Ubuntu 9.04, и установка по умолчанию имеет root: root, владеющий папкой / var / www. Я обнаружил это, когда другой сервис, Hudson, не мог писать в этот каталог. Я хочу, чтобы у моего пользователя hudson было разрешение на запись в / var / www. Итак, должен ли пользователь www-data быть владельцем / var / www, а hudson быть членом группы www-data ИЛИ я должен пойти с пользователем и группой по умолчанию и сделать hudson членом root? Последнее кажется неправильным. Возникает вопрос, какой пользователь должен владеть / var / www? (А для тех, у кого гораздо больше опыта, чем у меня, с учетом этого сценария, есть ли что-то лучше, чем два решения, которые я видел?)
Итак, должен ли пользователь www-data быть владельцем / var / www
Почему процесс apache запускается www-data, а / var / www принадлежит root? Есть ли риск сделать папку www-data владельцем и запустить процесс?
Ваш веб-сервер работает как www-data. Если apache имеет возможность писать в / var / www, и вы что-то настроили неправильно, или у вас работает ошибочное веб-приложение, или сам apache имеет уязвимую ошибку, тогда злой человек в Интернете сможет писать что-то в / var / www. По возможности вы всегда должны предоставлять учетным записям служб минимум прав, необходимых для работы.
есть ли что-то лучше, чем два решения, которые я видел?
Создайте новую группу и измените владельца / var / www на root: group. Добавьте в группу всех пользователей, которых необходимо опубликовать в этой папке. Вы также можете пометить папку битом setgid и настроить umask ваших пользователей, чтобы все, что они пишут в эту папку, было доступно для записи кем-либо еще в этой группе.