天天看點

Linux chmod指令詳解(轉)

chmod [options] mode files

隻能檔案屬主或特權使用者才能使用該功能來改變檔案存取模式。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,給屬主配置設定讀、寫和執行權限,給組和其他使用者配置設定讀、執行的權限
      

繼續閱讀