linux新文件權(quán)限設(shè)置之umask的深入理解
前言
起源是一道題1:如果你的umask設(shè)置為022,缺省的你創(chuàng)建的文件權(quán)限為?
這讓我回憶起被問(wèn)過(guò)的另外一道題2: 777表示什么權(quán)限?
用戶組說(shuō)明
-rwxrw-r‐-1 root root 1213 Feb 2 09:39 abc
- 第一個(gè)字符代表文件(-)、目錄(d),鏈接(l)
- 其余字符每3個(gè)一組(rwx),讀(r)、寫(xiě)(w)、執(zhí)行(x)
- 第一組rwx:文件所有者的權(quán)限是讀、寫(xiě)和執(zhí)行
- 第二組rw-:與文件所有者同一組的用戶的權(quán)限是讀、寫(xiě)但不能執(zhí)行
- 第三組r--:不與文件所有者同組的其他用戶的權(quán)限是讀不能寫(xiě)和執(zhí)行
- 也可用數(shù)字表示為:r=4,w=2,x=1 ,因?yàn)閞wx代表三位二進(jìn)制的話,正好計(jì)算出這幾個(gè)數(shù)字。
數(shù)字權(quán)限說(shuō)明
那么回到前面題2,777是三位八進(jìn)制數(shù),對(duì)應(yīng)111111111,則代表三個(gè)組都可讀可寫(xiě)可執(zhí)行,我們可以這么用:
chmod 755 abc //chmod 改變文件abc的權(quán)限為文件所有者可讀可寫(xiě)可執(zhí)行,同組和其他組用戶是可讀可執(zhí)行
umask說(shuō)明
umask是權(quán)限掩碼,代表默認(rèn)不要的權(quán)限,它是基于文件最大默認(rèn)值666,文件夾777的基礎(chǔ)上取計(jì)算該用戶新建對(duì)象的默認(rèn)權(quán)限的。
比如,題1,那么創(chuàng)建文件的默認(rèn)權(quán)限就是666-022=644,也就是-rw-r--r--
umask是用來(lái)做什么的
默認(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 [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。
在了解umask的使用之前, 需要先講解下文件的基本權(quán)限
r | w | x | |
文件 | 可以查看文件內(nèi)容 | 可以修改文件 | 可以把文件啟動(dòng)為一個(gè)運(yùn)行的程序 |
目錄 | 可以ls查看目錄中的文件名 | 可以在目錄中創(chuàng)建或者刪除文件(只有w權(quán)限沒(méi)法創(chuàng)建,需要x配合) | 可以使用cd 進(jìn)入這個(gè)目錄ls-l顯示目錄內(nèi)文件的元數(shù)據(jù)的信息 |
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
如何禁止網(wǎng)站內(nèi)容被搜索引擎收錄的幾種方法講解
今天小編就為大家分享一篇關(guān)于如何禁止網(wǎng)站內(nèi)容被搜索引擎收錄的幾種方法講解,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03ubuntu定時(shí)執(zhí)行python腳本實(shí)例代碼
這篇文章主要給大家介紹了關(guān)于ubuntu定時(shí)執(zhí)行python腳本的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用ubuntu具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04Linux統(tǒng)計(jì)一個(gè)文件中特定字符個(gè)數(shù)的方法
今天小編就為大家分享一篇關(guān)于Linux統(tǒng)計(jì)一個(gè)文件中特定字符個(gè)數(shù)的方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧2019-03-03Linux中關(guān)于控制進(jìn)程的命令總結(jié)
程序是一組可執(zhí)行的靜態(tài)指令集,而進(jìn)程(process)是一個(gè)執(zhí)行中的程序?qū)嵗?下面這篇文章主要給大家介紹了Linux中關(guān)于控制進(jìn)程的一些命令,包括Linux如何查看進(jìn)程、啟動(dòng)進(jìn)程等常用命令,下面來(lái)一起看看吧2017-03-03centos7下搭建ZooKeeper3.4中間件常用命令小結(jié)
Zookeeper 作為一個(gè)分布式的服務(wù)框架,主要用來(lái)解決分布式集群中應(yīng)用系統(tǒng)的一致性問(wèn)題,它能提供基于類似于文件系統(tǒng)的目錄節(jié)點(diǎn)樹(shù)方式的數(shù)據(jù)存儲(chǔ)。這篇文章主要介紹了centos7下搭建ZooKeeper3.4中間件常用命令小結(jié),需要的朋友可以參考下2019-07-07詳解Linux監(jiān)控重要進(jìn)程的實(shí)現(xiàn)方法
這篇文章主要介紹了詳解Linux監(jiān)控重要進(jìn)程的實(shí)現(xiàn)方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-04-04