Linux

即使權限正確也無法讀取文件

  • October 23, 2016

我有一個具有 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

您需要將文件放在其他目錄中,而不是/root. 此類文件僅供系統管理員訪問,不允許任何其他使用者進入那裡是一個非常糟糕的主意。

從目錄列表中可以清楚地看到,權限/root僅允許 root 讀取和寫入該目錄。所有其他人根本沒有權限。這就是使用者韻律無法遍歷該目錄的原因。

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

只需授予韻律權限進入目錄,執行權限

chmod 701 /root

引用自:https://serverfault.com/questions/810774