umask值與Linux中文件和目錄權限的關係

umask值與文件和目錄的權限

1.1 -R參數設置目錄權限(chmod)

wKioL1kE0rqgJo_gAAJVm7FRtqw248.png

1.2 權限字母說明

wKiom1kE0ubhMvOXAAA4oD-uHX0441.png

wKiom1kE0ozDVdzKAAAf6-G85Dg968.png

1.3umask說明

1umask的值決定着文件和目錄的權限,創建文件默認最大權限爲666-rw-rw-rw-,默認創建的文件沒有可執行權限x位。

2、對於文件來說,umask的設置是在假定文件擁有八進制666的權限上進行的,文件的權限就是666減去umask(umask的各個位數字也不能大於6,如,077就不符合條件)的掩碼數值;重點在接下來的內容,如果umask的部分位或全部位爲奇數,那麼,在對應爲奇數的文件權限位計算結果分別再加1就是最終文件權限值。

創建目錄默認最大權限777-rwx-rwx-rwx,默認創建的目錄屬主是有x權限,允許用戶進入。

對於目錄來說,umask的設置是在假定文件擁有八進制777權限上進行,目錄八進制權限777減去umask的掩碼數;

3umask越小,文件和目錄的權限越大,默認的umask值爲022,即在主和組都是root時,文件和目錄的權限爲644-rw-r--r--)和755drwxr-xr-x);

wKioL1kE0w7gIRkzAAIPq3uQWmQ930.png

4先設置umask的值,如umask 222 然後再mkdir d222touch f222,然後再ll=ls -l,這樣umask值纔會生效;

5umask值的控制腳本

wKiom1kE0yzgjEx3AADlVDXQ9kA938.png

6umask博文網址

http://oldboy.blog.51cto.com/2561410/1060032


1.4通過umask值讀取文件和目錄權限的三種方法

1.4.1加減法推算(簡單好用,推薦

文件權限的一般計算方法:
默認文件權限計算方法
1)假設umask值爲:022(所有位爲偶數)
6 66     ==>文件的起始權限值
0 2 2-    ==>umask的值
---------
6 4 4
2)假設umask值爲:045(其他用戶組位爲奇數)
6 66     ==>文件的起始權限值
0 4 5-    ==>umask的值
---------
6 21   ==>計算出來的權限。由於umask的最後一位數字是5,所以,在其他用戶組位再加1。
0 0 1 +
---------
622 ==>真實文件權限
默認目錄權限計算方法
 7 77     ==>目錄的起始權限值
 0 22 -    ==>umask的值
---------
 7 55

如圖       wKioL1kE09iBL1hFAAQG2NBnh0I479.png

 

實例1-1umask所有位全爲偶數時

[root@oldboy oldboy]# umask
0022 #→umask當前數值
[root@oldboy oldboy]# umask 044 #→更改爲044
[root@oldboy oldboy]# umask
0044
[root@oldboy oldboy]# mkdir umask_test #→建目錄測試
[root@oldboy oldboy]# ls -ld umask_test
drwx-wx-wx 2 root root 4096 Nov 12 19:21 umask_test#→對應數字權限爲733,是不是符合上面的計算方法?
[root@oldboy oldboy]# touch umask_test.txt
[root@oldboy oldboy]# ls -l umask_test.txt
-rw--w--w- 1 root root 0 Nov 12 19:21umask_test.txt #→對應數字權限爲622,是不是符合上面的計算方法

 

實例1-2umask值的部分或全部位爲奇數時

[root@oldboy oldboy]# umask 0023
[root@oldboy oldboy]# mkdir dir
[root@oldboy oldboy]# touch file
[root@oldboy oldboy]# ls -l
總計 4
drwxr-xr-- 2 root root 4096 11-15 01:04 dir  #→對應數字權限爲754
-rw-r--r-- 1 root root    0 11-15 01:04 file #→對應數字權限爲644
提示:根據前面的計算方法,當umask爲0023時,dir的權限應該是754,而file的權限應該爲643,但是由於umask的其他組位爲奇數,因此最終權限爲其他組位加1,即643加001(對應實踐結果644)。注意:umask爲偶數的位不要加1

