即使权限正确也无法读取文件

Adn*_*dor 1 linux permissions bash file-permissions

我有一个具有 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
Run Code Online (Sandbox Code Playgroud)

我在 ssl-cert 组中有一个用户:

root@yellowstone:~/certs# id prosody 
uid=116(prosody) gid=124(prosody) groups=124(prosody),115(ssl-cert)
Run Code Online (Sandbox Code Playgroud)

但是,如果我尝试访问目录或其中的文件,则会收到“权限被拒绝”:

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
Run Code Online (Sandbox Code Playgroud)

我需要更改什么才能以用户身份访问文件prosody

Mic*_*ton 5

您需要将文件放在其他某个目录中,没有/root。此类文件仅供系统管理员访问,允许任何其他用户进入是一个非常糟糕的主意。

从目录列表中可以清楚地看到,权限/root仅允许 root 读取和写入该目录。所有其他人根本没有权限。这就是用户韵律无法遍历该目录的原因。

drwx------ 7 root root     4.0K Oct 23 17:20 ..
Run Code Online (Sandbox Code Playgroud)