為什麼我在Ubuntu下設置文件許可權為600,然後自己也看不了了?

比如我當前用用戶a登陸,用用戶a在Documents下創建了一些文件,並且看了屬性,確認這些文件是屬於我的,然後進入Documents的上一級,sudo chmod 600 Documents -R,然後發現那裡面所有文件我都看不了了,明明是我擁有的文件啊。為什麼會這樣?


目錄必須有x許可權才能訪問,600意味著所有目錄沒有x許可權,導致無法訪問。

要想實現你想要的,700才行。但700會導致普通文件被賦予x許可權,這可能帶來意外的安全隱患。

Linux裡面目錄需要x許可權,文件需要無x許可權,這點可能一定程度造成不方便的,記住就好了。


有個更簡單的命令 sudo chmod +X Documents -R

注意 X 是大寫的,意味著它只會給目錄加 x 許可權,而不會改文件許可權。


其他回答說的很好,文件夾需要x許可權才能進行訪問。如果要批量操作的話,可以試試這些命令:

find Document -type d | xargs sudo chmod 700

find Document -type f | xargs sudo chmod 600

不過文件許可權一般是644,文件夾許可權一般用755


補充一下,Linux 下文件夾的許可權和文件的許可權是不同的概念,正好查查書看看吧。還有,建議執行任何遞歸操作的時候最好過一下腦子……╮(╯_╰)╭


如果想訪問目錄,只有r許可權是不夠的,還必須有x許可權。 切記!

我記得在鳥哥關於文件許可權的章節中,特意提到過這個細節……


推薦閱讀:

Sublime Text 2 如何在 Ubuntu+iBus 下輸入中文?
想配置一台Linux台式機,求攻略?
如何在Ubuntu下配置Android開發環境?
為什麼同樣是網速不好的條件下,同樣用Chrome,Ubuntu載入網頁的速度要比Windows快?
Ubuntu 下如何安裝 QQ International?

TAG:Linux | Ubuntu | 許可權 |