簡介
umask
命令設定使用者建立的新檔案和目錄的預設許可權。它決定在建立新檔案或目錄時不會設定(或遮蔽)哪些許可權位。
檔案和目錄的預設許可權:
- 檔案的預設許可權:666,每個人都可以讀寫,沒有執行位
- 目錄的預設許可權:777,所有人都可以讀、寫、執行。
umask
作用就是從這些預設值中減去許可權
示例用法
檢視當前的 umask
的值
umask
# 示例輸出:
0022
0 特殊位(如粘性位)
022 使用者、組和其他人的掩碼
設定 umask
的值為027
umask 027
檔案的預設許可權變為:640(666 - 027)
目錄的預設許可權變為:750(777 - 027)
為了許可權永久生效,則需要寫到配置檔案中:
~/.bashrc 或 ~/.zshrc
設定 umask
的值為077
umask 077
檔案的預設許可權變為:600(僅所有者可讀/寫)
目錄的預設許可權變為:700(僅對所有者具有讀/寫/執行許可權)
設定 umask
的值為002
umask 002
檔案的預設許可權變為:664(所有者和組可讀寫,其他人可只讀)
目錄的預設許可權變為:775(所有者和組具有讀/寫/執行許可權,其他人具有讀/執行許可權)
驗證 umask
027 設定是否生效
touch testfile
mkdir testdir
ls -l
# 示例輸出:
-rw-r----- 1 user group 0 Nov 29 10:00 testfile
drwxr-x--- 2 user group 4096 Nov 29 10:00 testdir
總結
umask 的值 | 檔案許可權 | 目錄許可權 | 用例 |
---|---|---|---|
000 | 666 | 777 | 向所有人開放 |
022 | 644 | 755 | 大多數使用者的預設設定 |
027 | 640 | 750 | 中度限制 |
077 | 600 | 700 | 限制性極強 |