у меня есть смотрел в множественный вопросы около этот выпуск и очень немногие решено.
В основном я хочу разрешить обе мой пользователь и apache (www-data) для изменения файла без использования chmod 777
разрешения.
Я добавил своего пользователя в www-data
группа и www-data
пользователя в мою группу пользователей. С помощью id
и group
на моем пользователе и www-data
пользователь показывает, что оба находятся в группе друг друга.
Рассматриваемый файл находится в /home/myuser/workspace/project/logs/log.txt
и его разрешения 644
- myuser:www-data
с папкой, в которой он находится, как 755
- myuser:www-data
Это позволяет моему приложению записывать в файл (под моим пользователем), но apache не может получить доступ к файлу. Когда я меняю права доступа пользователей myuser:www-data
-> www-data:myuser
тогда apache может получить доступ к файлу, но мое приложение не может записать в файл.
Я понятия не имею, что я упускаю из виду.
Хорошо, теперь ответ очевиден, когда я еще немного изучил разрешения. Большая часть документации рекомендует устанавливать папки в 755
и файлы 644
.
Первое число - это доступ пользователя, а второе - пользователь. Чтобы разрешить и пользователь, и группа для записи в файл разрешения должны быть 664
Итак, для всех файлов и папок в определенном (ограниченном) каталоге sudo chmod -R u+rw,g+rw
Ты можешь использовать suEXEC для запуска приложения с uid / gid пользователя.