У меня возникли проблемы с тем, какой пользователь должен владеть моим каталогом www - ftp или apache? При установке на пользователя ftp, пользователь может добавлять, удалять и легко изменять файлы, но действия файловой системы php генерируют ошибки отказа в разрешении (конечно, потому что они требуют, чтобы пользователь был apache). Однако, если каталог www настроен на apache, ftpuser не сможет выполнять некоторые действия, такие как изменение и удаление файлов. Кто-нибудь когда-нибудь сталкивался с подобной проблемой? Что исправить? Спасибо
Вот для чего нужны группы.
Вы можете добавить ftp
пользователь к apache
группа, и наоборот. Или, что еще лучше, вы можете добавить их в третью группу, которую вы создаете специально для этой цели.
например
# groupadd mygroup # useradd -G mygroup ftp # useradd -G mygroup apache # chown -R :mygroup /var/www # chmod -R g+rw /var/www
Эти команды делают следующее:
Вам просто нужно убедиться, что файлы, добавленные в будущем, принадлежат группе mygroup и имеют соответствующие разрешения для apache и ftp на их чтение / запись.
Большая часть вашего контента должна принадлежать другому пользователю, кроме apache. Предполагая, что вы используете FTP для обновления содержимого, вы можете установить, что все файлы принадлежат ftp: apache. Я бы предложил использовать SCP для SFTP вместо ftp. Файлы должны иметь разрешения 644 или 640 и разрешения для каталогов 755 или 750.
Для файлов и каталогов приложение должно написать, чтобы добавить групповой доступ на запись.
У меня была аналогичная проблема со встроенной php-страницей, которая копировала папку на сервере с другим именем. Я исправил это, отключив безопасный режим php.