用來變更文件或目錄的權(quán)限
chmod [OPTION]... MODE[,MODE]... FILE...
chmod [OPTION]... OCTAL-MODE FILE...
chmod [OPTION]... --reference=RFILE FILE...
mode:八進(jìn)制數(shù)或符號(hào)組合。
file:指定要更改權(quán)限的一到多個(gè)文件。
-c, --changes:當(dāng)文件的權(quán)限更改時(shí)輸出操作信息。
--no-preserve-root:不將'/'特殊化處理,默認(rèn)選項(xiàng)。
--preserve-root:不能在根目錄下遞歸操作。
-f, --silent, --quiet:抑制多數(shù)錯(cuò)誤消息的輸出。
-v, --verbose:無論文件是否更改了權(quán)限,一律輸出操作信息。
--reference=RFILE:使用參考文件或參考目錄RFILE的權(quán)限來設(shè)置目標(biāo)文件或目錄的權(quán)限。
-R, --recursive:對(duì)目錄以及目錄下的文件遞歸執(zhí)行更改權(quán)限操作。
--help:顯示幫助信息并退出。
--version:顯示版本信息并退出。
返回狀態(tài)為成功除非給出了非法選項(xiàng)或非法參數(shù)。
參考
man chmod
文檔的DESCRIPTION
段落得知:
u
符號(hào)代表當(dāng)前用戶。g
符號(hào)代表和當(dāng)前用戶在同一個(gè)組的用戶,以下簡(jiǎn)稱組用戶。o
符號(hào)代表其他用戶。a
符號(hào)代表所有用戶。r
符號(hào)代表讀權(quán)限以及八進(jìn)制數(shù)4
。w
符號(hào)代表寫權(quán)限以及八進(jìn)制數(shù)2
。x
符號(hào)代表執(zhí)行權(quán)限以及八進(jìn)制數(shù)1
。X
符號(hào)代表如果目標(biāo)文件是可執(zhí)行文件或目錄,可給其設(shè)置可執(zhí)行權(quán)限。s
符號(hào)代表設(shè)置權(quán)限suid和sgid,使用權(quán)限組合u+s
設(shè)定文件的用戶的ID位,g+s
設(shè)置組用戶ID位。t
符號(hào)代表只有目錄或文件的所有者才可以刪除目錄下的文件。+
符號(hào)代表添加目標(biāo)用戶相應(yīng)的權(quán)限。-
符號(hào)代表刪除目標(biāo)用戶相應(yīng)的權(quán)限。=
符號(hào)代表添加目標(biāo)用戶相應(yīng)的權(quán)限,刪除未提到的權(quán)限。
linux文件的用戶權(quán)限說明:
# 查看當(dāng)前目錄(包含隱藏文件)的長(zhǎng)格式。
ls -la
-rw-r--r-- 1 user staff 651 Oct 12 12:53 .gitmodules
# 第1位如果是d則代表目錄,是-則代表普通文件。
# 更多詳情請(qǐng)參閱info coreutils 'ls invocation'(ls命令的info文檔)的'-l'選項(xiàng)部分。
# 第2到4位代表當(dāng)前用戶的權(quán)限。
# 第5到7位代表組用戶的權(quán)限。
# 第8到10位代表其他用戶的權(quán)限。
# 添加組用戶的寫權(quán)限。
chmod g+w ./test.log
# 刪除其他用戶的所有權(quán)限。
chmod o= ./test.log
# 使得所有用戶都沒有寫權(quán)限。
chmod a-w ./test.log
# 當(dāng)前用戶具有所有權(quán)限,組用戶有讀寫權(quán)限,其他用戶只有讀權(quán)限。
chmod u=rwx, g=rw, o=r ./test.log
# 等價(jià)的八進(jìn)制數(shù)表示:
chmod 754 ./test.log
# 將目錄以及目錄下的文件都設(shè)置為所有用戶擁有讀寫權(quán)限。
# 注意,使用'-R'選項(xiàng)一定要保留當(dāng)前用戶的執(zhí)行和讀取權(quán)限,否則會(huì)報(bào)錯(cuò)!
chmod -R a=rw ./testdir/
# 根據(jù)其他文件的權(quán)限設(shè)置文件權(quán)限。
chmod --reference=./1.log ./test.log
該命令是GNU coreutils
包中的命令,相關(guān)的幫助信息請(qǐng)查看man chmod
或info coreutils 'chmod invocation'
。
符號(hào)連接的權(quán)限無法變更,如果用戶對(duì)符號(hào)連接修改權(quán)限,其改變會(huì)作用在被連接的原始文件。
使用-R
選項(xiàng)一定要保留當(dāng)前用戶的執(zhí)行和讀取權(quán)限,否則會(huì)報(bào)錯(cuò)!