Linux命令
命令描述
變更文件或目錄的權限。在UNIX系統家族裡,文件或目錄權限的控制分别以讀取,寫入,執行3種一般權限來區分,另有3種特殊權限可供運用,再搭配擁有者與所屬群組管理權限範圍。您可以使用chmod指令去變更文件與目錄的權限,設置方式采用文字或數字代号皆可。符号連接的權限無法變更,如果您對符号連接修改權限,其改變會作用在被連接的原始文件。權限範圍的表示法如下:
u:User,即文件或目錄的擁有者。
例子:u+x為user獲得執行權限
g:Group,即文件或目錄的所屬群組。
o:Other,除了文件或目錄擁有者或所屬群組之外,其他用戶皆屬于這個範圍。
a:All,即全部的用戶,包含擁有者,所屬群組以及其他用戶。
有關權限代号的部分,列表于下:
r:讀取權限,數字代号為"4"。
w:寫入權限,數字代号為"2"。
x:執行或切換權限,數字代号為"1"。
-:不具任何權限,數字代号為"0"。
s:當文件被執行時,根據who參數指定的用戶類型設置文件的setuid或者setgid權限。
語法
chmod[-cfRv][--help][--version][<權限範圍>+/-/=<權限設置...>][文件或目錄...]
chmod[-cfRv][--help][--version][數字代号][文件或目錄...]
chmod[-cfRv][--help][--reference=<參考文件或目錄>][--version][文件或目錄...]
選項說明
-c或--changes效果類似"-v"參數,但僅回報更改的部分。
-f或--quiet或--silent不顯示錯誤信息。
-R或--recursive遞歸處理,将指定目錄下的所有文件及子目錄一并處理。
-v或--verbose顯示指令執行過程。
--help在線幫助。
--reference=<參考文件或目錄>把指定文件或目錄的權限全部設成和參考文件或目錄的權限相同
--version顯示版本信息。
<權限範圍>+<權限設置>開啟權限範圍的文件或目錄的該項權限設置。
<權限範圍>-<權限設置>關閉權限範圍的文件或目錄的該項權限設置。
<權限範圍>=<權限設置>指定權限範圍的文件或目錄的該項權限設置。
範例
範例一:将檔案file1.txt設為所有人皆可讀取:
chmodugo+rfile1.txt
将檔案file1.txt設為所有人皆可讀取:
chmoda+rfile1.txt
将檔案file1.txt與file2.txt設為該檔案擁有者,與其所屬同一個群體者可寫入,但其他以外的人則不可寫入:
chmodug+w,o-wfile1.txtfile2.txt
将ex1.設定為隻有該檔案擁有者可以執行:
chmodu+xex1
将目前目錄下的所有檔案與子目錄皆設為任何人可讀取:
chmod-Ra+r*
當其他用戶執行oracle的sqlplus這個程序時,他的身份因這個程序暫時變成oracle
chmodu+ssqlplus
此外,chmod也可以用數字來表示權限如chmod777file
語法為:chmodabcfile
其中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。
範例二:
chmoda=rwxfile
和
chmod777file
效果相同
chmodug=rwx,o=xfile
和
chmod771file
效果相同
若用chmod4755filename可使此程式具有root的權限
範例三:
如果在cd/media/amasun/java/develop/array之後執行
chmod777./
是将本目錄(即/media/amasun/java/develop/array)設為任何人可讀,寫,執行
如果是管理員也就是常說的ROOT用戶的話,基本上有可以查看所有文件的權力.
範例四:
chmodu+xfilename
這裡chmod改變的的是“filename”的mode,u代表的是user,+代表的是添加,x代表的是可執行



















