umask怎么在linux系統(tǒng)中使用-創(chuàng)新互聯(lián)

umask怎么在linux系統(tǒng)中使用?相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。

我們注重客戶提出的每個(gè)要求,我們充分考慮每一個(gè)細(xì)節(jié),我們積極的做好網(wǎng)站設(shè)計(jì)、成都網(wǎng)站建設(shè)服務(wù),我們努力開拓更好的視野,通過不懈的努力,創(chuàng)新互聯(lián)建站贏得了業(yè)內(nèi)的良好聲譽(yù),這一切,也不斷的激勵(lì)著我們更好的服務(wù)客戶。 主要業(yè)務(wù):網(wǎng)站建設(shè),網(wǎng)站制作,網(wǎng)站設(shè)計(jì),成都小程序開發(fā),網(wǎng)站開發(fā),技術(shù)開發(fā)實(shí)力,DIV+CSS,PHP及ASP,ASP.Net,SQL數(shù)據(jù)庫的技術(shù)開發(fā)工程師。

1 umask 是什么

當(dāng)我們登錄系統(tǒng)之后創(chuàng)建一個(gè)文件是會(huì)有一個(gè)默認(rèn)權(quán)限的,那么這個(gè)權(quán)限是怎么來的呢?這就是umask干的事情。umask用于設(shè)置用戶創(chuàng)建文件或者目錄的默認(rèn)權(quán)限,umask設(shè)置的是權(quán)限的“補(bǔ)碼”,而我們常用chmod設(shè)置的是文件權(quán)限碼。一般在/etc/profile,HOME/.bashprofile或者HOME/.profile中設(shè)置umask值。

2 umask是用來做什么的

默認(rèn)情況下的umask值是022(可以用umask命令查看),此時(shí)你建立的文件默認(rèn)權(quán)限是644(6-0,6-2,6-2),建立的目錄的默認(rèn) 權(quán)限是755(7-0,7-2,7-2),可以用ls -l驗(yàn)證一下, 現(xiàn)在應(yīng)該知道umask的用途了吧,它是為了控制默認(rèn)權(quán)限的。

[root@bogon test]# id
uid=0(root) gid=0(root) groups=0(root) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023
[root@bogon test]# umask
0022
[root@bogon test]# touch a.txt
[root@bogon test]# ls -l
total 0
-rw-r--r--. 1 root root 0 Jul 3 00:40 a.txt
[root@bogon test]# mkdir b
[root@bogon test]# ls -l
total 0
-rw-r--r--. 1 root root 0 Jul 3 00:40 a.txt
drwxr-xr-x. 2 root root 6 Jul 3 00:41 b

從上面可以看到, root 的umask是022(第一個(gè)0 代表特殊權(quán)限位,這里先不考慮), 創(chuàng)建的文件默認(rèn)權(quán)限是644,創(chuàng)建的目錄是755。

3 基本權(quán)限講解

講解umask的使用之前, 需要先講解下文件的基本權(quán)限

linux文件權(quán)限

 rwx
文件 可以查看文件內(nèi)容 可以修改文件 可以把文件啟動(dòng)為一個(gè)運(yùn)行的程序
目錄 可以ls查看目錄中的文件名 可以在目錄中創(chuàng)建或者刪除文件(只有w權(quán)限沒法創(chuàng)建,需要x配合) 可以使用cd 進(jìn)入這個(gè)目錄ls-l顯示目錄內(nèi)文件的元數(shù)據(jù)的信息

4 umask計(jì)算權(quán)限

對(duì)于文件和目錄來說, 大的權(quán)限其實(shí)都是777,但是執(zhí)行權(quán)限對(duì)于文件來說,很可怕,而對(duì)目錄來說執(zhí)行權(quán)限是個(gè)基本權(quán)限。所以默認(rèn)目錄的大權(quán)限是777,而文件的默認(rèn)大權(quán)限就是666。

