Linux umask 命令詳解

唐青枫發表於2024-12-09

簡介

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的值檔案許可權目錄許可權用例
000666777向所有人開放
022644755大多數使用者的預設設定
027640750中度限制
077600700限制性極強

相關文章