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

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

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

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

решение1

Изменять владельца файлов в папке совершенно безопасно /var/www, и, по сути, все содержимое этой папки вы можете редактировать и изменять по своему усмотрению.

Например, если пользователю tsmithнеобходимо иметь возможность записывать в файлы в , /var/www/mywebто вполне нормально установить владельца этих файлов на tsmith. Или, если вы предпочитаете, оставьте владельца как rootи требуйте tsmithsudo для записи в них - если вы доверяете ему/ей использование 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, поскольку это может снизить безопасность системы, если эти группы не предназначены для записи в файлы. Вместо этого создавайте собственные группы и добавляйте в них участников.

решение2

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

решение3

Если вам нужно только обслуживать контент (html, изображения и т. д.), нет необходимости устанавливать специального владельца для каталогов/файлов в /var/www, при условии, что у пользователя apache2 ( www-data) есть разрешение на доступ к контенту.

Если вам нужно сделать что-то еще, вам может потребоваться изменить владельцев. Например, если вам нужно загрузить файлы из CMS (например, WordPress, Joomla и т. д.), вам нужно будет изменить владельца каталога загрузки на www-data(или, по крайней мере, предоставить этому пользователю права на запись)

Лично у меня есть каталоги, /var/wwwпринадлежащие rootпользователю с модом 1777(то же самое, что и /tmp) и веб-сайтам (например: /var/www/site1), принадлежащим www-data.

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

Связанный контент