1. 程式人生 > >關於Linux的許可權問題?為什麼有數字表示?

關於Linux的許可權問題?為什麼有數字表示?


舉例說明

444 r--r--r--

600 rw-------
644 rw-r--r--
666 rw-rw-rw-
700 rwx------
744 rwxr--r--
755 rwxr-xr-x
777 rwxrwxrwx
從左至右,1-3位數字代表檔案所有者的許可權,4-6位數字代表同組使用者的許可權,7-9數字代表其他使用者的許可權。
而具體的許可權是由數字來表示的,讀取的許可權等於4,用r表示;寫入的許可權等於2,用w表示;執行的許可權等於1,用x表示;
通過4、2、1的組合,得到以下幾種許可權:0(沒有許可權);4(讀取許可權);5(4+1 | 讀取+執行);6(4+2 | 讀取+寫入);7(4+2+1 | 讀取+寫入+執行)

以755為例:
1-3位7等於4+2+1,rwx,所有者具有讀取、寫入、執行許可權;
4-6位5等於4+1+0,r-x,同組使用者具有讀取、執行許可權但沒有寫入許可權;
7-9位5,同上,也是r-x,其他使用者具有讀取、執行許可權但沒有寫入許可權。

rwx許可權數字解釋 
chmod也可以用數字來表示許可權如 chmod 777 file
語法為:chmod abc file
其中a,b,c各為一個數字,分別表示User、Group、及Other的許可權。
r=4,w=2,x=1
若要rwx屬性則4+2+1=7;
若要rw-屬性則4+2=6;
若要r-x屬性則4+1=7。
範例:
chmod a=rwx file 

chmod 777 file 
效果相同
chmod ug=rwx,o=x file 

chmod 771 file 
效果相同
若用chmod 4755 filename可使此程式具有root的許可權