最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

linux下umask命令用途原理和計算方式詳解

 更新時間:2021年11月29日 16:04:08   作者:我是數(shù)哥  
大家好,本篇文章主要講的是linux下umask命令用途原理和計算方式詳解,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下哦

umask umask用途

umask令新建文件和目錄擁有默認(rèn)權(quán)限。

可以看到root創(chuàng)建的目錄是755,文件是644

[root@zaishu zaishu]# touch test.txt
[root@zaishu zaishu]# mkdir test

[root@zaishu zaishu]# ls -l
total 0
drwxr-xr-x 2 root root 6 Nov 25 16:29 test  
-rw-r--r-- 1 root root 0 Nov 25 16:28 test.txt

普通用戶

可以看到普通用戶創(chuàng)建的目錄是775,文件是664

[mysql@zaishu ~]$ touch test.txt
[mysql@zaishu ~]$ mkdir test
[mysql@zaishu ~]$ ls -l
total 0
drwxrwxr-x 2 mysql mysql 6 Nov 25 16:30 test
-rw-rw-r-- 1 mysql mysql 0 Nov 25 16:30 test.txt

這些默認(rèn)的權(quán)限值是通過umask設(shè)置運算得到。

原理

Linux 它是通過使用 umask 默認(rèn)權(quán)限來給所有新建的文件和目錄賦予初始權(quán)限的。那么,我們?nèi)绾蔚弥?umask 默認(rèn)權(quán)限的值呢?直接通過 umask 命令即可:

1. umask值

[root@zaishu ~]# umask
0022

[mysql@zaishu ~]$ umask
0002

#root用戶默認(rèn)是0022,普通用戶默認(rèn)是 0002

umask 默認(rèn)權(quán)限確實由 4 個八進(jìn)制數(shù)組成,第 1 個數(shù)代表的是文件所具有的特殊權(quán)限(SetUID、SetGID、Sticky BIT)先忽略。后 3 位 “022” 對應(yīng)為 ----w–w-。

2. 文件目錄權(quán)限最大值

Linux 系統(tǒng)中,文件和目錄的最大默認(rèn)權(quán)限是不一樣:

文件來講,可擁有的最大默認(rèn)權(quán)限是 666,即 rw-rw-rw-。x是文件最大權(quán)限,新建文件的時候不會給與,只能通過用戶手工賦予。

目錄來講,擁有的最大默認(rèn)權(quán)限是 777,即 rwxrwxrwx。

3. 常規(guī)計算

文件和目錄的初始權(quán)限,通過計算得到:

文件(或目錄)的初始權(quán)限 = 文件(或目錄)的最大默認(rèn)權(quán)限 - umask權(quán)限

[mysql@zaishu ~]$ umask
0002
[mysql@zaishu ~]$ mkdir test
[mysql@zaishu ~]$ ll -d test
drwxrwxr-x 2 mysql mysql 6 Nov 26 10:50 test  // 目錄的默認(rèn)權(quán)限最大可以是 777,777-002 =775

[mysql@zaishu ~]$ touch h.txt
[mysql@zaishu ~]$ ll h.txt 
-rw-rw-r-- 1 mysql mysql 0 Nov 26 10:52 h.txt //文件最大權(quán)限 666, 666-002(普通用戶) 666-002 =664
[root@zaishu ~]# touch h2
[root@zaishu ~]# ls -l h2 
-rw-r--r-- 1 root root 0 Nov 26 10:53 h2 //文件最大權(quán)限 666, 666-002(root) 666-022 =644

4. 嚴(yán)謹(jǐn)計算

在計算文件或目錄的初始權(quán)限時,直接使用最大默認(rèn)權(quán)限和 umask 權(quán)限的數(shù)字形式做減法,是不嚴(yán)謹(jǐn)?shù)?。例如,?umask 默認(rèn)權(quán)限的值為 033,按照數(shù)字形式計算文件的初始權(quán)限,666-033=633,但我們按照字母的形式計算會得到 (rw-rw-rw-) - (----wx-wx) = (rw-r–r--),換算成數(shù)字形式是 644。

這里的減法,其實是“遮蓋”的意思,也就是說,最大默認(rèn)權(quán)限中和 umask 權(quán)限公共的部分,通過減法運算會被遮蓋掉,最終剩下的“最大默認(rèn)權(quán)限”,才是最終賦予文件或目錄的初始權(quán)限。

umask值修改

1. 臨時生效(當(dāng)前會話)

umask 權(quán)限值可直接修改:

[root@localhost ~]# umask 002
[root@localhost ~]# umask
0002
[root@localhost ~]# umask 033
[root@localhost ~]# umask
0033

這種方式修改的 umask 只是臨時有效,一旦重啟或重新登陸系統(tǒng),就會失效。

2. 永久生效

讓修改永久生效,則需要修改對應(yīng)的環(huán)境變量配置文件 /etc/profile。

[root@zaishu~]# vim /etc/profile
...省略部分內(nèi)容...
if [ $UID -gt 199]&&[ "'id -gn'" = "'id -un'" ]; then
    umask 002
    #如果UID大于199(普通用戶),則使用此umask值
else
    umask 022
    #如果UID小于199(超級用戶),則使用此umask值
fi

總結(jié)

到此這篇關(guān)于linux下umask命令用途原理和計算方式詳解的文章就介紹到這了,更多相關(guān)linux下umask命令詳解內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

罗田县| 丰都县| 邯郸市| 吴江市| 林州市| 将乐县| 和田县| 闸北区| 乐都县| 运城市| 桐城市| 崇义县| 马山县| 平江县| 巴青县| 天长市| 龙江县| 武邑县| 尼玛县| 兴宁市| 浮山县| 济源市| 临洮县| 新巴尔虎左旗| 库尔勒市| 灵宝市| 共和县| 新化县| 南江县| 长泰县| 古交市| 修武县| 祁东县| 北流市| 嘉祥县| 讷河市| 静海县| 普格县| 石家庄市| 诏安县| 敦化市|