首先,文件權限的訪問者分爲三類:A:文件和文件目錄的所有者,B:文件和文件目錄的所有者所在組的用戶,C:其他用戶。
下面我們來看看文件訪問的基本權限:1.讀權限:Read對文件而言,具有讀取文件內容的權限;對於目錄來說,具有瀏覽該目錄信息的權限。2.寫權限:Write對於文件而言,具有修改文件內容的權限;對於目錄來說具有刪除移動目錄內文件的權限。3.執行權限:execute對文件而言,具有執行文件的權限;對於目錄來說,具有進入目錄的權限。
如圖所示,前十個字符就代表了在L4_class3目錄下file1和file2的文件訪問權限,其中第一個字符代表了文件類型,其中[-]代表是普通文件類型,剩下的九個字符三個爲一組,按順序分下來,一次對應了A,B,C三類訪問者的權限。上圖中,三位訪問者的權限都具有可讀可寫的權限,不能執行的權限用[-]表示。
文件的權限還有另一種表示方法——八進制數值表示方法,在具有該權限的訪問者位置上寫1,不具有該權限的訪問者位置上寫0。如上圖所示,三個訪問者擁有的權限可表示爲666。在這裏,默認創建普通文件爲666,創建目錄的初始權限爲777。一般情況下,此表示方法用來修改訪問者權限。下面將會提到。
文件訪問權限的相關設置方法
chmod設置文件的訪問權限,chmod命令權限的格式:
1:用戶標識符+/-/=權限字符。+表示向權限範圍增加權限代號所表示的權限,-表示向權限範圍取消權限代號所表示的權限,=表示向權限範圍賦予權限代號所表示的權限。用戶符號:u:擁有者,g:擁有者同組用戶,o:其他用戶,a:所有用戶。
2.三位八進制數字
eg:chmod 666 file1 chmod 777 file2
實例如下圖所示:
以上爲文件權限的一些基本操作和概念的講解。下面我們來討論Liunx環境下進入目錄,創建文件,顯示文件分別需要什麼權限。
1.創建一個目錄code,顯示初始權限爲777。
2.用chmod命令將code目錄默認權限777改成000,然後進入這個目錄。
發現用戶沒有訪問權限,無法進行訪問。
3.再將code的權限從000改成400,即擁有者只具有可讀權限。
還是無法進行訪問。
4.將code的權限從400改成200,即擁有者只具有可寫權限。
用戶沒有權限,無法進行訪問。
5.將code的權限從200改成600,即擁有者具有可讀可寫權限。
用戶沒有權限,無法進行訪問。
6.將code的權限改爲100,即擁有者只具有可執行權限。
可以看出,目錄擁有可執行權限是,即可進入。
在root用戶(超級用戶)下,將code目錄的權限設置爲000。
如上圖所示,可以發現在當前目錄下不可以修改當前目錄的權限。且無論該目錄的擁有者是誰,目錄不管有沒有讀,寫,可執行權限都可以進入該目錄。
綜上,在普通用戶下,若想進入一個目錄需要可執行權限;在超級用戶下,目錄不管具有什麼權限都可以進入。