umask 指令 – 修改新檔案及目錄預設權限

Linux 建立新檔案或目錄時, 該檔案及目錄會有一個預設權限, 要修改這個預設權限, 可以用 umask 指令。

umask 的用法與 chmod 相反, chmod 是在 “000” 上面 “增加” 權限, 而 umask 則是在 “666” 基礎上 “減少” 檔案權限; 及在 “777” 基礎上 “減少” 目錄權限。這個講法可能有點混亂, 看看實際例子更易明白, 例如:

# umask 022

上面用 umask 設定預設權限為 022, 即預設檔案權限設定為 644, 因為 [666 – 022 = 644]; 及預設目錄權限設定為 755, 因為 [777 – 022 = 755].

RHEL, CentOS 及 Fedora 預設是 022, 可能直接用 umask 查看預設值:

# umask
0022

要臨時修改預設權限, 可以這樣:

# umask 0066

這時新檔案的預設權限會是 600, 以及新目錄的預設權限是 711, 但當登出系統時便會重新使用預設值。 要讓設定值永久生效可以開啟 /etc/bashrc, 找到一行 umask 022, 將裡面的 022 改為想要的設定值即可。

如果只要對個別用戶設定, 可以開啟該用戶目錄下的 .bashrc 檔案, 例如:

vi ~/.bashrc

然後加入這行:




Leave a Reply