Linux
即使權限正確也無法讀取文件
我有一個具有 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