Linux命令 umask - 顯示或設(shè)置創(chuàng)建文件的權(quán)限掩碼

2022-03-22 16:55 更新

umask

顯示或設(shè)置創(chuàng)建文件的權(quán)限掩碼。

概要

umask [-p] [-S] [mode]

主要用途

  • 顯示當前的文件權(quán)限掩碼。
  • 通過八進制數(shù)的方式設(shè)置創(chuàng)建文件的權(quán)限掩碼。
  • 通過符號組合的方式設(shè)置創(chuàng)建文件的權(quán)限掩碼。

參數(shù)

mode(可選):八進制數(shù)或符號組合。

選項

-p:當沒有參數(shù)時指定該選項,執(zhí)行產(chǎn)生的輸出格式可復(fù)用為輸入;
-S:以符號組合的方式輸出創(chuàng)建文件的權(quán)限掩碼,不使用該選項時以八進制數(shù)的形式輸出。

返回值

返回狀態(tài)為成功除非給出了非法選項或非法參數(shù)。

例子

以下的例子均假設(shè)文件權(quán)限掩碼為0022。

# 以八進制數(shù)的形式輸出創(chuàng)建文件的權(quán)限掩碼。
umask -p
# 執(zhí)行結(jié)果:
umask 0022
# 以符號組合的方式輸出創(chuàng)建文件的權(quán)限掩碼。
umask -S
# 執(zhí)行結(jié)果:
u=rwx,g=rx,o=rx
參考man chmod文檔的DESCRIPTION段落得知:u符號代表當前用戶。g符號代表和當前用戶在同一個組的用戶,以下簡稱組用戶。o符號代表其他用戶。a符號代表所有用戶。r符號代表讀權(quán)限以及八進制數(shù)4。w符號代表寫權(quán)限以及八進制數(shù)2。x符號代表執(zhí)行權(quán)限以及八進制數(shù)1。+符號代表添加目標用戶相應(yīng)的權(quán)限。-符號代表刪除目標用戶相應(yīng)的權(quán)限。=符號代表添加目標用戶相應(yīng)的權(quán)限,刪除未提到的權(quán)限。

那么剛才以符號形式輸出的結(jié)果u=rwx,g=rx,o=rx轉(zhuǎn)化為八進制數(shù)等于0755;

用八進制數(shù)來設(shè)置同樣的權(quán)限,umask需要額外的執(zhí)行減法0777 - 0755即0022,而chmod不需要。

符號組合模式的添加、刪除、賦值權(quán)限。

# 添加權(quán)限:
# 為組用戶添加寫權(quán)限。
umask g+w
# 刪除權(quán)限:
# 刪除其他用戶的寫、執(zhí)行權(quán)限
umask o-wx
# 賦值權(quán)限:
# 賦值全部用戶所有權(quán)限,等價于umask u=rwx,g=rwx,o=rwx
umask a=rwx
# 清除其他用戶的讀、寫、執(zhí)行權(quán)限。
umask o=

創(chuàng)建文件夾、文件(假設(shè)當前目錄不存在)

# 創(chuàng)建文件
touch test.sh
# 查看權(quán)限,發(fā)現(xiàn)執(zhí)行權(quán)限的設(shè)置不起作用。
stat test.sh
# 創(chuàng)建文件夾
touch newdir
# 查看權(quán)限,發(fā)現(xiàn)執(zhí)行權(quán)限的設(shè)置可以起作用。
stat newdir

注意

  1. 該命令是bash內(nèi)建命令,相關(guān)的幫助信息請查看help命令。
  2. chmod用于更改已有對象的權(quán)限,umask影響之后新建對象的權(quán)限。
  3. 請謹慎使用該命令,特別是不要取消當前用戶的讀取權(quán)限,那樣會導(dǎo)致你在終端使用TAB鍵補全時報錯。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號