實例1-3umask值的所有位爲奇數時

[root@oldboy oldboy]# umask 0551
[root@oldboy oldboy]# umask
0551
umask 爲0551 根據掩碼方法計算:目錄權限爲226,文件權限115,而實際文件權限爲226(umask的三個權限位都是奇數,所以,每個位分別加1就是正確的權限)
[root@oldboy oldboy]# mkdir dir5
[root@oldboy oldboy]# touch file5
[root@oldboy oldboy]# ls -l
總計 4
d-w--w-rw- 2 root root 4096 11-15 01:27 dir5  #→目錄對應數字權限爲226
--w--w-rw- 1 root root    0 11-15 01:27 file5 #→目錄對應數字權限爲226
再來一例驗證下:
[root@oldboy oldboy]# umask 0333
[root@oldboy oldboy]# umask
0333
umask 爲0333 根據掩碼方法計算:目錄權限爲444,文件權限333,而實際文件權限爲444(umask的三個位都是奇數,所以,每個位分別加1就是正確的權限)
[root@oldboy oldboy]# mkdir dir3
[root@oldboy oldboy]# touch file3
[root@oldboy oldboy]# ls -l|grep 3
dr--r--r-- 2 root root 4096 11-15 01:30 dir3  #→目錄對應數字權限爲444
-r--r--r-- 1 root root    0 11-15 01:30 file3 #→目錄對應數字權限爲444

1.4.2 通過8進制字母符號計算

[root@oldboyoldboy]# umask 551
umask值爲551,對應的權限爲-r-xr-x--x,即所有的文件和目錄都取消權限中的-r-xr-x--x權限。
文件權限:【-rw-rw-rw-】-【-r-xr-x--x】=【--w--w--rw-】=226(文件的x位上沒有x,就不用取消了)
目錄權限:【-rwxrwxrwx】-【-r-xr-x--x】=【--w--w--rw-】=226(目錄的x位上有x,直接取消即可)
繼續拿前面的例子驗證:
[root@oldboyoldboy]# umask 333
umask值爲333,對應的權限爲-wx-wx-wx,即所有的文件和目錄都取消權限中的-wx-wx-wx權限。
文件權限:【-rw-rw-rw-】-【-wx-wx-wx】=【-r--r--r--】=444(文件的x位上沒有x,就不用取消了)
目錄權限:【-rwxrwxrwx】-【-wx-wx-wx】=【-r--r--r--】=444(目錄的x位上有x,直接取消即可)



1.4.3 通過二進制方法計算(二進制轉換軟件)

0022
0    2   2      
----------    #→八進制轉換二進制
0    10   10
說明:把umask值八進制轉換成二進制
 
6    6    6
------------  #→八進制轉換二進制
110 110  110
說明:把文件默認最大權限值八進制轉換成二進制
  0  10  10      #→umask二進制
-------------      #→與運算
110 110  110      #→文件最大權限二進制
-------------
000 010  010
-------------      #→轉換八進制
  0  2   2
說明:最後得到的值是022,然後使用666減去022,那麼文件的創建權限就是644
[root@oldboyoldboy]# umask 551
[root@oldboyoldboy]# umask
0551
5    5     1
-------------      #→轉換二進制
101  101 001     #→umask二進制
-------------      #→與運算
110  110  110      #→文件最大權限二進制
-------------     
100  100  000
-------------      #→轉換八進制
4    4    0
說明:最後得到的值是440,然後使用666減去440,那麼文件的創建權限就是226。



1.5 企業各服務器之間的權限說明

wKioL1kE1B2R-fM4AANAHsRJw7A457.png



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章