1. 程式人生 > >umask 文件默認權限

umask 文件默認權限

執行 com 51cto 分別是 用途 文件和目錄 進入 blog 我們

參考資料 http://book.51cto.com/art/200709/57189.htm

umask就是指定當前用戶在建立文件或目錄時候的屬性默認值。

linux-xdYUnA:~ # umask
0027
linux-xdYUnA:~ # umask -S
u=rwx,g=rx,o=
linux-xdYUnA:~ # touch abc
linux-xdYUnA:~ # ll abc
-rw-r----- 1 root root 0 Mar 19 14:27 abc
linux-xdYUnA:~ # umask 0022
linux-xdYUnA:~ # umask
0022
linux-xdYUnA:~ # umask -S
u
=rwx,g=rx,o=rx linux-xdYUnA:~ # touch abcd linux-xdYUnA:~ # ll abcd -rw-r--r-- 1 root root 0 Mar 19 14:28 abcd

在默認權限的屬性上,目錄與文件是不一樣的。由於我們不希望文件具有可執行的權力,默認情況中,文件是沒有可執行(x)權限的。因此:
? 若用戶建立為”文件”則默認“沒有可執行(x)項目”,即只有rw這兩個項目,也就是最大為666分,默認屬性如下:
-rw-rw-rw-
? 若用戶建立為”目錄”,則由於x與是否可以進入此目錄有關,因此默認為所有權限均開放,即為777分,默認屬性如下:
drwxrwxrwx

umask指定的是“該默認值需要減掉的權限”。因為r、w、x分別是4、2、1,所以。也就是說,當要去掉能寫的權限,就是輸入2,而如果要去掉能讀的權限,也就是4,那麽要去掉讀與寫的權限,也就是6,而要去掉執行與寫入的權限,也就是3。

因為umask為022,所以user並沒有被去掉屬性,不過group與others的屬性被去掉了2(也就是w這個屬性),那麽當用戶:
? 建立文件時:(-rw-rw-rw-) – (-----w--w-) ==> -rw-r--r--
? 建立目錄時:(drwxrwxrwx) – (d----w--w-) ==> drwxr-xr-x

默認情況下的umask值是022(可以用umask命令查看),此時你建立的文件默認權限是644(6-0,6-2,6-2),建立的目錄的默認權限是755(7-0,7-2,7-2),可以用ls -l驗證一下哦 現在應該知道umask的用途了吧,它是為了控制默認權限,不要使默認的文件和目錄具有全權而設的。

默認情況,包括 touch一個文件,echo一個文件等創建的文件。

umask 文件默認權限