語法:
chmod [options] mode files
options:
-c,--changes
只輸出被改變文件的信息
-f,--silent,--quiet
當chmod不能改變文件模式時,不通知文件的用戶
--help
輸出幫助信息。
-R,--recursive
可遞歸遍歷子目錄,把修改應到目錄下所有文件和子目錄
--reference=filename
參照filename的權限來設置權限
-v,--verbose
無論修改是否成功,輸出每個文件的信息
--version
輸出版本信息
mode:
mode可以是數字形式或以who opcode permission形式表示。
who opcode permission形式
- who是可選的,默認是a(所有用戶)。
who
u:用戶
g:組
o:其它
a:所有用戶(默認) - 只能選擇一個opcode(操作碼)。
opcode
+:增加權限
-:刪除權限
=:重新分配權限
- 可指定多個mode,以逗號分開。
Permission
r 讀取權限,數字代號為“4”;
w 寫入權限,數字代號為“2”;
x 執行或切換權限,數字代號為“1”;
- 不具任何權限,數字代號為“0”;
s 特殊功能說明:變更文件或目錄的權限
數字形式
作為選擇,我們多數用三位八進制數字的形式來表示權限,第一位指定屬主的權限,第二位指定組權限,第三位指定其他用戶的權限,每位通過4(讀)、2(寫)、1(執行)三種數值的和來確定權限。如6(4+2)代表有讀寫權,7(4+2+1)有讀、寫和執行的權限。
還可設置第四位,它位於三位權限序列的前面,第四位數字取值是4,2,1,代表意思如下:
4:執行時設置用戶ID,用於授權給基於文件屬主的進程,而不是給創建此進程的用戶。
2:執行時設置用戶組ID,用於授權給基於文件所在組的進程,而不是基於創建此進程的用戶。
1:設置粘着位
命令實例
$ chmod u+x file 給file的屬主增加執行權限
$ chmod 751 file 給file的屬主分配讀、寫、執行(7)的權限,給file的所在組分配讀、執行(5)的權限,給其他用戶分配執行(1)的權限
$ chmod u=rwx,g=rx,o=x file 上例的另一種形式
$ chmod =r file 為所有用戶分配讀權限
$ chmod 444 file 同上例
$ chmod a-wx,a+r file 同上例
$ chmod -R u+r directory 遞歸地給directory目錄下所有文件和子目錄的屬主分配讀的權限
$ chmod 4755 設置用ID,給屬主分配讀、寫和執行權限,給組和其他用戶分配讀、執行的權限。