Чтобы разрешить доступ для записи в Apache, мне нужно было chown www-data:www-data /var/www/mysite/uploads
в папку загрузки моего сайта. Это позволяет мне удалять файлы из папки через unlink()
в сценарии PHP.
К сожалению, это мешает работе другого сценария PHP, использующего функции FTP. Я думаю, это потому, что пользователь FTP mike
и теперь, когда каталог загрузок принадлежит www-data
, mike
не может получить к нему доступ.
я добавил mike
к группе www-data
, но это не решает проблему.
Может ли кто-нибудь посоветовать мне, как разрешить PHP FTP-функции работать в дополнение к удалению файлов с помощью PHP unlink()
функция?
Вот почему вам нужно разрешение на «запись» для удаления файлов. У вас есть несколько вариантов.
setfacl -m user:mike:rwx
setfacl -m group:<ftp_group>:rwx
Разрешения файловой системы должно быть достаточно, чтобы решить вашу проблему. Попробуйте что-нибудь вроде chmod o + rw ТОЛЬКО в каталоге загрузок. Команда chmod фактически говорит: «Дайте всем, кто не входит в группу www-data, права на чтение и запись».
Однако долгосрочным решением будет использование учетной записи службы для вашего сценария, который вызывает FTP, и связывание этой конкретной учетной записи службы с www-данными.