一、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
1. 用數字表示法修改權限
所謂數字表示法,是指将r、w和x分别用4、2、1來代表,沒有授予權限的則為0,
然後把權限相加,如下
原始權限 | 轉換為數字 | 數字表示法 |
rwxrwxr-x | (421)(421)(401) | 775 |
rwxr-xr-x | (421)(401)(401) | 755 |
修改權限的例子:将檔案test的權限修改為所有者群組成員具有讀寫的權限,其他
人隻有讀權限
chmod 664 test
2. 用文本表示法修改權限
文本表示法用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的方式指定預設權限掩碼,可以避免添加通路權限過大的檔案或目錄。