檔案許可權比較簡單,但有幾點也需要特別注意:
r:讀許可權,指檔案的具體內容,比如說文字檔裡面寫了些什麼。這裡“讀”的內容不包括檔案的屬性,比如大小、修改日期、許可權等。因為那不屬於檔案內容。
看具體例子,以test.pl為例:
有檔案的讀許可權,但是無法查看其屬性:
沒有檔案的讀許可權,照樣可以查看其屬性:
由此可見,檔案屬性的查看並不是由檔案自身的使用權限設定決定的。具體由什麼決定,仔細看上面兩張圖的對比就可以看出來了,看不出來就看下文。
w:寫入權限,編輯,修改或者新增檔案的內容,
但是不含刪除該檔案。(由父目錄的w許可權決定)
x:執行許可權。但擁有了檔案的執行許可權並不意味著一定可以執行檔案,還得看是否擁有父目錄的x許可權
總之,對於檔案的r、w、x來說,主要都是針對“檔案的內容”,與檔案名稱的存在與否沒有關係。因為檔案記錄的是實際的資料(相對於目錄)。
目錄的許可權:
相對於檔案是記錄的實際資料,目錄主要記錄的內容是檔案名稱列表。
r(read contents in directory):讀取目錄結構列表。比如ls、find之類。可查看檔案名稱,檔案的屬性就不一定可以看了,還得得看目錄的x許可權。
w(modify contents of directory):修改目錄結構列表的許可權。包括:建立檔案、目錄,
刪除檔案、目錄(而且無視其許可權),重新命名檔案、目錄,移動檔案、目錄。
比如一個普通使用者擁有一個目錄的w許可權(同時也要擁有目錄的x許可權),即便是該目錄下有root的檔案,也可以照刪不誤:
x(access directory):意為使用者是否可以進入該目錄,以此目錄作為工作目錄。不具有某一目錄的x許可權,就無法切換到該目錄下,該目錄下的任何檔案也不能被查看、修改、執行、刪除。(最多隻能看到檔案名稱,前提是有父目錄的r許可權)。《鳥》書是這樣說的。但我自己做實驗時發現,只要沒有目錄的x許可權,除了可以看該目錄下的檔案名稱(僅檔案名稱而已),其他的所有操作就甭想了。不舉例了,有疑惑自己做實驗證實。