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

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

我有一个对 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)

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

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

答案1

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

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

drwx------ 7 root root     4.0K Oct 23 17:20 ..

答案2

只需授予 prosody 进入目录的权限和执行权限

chmod 701 /root

相关内容