Терпите меня, я все еще плохо знаком с Linux. У меня есть веб-сервер, который пытается получить доступ к общедоступной папке в соответствии с пользовательской учетной записью.
Я выполняю nginx сервер, который пытается получить доступ к странице обслуживания в, приложения совместно использовали общедоступную папку и получают отклоненные ошибки разрешения.
quotr
и основная группа: app
ubuntu
и основная группа: www-data
/home/quotr/app
/home/quotr/app/shared
/home/quotr/app/shared/public/system/maintenance.html
Я первоначально только добавил www-data
группа к app
группа, надеющаяся устранить проблему. Когда это не работало, я также добавил группу, идущую другим путем.
www-data:x:33:apache,quotr
ubuntu:x:1000:
app:x:1001:quotr,ubuntu,www-data
Владение для целого дерева приложения принадлежит quotr:app
. Когда я начал получать проблемы разрешения, я изменил владение вперед public/system/maintenance.html
часть пути к странице обслуживания (/home/quotr/app/shared/public/system/maintenance.html
) к quotr:www-data
.
Запуск в /var/www/quotr-public
и прокладывание себе путь вниз:
# ls -la
drwxr-xr-x 4 quotr www-data 4096 Mar 3 21:49 .
drwxr-xr-x 5 quotr www-data 4096 Mar 3 21:49 ..
drwxr-xr-x 5 quotr www-data 4096 Mar 4 16:00 assets
drwxr-xr-x 3 quotr www-data 4096 Mar 4 19:03 system
# cd to system ls -la
drwxr-xr-x 3 quotr www-data 4096 Mar 4 19:03 .
drwxr-xr-x 4 quotr www-data 4096 Mar 3 21:49 ..
-rwxr-x--- 1 quotr www-data 3004 Mar 4 19:03 maintenance.html
drwxr-xr-x 3 quotr www-data 4096 Mar 3 21:51 pictures
Я тестирую полномочия с помощью следующей команды:
sudo -u www-data stat /home/quotr/app/shared/public/
который приводит к отклоненному разрешению.
Как последняя попытка, я создал следующую символьную ссылку:
quotr-public -> /home/quotr/app/shared/public/
Который я могу выполнить следующее успешно, но не глубже:
sudo -u www-data stat /var/www/quotr-public
Я в полной растерянности того, что проблема в этой точке. Любое руководство значительно ценилось бы.
Я продолжил пукать вокруг с полномочиями, таким образом, они могли бы быть небольшим различием, но см. ниже вывод, который требуют. Вывод 'namei-lx /home/quotr/app/shared/public/system/maintenance.html'
Drwxr-xr-x root root /
drwxr-xr-x root root home
drwx------ quotr app quotr
drwxr-xr-x quotr app app
drwxr-xr-x quotr www-data shared
drwxr-xr-x quotr www-data public
drwxr-xr-x quotr www-data system
-rw-r--r-- quotr app maintenance.html
Вывод 'namei-lx /var/www/quotr-public/system/maintenance.html'
Drwxr-xr-x root root /
drwxr-xr-x root root var
drwxrwsr-x root www-data www
lrwxrwxrwx ubuntu www-data quotr-public -> /home/quotr/app/shared/public/
Drwxr-xr-x root root /
drwxr-xr-x root root home
drwx------ quotr app quotr
drwxr-xr-x quotr app app
drwxr-xr-x quotr www-data shared
drwxr-xr-x quotr www-data public
drwxr-xr-x quotr www-data system
-rw-r--r-- quotr app maintenance.html
Спасибо.
Я думаю, что у Вас почти был он там со справкой от muru. Все папки в дереве действительно должны быть исполняемым файлом www-данными. Так как quotr папка принадлежит группе приложений, и www-данные находятся в группе приложений, было бы лучше дать должностному лицу группе вместо других:
chmod g+x quotr
Как предложение стороны... Я создал несколько веб-сайтов с nginx как www-данные. То, что работало хорошо на меня, должно позволить www-данным владеть всем как пользователем и группой. Затем я добавляю своего пользователя & кому бы ни еще нужен доступ к группе www-данных.