У меня есть 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?
Для опубликованного контента типичные разрешения:
Теперь, если вы выполняете загрузку файлов с помощью Wordpress, вам потребуется, чтобы каталог загрузки принадлежал группе с www-data и разрешениями 775. Возможно, вам потребуется установить бит SGID.
В зависимости от того, для чего предназначена загрузка, можно посоветовать держаться подальше от веб-дерева в целях безопасности, так как это может быть точкой проникновения.
Ситуация усложняется, если вы хотите, чтобы несколько пользователей управляли одним и тем же контентом или имели многопользовательскую среду хостинга.