Linux chmod命令詳解

只能文件屬主或特權用戶才能使用該功能來改變文件存取模式。mode可以是數字形式或以who opcode permission形式表示。who是可選的,默認是a(所有用戶)。只能選擇一個opcode(操作碼)。可指定多個mode,以逗號分開。

options:

-c,--changes
只輸出被改變文件的信息

-f,--silent,--quiet
當chmod不能改變文件模式時,不通知文件的用戶

--help
輸出幫助信息。

-R,--recursive
可遞歸遍歷子目錄,把修改應到目錄下所有文件和子目錄

--reference=filename
參照filename的權限來設置權限

-v,--verbose
無論修改是否成功,輸出每個文件的信息

--version
輸出版本信息。

who

u
用戶

g

o
其它

a
所有用戶(默認)

opcode

+
增加權限

-
刪除權限

=
重新分配權限

permission

r

w

x
執行

s
設置用戶(或組)的ID號

t
設置粘着位(sticky bit),防止文件或目錄被非屬主刪除

u
用戶的當前權限

g
組的當前權限

o
其他用戶的當前權限

作爲選擇,我們多數用三位八進制數字的形式來表示權限,第一位指定屬主的權限,第二位指定組權限,第三位指定其他用戶的權限,每位通過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,給屬主分配讀、寫和執行權限,給組和其他用戶分配讀、執行的權限。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章