Безопасно ли (безопасно) менять владельца папки html/ в Apache?

Я знаю, как использовать chmod и прочее, так что это не вопрос. У меня есть маленький сервер (Ubuntu LTS), работающий с Apache на нем со стандартной папкой в /var/www/html/, По умолчанию root является владельцем html/ папка.

Вопрос: безопасно (безопасно) сменить владельца html/ папка?

3 ответа

Решение

Совершенно безопасно изменить владельца файлов в /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,

Надеюсь, поможет!

Другие вопросы по тегам