chmod - 改變文件的訪問權限

CHMOD(1)                                                              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這樣有基本寫權限的目錄)

      使用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/manda-

      tory.txt


注意

      此 頁描述的chmod基於fileutils-4.0 package;其他版本可能會有細微的差別.請

      將修正和增加發 送 到[email protected].    程 序 中 的 錯 誤 報 告 到fileutils-

      [email protected].


[中文版維護人]

      王炎 <[email protected]>


[中文版最新更新]

      2000/10/19


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