Здесь существует много подобных вопросов, и я следовал нескольким ответам, чтобы попытаться решить эту проблему, но без удачи.
Я использую Ubuntu 14.04.5 LTS на экземпляре EC2 в AWS. Я использую WordPress в/var/www/html/folder. Я зарегистрирован как пользовательская человечность и на SSH и на SFTP.
Все файлы и папки в/var/www/html/folder были человечностью владельца группы, и я должен был изменить все те, которые к апачским пользовательским www-данным для WordPress.
Во-первых, я добавил пользователя человечности к www-данным:
sudo usermod -a -G www-data ubuntu
и я вышел и зашел, и таким образом с помощью
getent group
шоу www-data:x:33:ubuntu
Затем я изменил все файлы/папки в/var/www/html/folder от человечности по умолчанию до группы www-данных и владельца с
sudo chown -R www-data /var/www/html/folder/
sudo chgrp -R www-data /var/www/html/folder/
sudo chmod -R g+s /var/www/html/folder/
И позволил всему новому files/fodlers быть в www-данных с
sudo chmod 2750 /var/www/html/folder/
WordPress может теперь чтение-запись, таким образом, я могу добавить плагины и медиа от администратора WP. И я могу отредактировать файлы на SSH как человечность с помощью нано.
Проблема состоит в том, что я все еще не могу загрузить, удалить или отредактировать файлы/папки с SFTP как пользователь человечности.
Что я должен сделать?
Чтобы удалить или создать файлы в каталоге, Вы должны записать разрешение на каталоге, который Вы не имеете (chmod 2750 /var/www/html/folder/
, Вы находитесь в группе, но не владельце каталога).
sudo chmod 2770 /var/www/html/folder/
включит пользователям, которые принадлежат группе www-data
создать или удалить файлы.
Способность отредактировать существующие файлы в каталоге зависит от полномочий файла самом, но выполнить разрешение во всех родительских каталогах необходимо. Это объясняет, почему Вы смогли отредактировать некоторые файлы.
Уже существующие файлы в Вашем каталоге /var/www/html/folder/
мог бы все еще иметь неправильные полномочия, и можно отредактировать только файлы, которыми Вы владеете. Это указывает, что полномочия группы не являются suffcient, и можно хотеть работать
sudo chmod -R g+w /var/www/html/folder/
давать разрешение записи для всех пользователей, которые являются членом www-data
.
Но что происходит с недавно созданными файлами? Недавно созданные файлы будут идти с неправильным набором полномочий (вероятно, в зависимости от umask
- оцените или управляемый приложением, которое обходит umask
- значение и набор свои собственные полномочия. Один способ распространяться вокруг, который должен использовать ACL (Список управления доступом)
setfacl -m g:www-data:rwx /var/www/html/folder/
должно быть достаточным. Вот некоторые ссылки, как использовать ACL:
https://linuxconfig.org/how-to-manage-acls-on-linux
https://bencane.com/2012/05/27/acl-using-access-control-lists-on-linux/