У меня есть каталог с разрешениями на чтение для ssl-cert:
root@yellowstone:~/certs# ls -lah
total 28K
drwxr-x--- 2 root ssl-cert 4.0K Oct 23 16:58 .
drwx------ 7 root root 4.0K Oct 23 17:20 ..
-rw-r--r-- 1 root ssl-cert 2.0K Oct 23 16:58 certificate1.crt
-rw-r--r-- 1 root ssl-cert 2.0K Oct 23 16:58 certificate2.crt
-rw-r--r-- 1 root ssl-cert 2.0K Oct 23 16:58 certificate3.crt
-rw-r----- 1 root ssl-cert 3.2K Oct 23 16:58 privatekey.key
-rw-r--r-- 1 root ssl-cert 2.0K Oct 23 16:58 certificate4.crt
У меня есть пользователь в группе ssl-cert:
root@yellowstone:~/certs# id prosody
uid=116(prosody) gid=124(prosody) groups=124(prosody),115(ssl-cert)
Но если я попытаюсь получить доступ либо в каталоге, либо в файле в нем появляется сообщение «Permission denied»:
prosody@yellowstone:/$ cd /root/certs
bash: cd: /root/certs: Permission denied
prosody@yellowstone:/$ cat /root/certs/certificate4.crt
cat: /root/certs/certificate4.crt: Permission denied
prosody@yellowstone:/$ cat /root/certs/privatekey.key
cat: /root/certs/privatekey.key: Permission denied
Что мне нужно изменить, чтобы получить доступ к файлам как пользователь prosody
?
Вам необходимо установить файлы в каком-то другом каталоге, не в / root
. Такие файлы предназначены для доступа только системным администратором, и было бы очень плохой идеей разрешать доступ любому другому пользователю.
Как вы можете ясно видеть из списка ваших каталогов, разрешения на / root
разрешить только root для чтения и записи в этот каталог. Все остальные вообще не имеют разрешений. Вот почему пользователь prosody не может пройти по этому каталогу.
drwx ------ 7 root root 4.0K 23 октября 17:20 ..
Просто дайте просодии разрешение на вход в каталог, разрешение на выполнение
chmod 701 /root