文章目錄
一、Linux檔案許可權
每個Linux檔案具有四種存取權限:可讀(r)、可寫(w)、可執行(x)和無許可權(-)。
利用ls -l命令可以看到某個檔案或目錄的許可權,它以顯示資料的第一個欄位為準。第一個欄位由10個字元組成,如下:
-rwxr-xr-x
- 第一位表示檔案類型,-表示檔案,d表示目錄
- 2-4位: 表示檔案所有者的許可權,u許可權
- 5-7位: 表示檔案所有者所屬群組成員的許可權,g許可權
- 8-10位: 表示所有者所屬組之外的使用者的許可權,o許可權
- 2-10位: 的許可權總和有時稱為a許可權
以上例子中,表示這是一個檔案(非目錄),檔案所有者具有讀、寫和執行的許可權,所有者所屬群組成員和所屬組之外的使用者具有讀和執行的許可權而沒有寫的許可權。
二、檔案許可權修改----chmod
所謂數字標記法,是指將r、w和x分別用4、2、1來代表,沒有授予許可權的則為0,然後把許可權相加,如下:
原始許可權 |
轉換為數字 |
數字標記法 |
rwxrwxr-x |
(421)(421)(401) |
775 |
rwxr-xr-x |
(421)(401)(401) |
755 |
修改許可權的例子:將檔案test的許可權修改為所有者和群組成員具有讀寫的許可權,其他人只有讀許可權
chmod 664 test
文本標記法用4個字母表示不同的使用者:
-
- u:所有者
- g:群組成員
- o:其他成員
- a:所有人
許可權仍用r、w和x表示
和數字標記法不同,文本標記法不僅可以重新指定許可權,也可以在原來許可權的基礎上增加或減少許可權,如下:
-
- =:重新制定許可權
- -:對目前的設定減少許可權
- +:對目前的設定增加許可權
例子:講上述例子中,所有者加上執行許可權,群組成員減少執行許可權,其他成員設定為執行許可權,執行以下命令:chmod u+x,g-x,o=x test
注意:逗號前後不能有空格
三、目錄許可權
目錄許可權的修改和檔案許可權修改不同,只是四種許可權代表的含義如下:
- r:可列出目錄中的內容
- w:可在目錄中建立、刪除和修改檔案
- x:可以使用cd命令切換到此目錄
- -:沒有任何此目錄的存取權限
注意:目錄可以使用萬用字元"*"來表示目錄中的所有檔案,如將/test目錄中的所有檔案的使用權限設定為任何人都可以讀寫
chmod 666 /test/*
四、指定檔案的預設許可權掩碼-----umask
許可權掩碼有4個八進位的數字組成,講現有的許可權減掉許可權掩碼後,即可產生此檔案建立時的預設許可權。
一般來說,建立檔案的預設值是0666,建立目錄的預設值是0777,如果將全線掩碼設定為0002,則每個建立檔案的預設許可權為0666-0002=0664,而目錄的預設許可權則為775。可以直接輸入umask命令來檢查目前的預設許可權掩碼,或輸入"umask 許可權掩碼"來指定預設許可權掩碼。
用umask的方式指定預設許可權掩碼,可以避免添加存取權限過大的檔案或目錄。