Linux系統(tǒng)中chmod命令的用法詳解
Linux系統(tǒng)中chmod命令修改方式位和指定文件的擴展訪問控制表。下面由學習啦小編為大家整理了Linux系統(tǒng)中chmod命令的用法詳解的相關知識,希望對大家有幫助!
Linux系統(tǒng)中chmod命令的用法詳解
用途
更改文件方式。
語法
要用符號更改文件方式
chmod [ -R ] [ -h ] [ -f ] [ [ u ] [ g ] [ o ] | [ a ] ] { { - | + | = } [ r ] [ w ] [ x ] [ X ] [ s ] [ t ] } { File ... | Directory ... }
要用數(shù)字更改文件方式
chmod [ -R ] [ -h ] [ -f ] PermissionCode { File ... | Directory ... }
描述
chmod 命令修改方式位和指定文件或目錄的擴展訪問控制表(ACL )??梢杂梅柣蛴脭?shù)字定義方式(完全方式)。
當遇到符號鏈接而您未指定 -h 標志時,chmod 命令更改通過鏈接指向的文件或目錄的方式,而非鏈接本身的方式。如果指定 -h 標志,則 chmod 命令防止此方式更改。
如果指定 -h 標志和 -R 標志,chmod 命令遞歸地降序指定的目錄,并且在遇到符號鏈接時,不更改鏈接指向的文件或目錄的方式。
標志
-f 禁止所有錯誤報告(除了無效權(quán)限和用法語句)。
-h 禁止遇到的符號鏈接指向的文件或目錄的方式更改。
注:由于不能在符號鏈接上設置方式位,所以此行為與 chgrp 和 chown 命令上的 -h 標志的行為略有不同。
-R 只遞歸地降序目錄,如同模式 File...|Directory... 指定。-R 標志更改匹配指定模式的每個目錄和所有文件的文件方式位。
當遇到符號鏈接并且鏈接指向目錄時,更改該目錄的文件方式位,但不進一步遍歷目錄
Linux系統(tǒng)中的chmod命令的詳解實例
1. 要將許可權(quán)類型添加到幾個文件:
chmod g+w chap1 chap2
這將組成員的寫權(quán)限添加到文件 chap1 和 chap2 。
2. 要立即進行幾個許可權(quán)更改:
chmod go-w+x mydir
這拒絕組成員和其他人創(chuàng)建或刪除 mydir (go-w )中的文件的許可權(quán),并允許組成員和其他人搜索 mydir 或在路徑名(go+x )中使用它。這等價于命令序列:
chmod g-w mydir
chmod o-w mydir
chmod g+x mydir
chmod o+x mydir
3. 要只允許所有者將 shell 步驟用作命令:
chmod u=rwx,go= cmd
這授權(quán)文件(u=rwx )所有者讀、寫和執(zhí)行許可權(quán)。它還拒絕組和其他人以任何方式(go= )訪問 cmd 的許可權(quán)。
如果具有執(zhí)行 cmd shell 命令文件的許可權(quán),則可以通過輸入以下命令運行它:
cmd
注:取決于 PATH shell 變量,可能需要指定 cmd 文件的全路徑。
4. 要使用設置標識(Set-ID )方式:
chmod ug+s cmd
在執(zhí)行 cmd 命令時,有效的用戶標識和組標識設置為那些擁有 cmd 文件的所有者。只更改與運行 cmd 命令的子進程關聯(lián)的有效標識。 shell 會話的有效標識保留不更改。
此功能允許您可以訪問受限制的文件。假定 cmd 程序啟用了“設置用戶標識(Set-User-ID )方式”并為名為 dbms 的用戶所擁有。實際上,用戶 dbms 不是一個人,但可能與數(shù)據(jù)庫管理系統(tǒng)關聯(lián)。用戶 betty 不具有訪問任何 dbms 的數(shù)據(jù)文件的許可權(quán)。然而,她具有執(zhí)行 cmd 命令的許可權(quán)。當她這樣做時,她的有效用戶標識臨時更改為 dbms ,因此 cmd 程序可以訪問用戶 dbms 擁有的數(shù)據(jù)文件。
這種方式下,用戶 betty 可以使用 cmd 命令訪問數(shù)據(jù)文件,但她不會在使用標準 shell 命令的過程中意外地破壞它們。
5. 要使用 chmod 命令的完全方式格式:
chmod 644 text
這設置所有者的讀和寫許可權(quán),并且它對組和其他用戶設置只讀方式。這還除去可能與文件關聯(lián)的所有擴展 ACL 。
6. 要遞歸地降序目錄并更改給予樹結(jié)構(gòu)的文件和目錄許可權(quán):
./dir1/dir2/file1
./dir1/dir2/file2
./dir1/file1
請輸入此命令序列:
chmod -R 777 f*
這將更改 ./dir1/file1 的許可權(quán)。
但對于以下樹結(jié)構(gòu):
./dir1/fdir2/file1
./dir1/fdir2/file2
./dir1/file3
命令序列:
chmod -R 777 f*
將更改以下內(nèi)容的許可權(quán):
./dir1/fdir2
./dir1/fdir2/file1
./dir1/fdir2/file2
./dir1/file3
補充:Linux系統(tǒng)中chown命令詳解
指令名稱 : chown
使用權(quán)限 : root
使用方式 : chmod [-cfhvR] [--help] [--version] user[:group] file...
說 明 : linux/Unix 是多人多工作業(yè)系統(tǒng),所有的檔案皆有擁有者。利用 chown 可以將檔案的擁有者加以改變。一般來說,這個指令只有是由系統(tǒng)管理者(root)所使用,一般使用者沒有權(quán)限可以改變別人的檔案擁有者,也沒有權(quán)限可以自 己的檔案擁有者改設為別人。只有系統(tǒng)管理者(root)才有這樣的權(quán)限。
user : 新的檔案擁有者的使用者 IDgroup : 新的檔案擁有者的使用者群體(group)-c : 若該檔案擁有者確實已經(jīng)更改,才顯示其更改動作-f : 若該檔案擁有者無法被更改也不要顯示錯誤訊息-h : 只對于連結(jié)(link)進行變更,而非該 link 真正指向的檔案-v : 顯示擁有者變更的詳細資料-R : 對目前目錄下的所有檔案與子目錄進行相同的擁有者變更(即以遞回的方式逐個變更)--help : 顯示輔助說明--version : 顯示版本
范例 :將檔案 file1.txt 的擁有者設為 users 群體的使用者 jessie :
chown jessie:users file1.txt
將目前目錄下的所有檔案與子目錄的擁有者皆設為 users 群體的使用者 lamport :
chmod -R lamport:users *
-rw------- (600) -- 只有屬主有讀寫權(quán)限。
-rw-r--r-- (644) -- 只有屬主有讀寫權(quán)限;而屬組用戶和其他用戶只有讀權(quán)限。
-rwx------ (700) -- 只有屬主有讀、寫、執(zhí)行權(quán)限。
-rwxr-xr-x (755) -- 屬主有讀、寫、執(zhí)行權(quán)限;而屬組用戶和其他用戶只有讀、執(zhí)行權(quán)限。
-rwx--x--x (711) -- 屬主有讀、寫、執(zhí)行權(quán)限;而屬組用戶和其他用戶只有執(zhí)行權(quán)限。
-rw-rw-rw- (666) -- 所有用戶都有文件讀、寫權(quán)限。這種做法不可取。
-rwxrwxrwx (777) -- 所有用戶都有讀、寫、執(zhí)行權(quán)限。更不可取的做法。
以下是對目錄的兩個普通設定:
drwx------ (700) - 只有屬主可在目錄中讀、寫。
drwxr-xr-x (755) - 所有用戶可讀該目錄,但只有屬主才能改變目錄中的內(nèi)容
suid的代表數(shù)字是4,比如4755的結(jié)果是-rwsr-xr-x
sgid的代表數(shù)字是2,比如6755的結(jié)果是-rwsr-sr-x
sticky位代表數(shù)字是1,比如7755的結(jié)果是-rwsr-sr-t