Я создал пользователя на своем сервере специально для внешнего приложения. Я хочу, чтобы приложение смогло к ssh в учетную запись пользователя и CD в каталог. Однако это продолжает говорить разрешение, отклоненное, когда я пытаюсь сделать это. Я установил полномочия на папке к "Доступу", думая, что это добьется цели.
Вот снимок экрана полномочий папки:
Что дает?
Ваша родительская папка должна быть читаемой (в некотором смысле) также.
Например, у меня есть папка test
, с другой папкой, test2
в нем. Полномочия как таковы:
drwxrwx--- 3 kazwolfe kazwolfe 4096 Dec 30 13:18 test/
drwxrwxr-x 2 kazwolfe nogroup 4096 Dec 30 13:18 test/test2
Как Вы видите, nobody
пользователь (член nogroup
) имеет полномочия для test/test2
, но это не может cd
в него:
cd: test/test2: Permission denied
Почему? Проще говоря, потому что nobody
пользователь не имеет прав читать из test
. Поэтому они заблокированы от доступа к любым подкаталогам или субфайлам test
, даже если у них есть разрешение!
Для разрешения этого я должен удостовериться что выполнить бит (chmod a+x test
) на любой родительской папке установлен так, я могу пересечь необходимую папку (папки):
┌─[13:35:22]─[nobody@ArcticWolf]
└──> ~ $ cd test
┌─[13:35:24]─[nobody@ArcticWolf]
└──> test $ ll
ls: cannot open directory '.': Permission denied
┌─[✗]─[13:35:27]─[nobody@ArcticWolf]
└──> test $ cd test2
┌─[13:35:31]─[nobody@ArcticWolf]
└──> test2 $ touch hello
┌─[13:35:34]─[nobody@ArcticWolf]
└──> test2 $ ll
total 8
drwxrwxr-x 2 kazwolfe nogroup 4096 Dec 30 13:35 ./
drwxrwx--x 3 kazwolfe kazwolfe 4096 Dec 30 13:22 ../
-rw-r--r-- 1 nobody nogroup 0 Dec 30 13:35 hello
Обратите внимание, что установка выполнения обдумала папку, позволяет пользователю получать доступ к чему-либо в папке, что они имеют разрешение для и знают, существует. См. этот ответ на U&L для более всестороннего представления полномочий на папках.