Scroll to navigation

CHMOD(1) General Commands Manual CHMOD(1)

NAME

chmod - 改變檔案的訪問權限

總攬

chmod [options] mode file...

POSIX 選項:

[-R]
GNU 選項 (最短方式): [-cfvR] [--reference=rfile] [--help] [--version] [--]

描述

使用chmod命令改變指定檔案訪問權限有兩種方式:一種是用符號 標記所進行更改,另一種方式是採用8進制數指定新的訪問權限。 使用下面的語法格式來使用符號改變方式
 
`[ugoa...][[+-=][rwxXstugo...]...][,...]'.
在這種格式下,所帶參數是一個用逗號分隔的字符列表.每個符號方式的 改變命令以零或者字'ugoa'開始;'ugoa'控制哪些使用者對該檔案訪問權 限將被改變:檔案的所有者(u),與檔案所有者同組的使用者(g),其他組的 使用者(o),所有使用者(a).因此,a在這裏等同於ugo.如果沒有帶參數,則缺 省設置為a,運行效果相同,但是在umask中設置的位將不會受影響.
操作符'+'使得使用者選擇的權限被追加到每個指定檔案,(操作給 指定檔案添加所選權限);操作符'-'使得這些權限被撤消;'='使得 指定檔案只具有這些權限。
字符串'rwxXstugo' 給使用者選擇新的屬性:(r)讀權限、(w)寫權限、 (x)執行權(或對目錄的訪問權),(X)只有目標檔案對某些使用者是 可執行的或該目標檔案是目錄時才追加x屬性,(s)同時設定使用者 或組ID,(t)粘滯位(保存程式的文本到交換設備上),(u)目標檔案 屬主,(g)目標檔案屬主所在的組,(o)其他使用者。(因此,'chmod g-s file' 撤消sgid位,'chmod ug+s file'同時設置了suid和sgid位,'chmod o+s file' 則沒有進行任何設置)
POSIX並沒有粘滯位的描述。它最初是指在交換設備上保留程式文本。 現在,如果設置了目錄的粘滯位, 那麼只有檔案和目錄的所有者可以刪除該目錄下的檔案。 (一般使用於類似於/tmp這樣有基本寫權限的目錄)
數字模式是一到4個八進制數,每個數由位權為4,2,1的3位疊加而得. 被省略掉的數字預設設置為零. 第一位為4時為suid,2時為sgid,1時 為粘滯位,.第二位設置檔案所有者的權限:可讀(4),可寫(2),可執行(1); 第三位設置了檔案所在組其他使用者的權限,值如上;第四位設置了其 他組的使用者的權限,值同上.
由於chmod的系統調用不支持,chomd命令不能改變符號鏈接的權限. 由於符號鏈接的權限從不使用,所以這也不成問題.無論如何,由於 每個符號連接都可在命令行中列出,chmod改變了所指檔案的屬性. 相反,chmod在遞歸目錄遍歷時忽略所碰到的符號連接.

POSIX 選項

-R 改變目錄及目錄下的內容的訪問權限.

GNU 選項

-c, --changes
只有在檔案的權限確實改變時才進行詳細的說明
-f, --silent, --quiet
不輸出權限不能改變的檔案的錯誤訊息
-v, --verbose
詳細說明權限的變化
-R, --recursive
改變目錄及其所有子目錄的檔案的權限
--reference=rfile
(更新在fileutils 4.0上) 改變檔案的模式到rfile.

GNU 標準選項

--help
在標準輸出上輸出幫助信息並退出
--version
在標準輸出上輸出版本信息並退出
--
終端選項列表

環境變量

變量LANG, LC_ALL, LC_CTYPE ,LC_MESSAGES與一般情況相同.

遵循

POSIX 1003.2 只需要-R參數。使用其他選項可能無法移植。該標準沒有描述 `t'權限位。該標準沒有特別要求chmod命令是否必須通過拒絕或清除suid,sgid位 來保持一致性,也就是說,當所有的可執行位都被清除了以後, chomd 是否還完全保留`s'位.

非標準模式

在上面的內容中我們討論了't'位在目錄上的用法。不同的系統對這些 位的組合有特殊的定義。特別是Linux,繼System V之後(參考System V 接口描述(SVID)第三卷),給一個檔案設置 sgid 位但又不給它設置組執行權限, 那麼就標誌該檔案被強制鎖住.詳細內容,參照檔案 /usr/src/linux/Docu-mentation/mandatory.txt

注意

此頁描述的chmod基於fileutils-4.0 package;其他版本可能會有細微 的差別.請將修正和增加發送到aeb@cwi.nl. 程式中的錯誤報告到fileutils-bugs@gnu.ai.mit.edu.

[中文版維護人]

王炎 <wyd@263.net>

[中文版最新更新]

2000/10/19

《中國linux論壇man手冊頁翻譯計劃》:

http://cmpp.linuxforum.net
November 1998 GNU fileutils 4.0