chmod
用來變更文件或目錄的權限
概要
1chmod [OPTION]... MODE[,MODE]... FILE...
2chmod [OPTION]... OCTAL-MODE FILE...
3chmod [OPTION]... --reference=RFILE FILE...
主要用途
- 通過符號組合的方式更改目標文件或目錄的權限。
- 通過八進制數的方式更改目標文件或目錄的權限。
- 通過參考文件的權限來更改目標文件或目錄的權限。
參數
mode:八進制數或符號組合。
file:指定要更改權限的一到多個文件。
選項
1-c, --changes:當文件的權限更改時輸出操作信息。
2--no-preserve-root:不將'/'特殊化處理,默認選項。
3--preserve-root:不能在根目錄下遞歸操作。
4-f, --silent, --quiet:抑制多數錯誤消息的輸出。
5-v, --verbose:無論文件是否更改了權限,一律輸出操作信息。
6--reference=RFILE:使用參考文件或參考目錄RFILE的權限來設置目標文件或目錄的權限。
7-R, --recursive:對目錄以及目錄下的文件遞歸執行更改權限操作。
8--help:顯示幫助信息並退出。
9--version:顯示版本信息並退出。
返回值
返回狀態爲成功除非給出了非法選項或非法參數。
例子
參考
man chmod
文檔的DESCRIPTION
段落得知:
u
符號代表當前用戶。g
符號代表和當前用戶在同一個組的用戶,以下簡稱組用戶。o
符號代表其他用戶。a
符號代表所有用戶。r
符號代表讀權限以及八進制數4
。w
符號代表寫權限以及八進制數2
。x
符號代表執行權限以及八進制數1
。X
符號代表如果目標文件是可執行文件或目錄,可給其設置可執行權限。s
符號代表設置權限suid和sgid,使用權限組合u+s
設定文件的用戶的ID位,g+s
設置組用戶ID位。t
符號代表只有目錄或文件的所有者纔可以刪除目錄下的文件。+
符號代表添加目標用戶相應的權限。-
符號代表刪除目標用戶相應的權限。=
符號代表添加目標用戶相應的權限,刪除未提到的權限。
1linux文件的用戶權限說明:
2
3# 查看當前目錄(包含隱藏文件)的長格式。
4ls -la
5 -rw-r--r-- 1 user staff 651 Oct 12 12:53 .gitmodules
6
7# 第1位如果是d則代表目錄,是-則代表普通文件。
8# 更多詳情請參閱info coreutils 'ls invocation'(ls命令的info文檔)的'-l'選項部分。
9# 第2到4位代表當前用戶的權限。
10# 第5到7位代表組用戶的權限。
11# 第8到10位代表其他用戶的權限。
1# 添加組用戶的寫權限。
2chmod g+w ./test.log
3# 刪除其他用戶的所有權限。
4chmod o= ./test.log
5# 使得所有用戶都沒有寫權限。
6chmod a-w ./test.log
7# 當前用戶具有所有權限,組用戶有讀寫權限,其他用戶只有讀權限。
8chmod u=rwx, g=rw, o=r ./test.log
9# 等價的八進制數表示:
10chmod 764 ./test.log
11# 將目錄以及目錄下的文件都設置爲所有用戶擁有讀寫權限。
12# 注意,使用'-R'選項一定要保留當前用戶的執行和讀取權限,否則會報錯!
13chmod -R a=rw ./testdir/
14# 根據其他文件的權限設置文件權限。
15chmod --reference=./1.log ./test.log
注意
-
該命令是
GNU coreutils
包中的命令,相關的幫助信息請查看man chmod
或info coreutils 'chmod invocation'
。 -
符號連接的權限無法變更,如果用戶對符號連接修改權限,其改變會作用在被連接的原始文件。
-
使用
-R
選項一定要保留當前用戶的執行和讀取權限,否則會報錯!
來源:https://github.com/jaywcjlove/linux-command
最後修改於: Wednesday, January 31, 2024
版權申明:
- 未標註來源的內容皆為原創,未經授權請勿轉載(因轉載後排版往往錯亂、內容不可控、無法持續更新等);
- 非營利為目的,演繹本博客任何內容,請以'原文出處'或者'參考鏈接'等方式給出本站相關網頁地址(方便讀者)。