Umask

目錄和文件的不同 Umask

  • October 13, 2018

如何為目錄和文件設置不同的 umask?

我需要目錄umask 003和文件umask 117

umask是全球性的bash。您可以做的一件事是創建一個mkdir包裝器(一個腳本,您為其命名),它會在執行後更改遮罩。

#!/bin/bash
umask 0701 ; /path/to/real/mkdir $1 ; umask 0604

這是在這裡回答的:

請記住:對於目錄,基本權限是 ( rwxrwxrwx) 0777,而對於文件,它們是0666,這意味著,即使 umask 允許,您也不會在 shell 內獲得創建文件的執行權限。這樣做顯然是為了提高新文件創建的安全性。

例子:

[admin@host test]$ pwd
/home/admin/test
[admin@host test]$ umask
0002
[admin@host test]$ mkdir test
[admin@host test]$ touch test_file
[admin@host test]$ ls -l
total 4
drwxrwxr-x 2 admin admin 4096 Jan 13 14:53 test
-rw-rw-r-- 1 admin admin    0 Jan 13 14:53 test_file

umask Unix 規範沒有說明這個文件權限數學細節。由外殼開發人員(和作業系統製造商)決定。

引用自:https://unix.stackexchange.com/questions/337182