功能說明:變更文件或目錄的權限。
語 法:chmod [-cfRv][--help][--version][<權限范圍>+/-/=<權限設置...>][文件或目錄...] 或 chmod [-cfRv][--help][--version][數字代號][文件或目錄...] 或 chmod [-cfRv][--help][--reference=<參考文件或目錄>][--version][文件或目錄...]
補充說明:在UNIX系統家族裡,文件或目錄權限的控制分別以讀取,寫入,執行3種一般權限來區分,另有3種特殊權限可供運用,再搭配擁有者與所屬群組管理權限范圍。您可以使用chmod指令去變更文件與目錄的權限,設置方式采用文字或數字代號皆可。符號連接的權限無法變更,如果您對符號連接修改權限,其改變會作用在被連接的原始文件。權限范圍的表示法如下:
u:User,即文件或目錄的擁有者。
g:Group,即文件或目錄的所屬群組。
o:Other,除了文件或目錄擁有者或所屬群組之外,其他用戶皆屬於這個范圍。
a:All,即全部的用戶,包含擁有者,所屬群組以及其他用戶。
有關權限代號的部分,列表於下(使用2進制進行計算,分別是111, 011, 001, 000):
r:讀取權限,數字代號為"4"。
w:寫入權限,數字代號為"2"。
x:執行或切換權限,數字代號為"1"。
-:不具任何權限,數字代號為"0"。
s:特殊?b>功能說明:變更文件或目錄的權限。
參 數:
-c或--changes 效果類似"-v"參數,但僅回報更改的部分。
-f或--quiet或--silent 不顯示錯誤信息。
-R或--recursive 遞歸處理,將指定目錄下的所有文件及子目錄一並處理。
-v或--verbose 顯示指令執行過程。
--help 在線幫助。
--reference=<參考文件或目錄> 把指定文件或目錄的權限全部設成和參考文件或目錄的權限相同
--version 顯示版本信息。
<權限范圍>+<權限設置> 開啟權限范圍的文件或目錄的該項權限設置。
<權限范圍>-<權限設置> 關閉權限范圍的文件或目錄的該項權限設置。
<權限范圍>=<權限設置> 指定權限范圍的文件或目錄的該項權限設置。
符號模式:
使用符號模式可以設置多個項目:who(用戶類型),operator(操作符)和permission(權限),每個項目的設置可以用逗號隔開。 命令chmod將修改who指定的用戶類型對文件的訪問權限,用戶類型由一個或者多個字母在who的位置來說明,如who的符號模式表所示:
operator的符號模式表:
permission的符號模式表:
范例一 :將檔案 file1.txt 設為所有人皆可讀取 :
chmod ugo+r file1.txt
將檔案 file1.txt 設為所有人皆可讀取 :
chmod a+r file1.txt
將檔案 file1.txt 與 file2.txt 設為該檔案擁有者,與其所屬同一個群體者可寫入,但其他以外的人則不可寫入 :
chmod ug+w,o-w file1.txt file2.txt
將 ex1.設定為只有該檔案擁有者可以執行 :
chmod u+x ex1
將目前目錄下的所有檔案與子目錄皆設為任何人可讀取 :
chmod -R a+r *
當其他用戶執行Oracle的sqlplus這個程序時,他的身份因這個程序暫時變成oracle
chmod u+s sqlplus
此外,chmod也可以用數字來表示權限如 chmod 777 file
語法為:chmod abc file
其中a,b,c各為一個數字,分別表示User、Group、及Other的權限。
r=4,w=2,x=1
若要rwx屬性則4+2+1=7;
若要rw-屬性則4+2=6;
若要r-x屬性則4+1=5。
范例二:
chmod a=rwx file
和
chmod 777 file
效果相同
chmod ug=rwx,o=x file
和
chmod 771 file
效果相同
若用chmod 4755 filename可使此程式具有root的權限
范例三:
如果在cd /media/amasun/java/develop/array之後執行
chmod 777 ./
是將本目錄(即/media/amasun/java/develop/array)設為任何人可讀,寫,執行
如果是管理員也就是常說的ROOT用戶的話,基本上有可以查看所有文件的權力.
范例四: