Назад | Перейти на главную страницу

Настройки разрешений для каталогов веб-содержимого apache2 с несколькими пользователями?

У меня есть Debian VPS с LAMP-стеком. Мой экземпляр apache2 работает с учетной записью пользователя www-data.

В дополнение к учетной записи root и учетным записям службы у меня есть несколько учетных записей, принадлежащих друзьям, семье и мне, которые включают FTP-доступ. Это позволяет пользователям перетаскивать файлы в корень своего домена, который находится в их домашней папке.

У меня возникли проблемы с установкой правильных разрешений, чтобы Apache мог обслуживать контент («403 запрещено»). Я мог бы просто выполнить команду «chmod -R 755 *» для всего www-каталога для каждого домена, но, насколько я понимаю, это не очень хорошая идея.

Вот пример структуры:
apache2 запускается www-data
У пользователя john такая структура домашней папки
/home/john/domains/somedomain.com/www
/home/john/domains/sub.somedomain.com/www

Как я могу сохранить безопасность, позволяя пользователям загружать контент через FTP, и разрешить загрузку файлов, скажем, в Wordpress?

Для опубликованного контента типичные разрешения:

  • 755 для каталогов и CGI
  • 644 для статического контента

Теперь, если вы выполняете загрузку файлов с помощью Wordpress, вам потребуется, чтобы каталог загрузки принадлежал группе с www-data и разрешениями 775. Возможно, вам потребуется установить бит SGID.

В зависимости от того, для чего предназначена загрузка, можно посоветовать держаться подальше от веб-дерева в целях безопасности, так как это может быть точкой проникновения.

Ситуация усложняется, если вы хотите, чтобы несколько пользователей управляли одним и тем же контентом или имели многопользовательскую среду хостинга.