A. linux系統-umask詳解
umask(user file-creation mode mask)是Linux系統中的一個命令,用於為用戶文件創建許可權掩碼,其語法為「umask [-S][許可權掩碼]」。許可權掩碼由三個八進制數字組成,通過將現有的存取許可權減掉許可權掩碼,即可得到創建文件時預設的許可權。
umask命令用於確定在創建任何文件或目錄上設置的默認許可權。它為用戶文件創建掩碼,是創建文件或文件夾時默認許可權的基礎。
若沒有文件掩碼時,文件的默認許可權為0666,文件夾的默認許可權為0777。創建文件通常是讀寫操作,所以默認情況下所有用戶都具有讀寫許可權,但沒有可執行許可權,因此文件創建的默認許可權為0666。而文件夾的x許可權表示的是打開許可權,因此這個許可權必須要有,所以文件夾的默認許可權為0777。
用戶掩碼的作用在於,用戶在創建文件時從文件的默認許可權中去除掩碼中的許可權。因此,文件創建後的許可權實際為:默認許可權(文件0666,文件夾0777)-umask。
若要修改umask值,可以通過umask命令直接進行修改。修改的掩碼只在當前tty中生效。若要使修改的掩碼全局生效,可以將umask值寫入到/etc/profile或.bashrc文件中。
在Linux中,文件許可權共有10位長度,包含了四段許可權:文件類型、所有者許可權、所在組許可權、其他用戶許可權。每個Linux文件具有四種訪問許可權:可讀(r)、可寫(w)、可執行(x)和無許可權(-)。通過ls -l命令可以查看文件或目錄的許可權,它以顯示數據的第一個欄位為准,該欄位由10個字元組成,其中文件類型部分用不同的字元表示不同的文件類型,如:-表示普通文件,d表示文件夾,l表示鏈接文件,b表示塊設備文件,c表示字元設備文件。
B. linux系統中UMASK許可權的用法詳細講解
umask一般是用在你初始創建一個目錄或者文件的時候賦予他們的許可權。
這里要說明兩點:
1、針對目錄來說x許可權代表可以進入該目錄,所以說對於這個許可權初始賦值是沒什麼問題的;
2、針對文件的x的許可權代表執行,這個風險太高,所以一般許可權初始賦值必須去掉x的;
[root@www ~]# umask
0022
這四個字母代表什麼?
首先說明一點,上面四個數字代表是賦值初始化准備丟棄的許可權。(相對應文件來說,x許可權就算沒說明出來丟棄一樣必須默認丟棄)
第一個0代表suid 丟棄的許可權;
第二個0代表本文件/目錄擁有者什麼許可權都沒丟棄(如果是文件,x許可權除外,為什麼看看上面解釋);
第三個2代表本文件/目錄的用戶組丟棄了w許可權(如果是文件那麼它的x許可權也丟棄);
第三個2代表本文件/目錄的其他用戶能使用的許可權只有有r和x(文件除外)。
綜合上面所說如果你新創建一個文件那麼它的許可權是:-wr-w--w-- 即是:644
如果你新創建一個目錄的話那麼它的許可權是:dwrxw-xw-x 即是:755
如果你要修改unask熟悉直接:
[root@www ~]# umask 002
明白了吧!