Я знаю, как использовать chmod и материал так, чтобы не был вопрос. У меня есть немного сервера (Ubuntu LTS) работающий с Apache на нем со стандартной папкой в /var/www/html/
. Корнем по умолчанию владелец html/
папка.
Вопрос: действительно ли это безопасно (безопасный) для изменения владельца html/
папка?
Совершенно безопасно изменить владение файлов в /var/www
, и действительно что-либо в той папке Ваше, чтобы отредактировать и измениться, как Вы желаете.
Например, если пользователь tsmith
потребности смочь записать в файлы в /var/www/myweb
затем это прекрасно подходит для установки владельца этих файлов к tsmith
. Или если Вы предпочитаете, сохраните владельца как root
и потребуйте tsmith
к sudo, чтобы записать в них - если Вы доверяете ему sudo.
Если у Вас есть многочисленные пользователи, которые должны смочь отредактировать файлы, и Вы не хотите давать им sudo, Вы могли альтернативно использовать состав группы, например, создать группу и добавить пользователей к той группе, то установленное владение группы и группа пишут в соответствующие файлы, чтобы позволить членам той группы изменить те файлы. При выполнении этого Вы, вероятно, захотите использовать бит SetGID (chmod g+s dir
) на содержании каталога для обеспечения новых файлов наследовали то же владение группы, и umask 002
в каждом пользователе ~/.profile
для обеспечения они получают разрешение записи группы, иначе любые новые файлы только будут доступны для редактирования своим создателем и не другими членами группы.
Необходимо однако знать о применяющих плохих методах:
Не устанавливайте владение никаких файлов к www-data
пользователь, или www-data
группа, если Вы даете полномочия записи группы. Смысл www-data
пользователь - то, что это - непривилегированный пользователь, который не в состоянии записать в любые файлы. Демоны сервера, доступные из внешней сети (такие как веб-сервер) обычно выполненный как непривилегированный пользователь так, чтобы, если они взламываются из-за уязвимости, возможные вещи, которые может сделать взломщик, было минимально.
Исключение: некоторые веб-приложения требуют доступа для записи к определенным файлам и папкам для реализации вещей как устройство хранения данных вложения и т.д. В этих случаях необходимо установить владение на www-data
ТОЛЬКО для тех файлов, сохраняя количество файлов перезаписываемым www-data
как минимум.
По той же причине не устанавливайте файлы, чтобы быть мировыми перезаписываемыми.
При создании групп не повторно имейте целью существующие группы пользователей как admin
, sudo
или особенно www-data
, которые уже имеют цели в Ubuntu, потому что это может уменьшить безопасность системы, если те группы не были предназначены, чтобы смочь записать в файлы. Вместо этого создайте свои собственные группы и добавьте участников к тем.
Это не очень безопасно для использования любых каталогов или файлов с корневыми полномочиями (или владение или единственные полномочия). Для статических файлов HTML это не была бы большая проблема безопасности, но как только там выполняют сценарии (PHP, JavaScript, любые формы и так далее), можно получить серьезные проблемы.
Если только необходимо служить содержанию (HTML, изображения, и т.д.), нет никакой потребности установить специальное владение на каталоги/файлы в /var/www
, пока у apache2 пользователя (www-data
) есть разрешение получить доступ к содержанию.
В случае, если необходимо сделать еще немного, Вы, возможно, должны изменить владения. Например, если необходимо загрузить файлы от CMS (как WordPress, Joomla, и т.д.), необходимо будет изменить владение каталога загрузки к www-data
(или по крайней мере дать разрешения записи тому пользователю)
, я лично имею /var/www
принадлежавший root
пользователь с модификацией 1777
(то же как /tmp
) и веб-сайты (т.е.: /var/www/site1
), каталоги принадлежат www-data
.
Hope это помогает!