對(duì)于root用戶的umask=022這個(gè)來說,777權(quán)限二進(jìn)制碼就是(111)(111)(111),022權(quán)限二進(jìn)制碼為(000)(010)(010)。

  • 所有權(quán)限二進(jìn)制的1:代表有這個(gè)權(quán)限

  • umask二進(jìn)制1:代表要去掉這個(gè)權(quán)限,不管你原來有沒有權(quán)限,你最終一定沒有這個(gè)權(quán)限。

  • umask二進(jìn)制的0:代表我不關(guān)心對(duì)應(yīng)位的權(quán)限,你原來有權(quán)限就有權(quán)限,沒有就沒有, 我不影響你。

umask為002的文件默認(rèn)權(quán)限計(jì)算方法

 所有者 r所有者 w所有者 x所在組 r所在組 w所在組 x其他 r其他 w其他 x 
所有權(quán)限777111111111
umask掩碼002000010010
計(jì)算后的值111101101

umask為002的目錄默認(rèn)權(quán)限計(jì)算方法

 所有者 r所有者 w所有者 x所在組 r所在組 w所在組 x其他 r其他 w其他 x 
所有權(quán)限666110110110
umask掩碼002000010010
計(jì)算后的值110100100

umask為023的目錄默認(rèn)權(quán)限計(jì)算方法

 所有者 r所有者 w所有者 x所在組 r所在組 w所在組 x其他 r其他 w其他 x 
所有權(quán)限777111111111
umask掩碼023000010011
計(jì)算后的值111101100

umask為023的文件默認(rèn)權(quán)限計(jì)算方法

 所有者 r所有者 w所有者 x所在組 r所在組 w所在組 x其他 r其他 w其他 x 
所有權(quán)限666110110110
umask掩碼023000010011
計(jì)算后的值110100100

上面就是一個(gè)umask的正常計(jì)算過程,但是這樣實(shí)在是太麻煩了。我們使用如下的簡(jiǎn)單的方法快速計(jì)算。

  1. 對(duì)于目錄,直接使用777-umask即可,就得到了最終結(jié)果。

  2. 對(duì)于文件,先使用666-umask。

    1. 如果對(duì)應(yīng)位上為偶數(shù):最終權(quán)限就是這個(gè)偶數(shù)值。

    2. 如果上面的對(duì)應(yīng)為上有奇數(shù),就對(duì)應(yīng)位+1。

上面的這個(gè)方法計(jì)算是非常方便的, 為何得到奇數(shù)要+1呢。

文件的大權(quán)限是666,都是偶數(shù),你得到奇數(shù),說明你的umask有奇數(shù)啊,讀為4,寫為2,都是偶數(shù),說明你有執(zhí)行權(quán)限的。

就按照上面的umask=023為例,在計(jì)算其他用戶權(quán)限的時(shí)候6-3=3 ,6是讀寫,3是寫和執(zhí)行,其實(shí)應(yīng)該是讀寫權(quán)限減去讀權(quán)限的得到寫權(quán)限的,相當(dāng)于我們多減去了一個(gè)執(zhí)行權(quán)限。所以結(jié)果加1。

5 umask的修改

umask 的修改分2中, 臨時(shí)修改的和永久修改的

臨時(shí)修改:

[root@bogon test]# umask 023
[root@bogon test]# umask
0023
[root@bogon test]#

永久修改:

可以編輯以下文件 添加umask=022。

交互式登陸的配置生效:

/etc/profile < /etc/profile.d/*.sh < ~/.bash_profile < ~/.bashrc </etc/bashrc 【/etc/bashrc的配置最有效 可以覆蓋前面的配置】

非交互登陸的配置生效:

~/.bashrc < /etc/bashrc  < /etc/profile.d/*.sh

6 常用umask

[root@bogon test]# umask 002
[root@bogon test]# umask
0002
[root@bogon test]# umask 022
[root@bogon test]# umask
0022

看完上述內(nèi)容,你們掌握umask怎么在linux系統(tǒng)中使用的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道,感謝各位的閱讀!

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

本文標(biāo)題:umask怎么在linux系統(tǒng)中使用-創(chuàng)新互聯(lián)
文章來源:http://muchs.cn/article4/dpsdoe.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供營銷型網(wǎng)站建設(shè)網(wǎng)頁設(shè)計(jì)公司、外貿(mào)網(wǎng)站建設(shè)、靜態(tài)網(wǎng)站、品牌網(wǎng)站制作、品牌網(wǎng)站建設(shè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

綿陽服務(wù)器托管