umask
顯示或設置創建文件的權限掩碼。
概要
1umask [-p] [-S] [mode]
主要用途
- 顯示當前的文件權限掩碼。
- 通過八進制數的方式設置創建文件的權限掩碼。
- 通過符號組合的方式設置創建文件的權限掩碼。
參數
mode(可選):八進制數或符號組合。
選項
1-p:當沒有參數時指定該選項,執行產生的輸出格式可複用爲輸入;
2-S:以符號組合的方式輸出創建文件的權限掩碼,不使用該選項時以八進制數的形式輸出。
返回值
返回狀態爲成功除非給出了非法選項或非法參數。
例子
以下的例子均假設文件權限掩碼爲0022。
1# 以八進制數的形式輸出創建文件的權限掩碼。
2umask -p
3# 執行結果:
4umask 0022
5# 以符號組合的方式輸出創建文件的權限掩碼。
6umask -S
7# 執行結果:
8u=rwx,g=rx,o=rx
參考
man chmod
文檔的DESCRIPTION
段落得知:
u
符號代表當前用戶。g
符號代表和當前用戶在同一個組的用戶,以下簡稱組用戶。o
符號代表其他用戶。a
符號代表所有用戶。r
符號代表讀權限以及八進制數4
。w
符號代表寫權限以及八進制數2
。x
符號代表執行權限以及八進制數1
。+
符號代表添加目標用戶相應的權限。-
符號代表刪除目標用戶相應的權限。=
符號代表添加目標用戶相應的權限,刪除未提到的權限。
那麼剛纔以符號形式輸出的結果u=rwx,g=rx,o=rx
轉化爲八進制數等於0755
;
用八進制數來設置同樣的權限,umask
需要額外的執行減法0777 - 0755
即0022
,而chmod
不需要。
符號組合模式的添加、刪除、賦值權限。
1# 添加權限:
2# 爲組用戶添加寫權限。
3umask g+w
4# 刪除權限:
5# 刪除其他用戶的寫、執行權限
6umask o-wx
7# 賦值權限:
8# 賦值全部用戶所有權限,等價於umask u=rwx,g=rwx,o=rwx
9umask a=rwx
10# 清除其他用戶的讀、寫、執行權限。
11umask o=
創建文件夾、文件(假設當前目錄不存在)
1# 創建文件
2touch test.sh
3# 查看權限,發現執行權限的設置不起作用。
4stat test.sh
5# 創建文件夾
6touch newdir
7# 查看權限,發現執行權限的設置可以起作用。
8stat newdir
注意
-
該命令是bash內建命令,相關的幫助信息請查看
help
命令。 -
chmod
用於更改已有對象的權限,umask
影響之後新建對象的權限。 -
請謹慎使用該命令,特別是不要取消當前用戶的讀取權限,那樣會導致你在終端使用
TAB
鍵補全時報錯。
來源:https://github.com/jaywcjlove/linux-command
最後修改於: Wednesday, January 31, 2024
版權申明:
- 未標註來源的內容皆為原創,未經授權請勿轉載(因轉載後排版往往錯亂、內容不可控、無法持續更新等);
- 非營利為目的,演繹本博客任何內容,請以'原文出處'或者'參考鏈接'等方式給出本站相關網頁地址(方便讀者)。