Безопасно ли (безопасно) менять владельца папки 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
,
Надеюсь, поможет!