中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

umask怎么在linux系統中使用

發布時間:2021-03-23 16:49:03 來源:億速云 閱讀:123 作者:Leah 欄目:服務器

umask怎么在linux系統中使用?相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。

1 umask 是什么

當我們登錄系統之后創建一個文件是會有一個默認權限的,那么這個權限是怎么來的呢?這就是umask干的事情。umask用于設置用戶創建文件或者目錄的默認權限,umask設置的是權限的“補碼”,而我們常用chmod設置的是文件權限碼。一般在/etc/profile,HOME/.bashprofile或者HOME/.profile中設置umask值。

2 umask是用來做什么的

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

[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(第一個0 代表特殊權限位,這里先不考慮), 創建的文件默認權限是644,創建的目錄是755。

3 基本權限講解

講解umask的使用之前, 需要先講解下文件的基本權限

linux文件權限

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

4 umask計算權限

對于文件和目錄來說, 最大的權限其實都是777,但是執行權限對于文件來說,很可怕,而對目錄來說執行權限是個基本權限。所以默認目錄的最大權限是777,而文件的默認最大權限就是666。

對于root用戶的umask=022這個來說,777權限二進制碼就是(111)(111)(111),022權限二進制碼為(000)(010)(010)。

  • 所有權限二進制的1:代表有這個權限

  • umask二進制1:代表要去掉這個權限,不管你原來有沒有權限,你最終一定沒有這個權限。

  • umask二進制的0:代表我不關心對應位的權限,你原來有權限就有權限,沒有就沒有, 我不影響你。

umask為002的文件默認權限計算方法

 所有者 r所有者 w所有者 x所在組 r所在組 w所在組 x其他 r其他 w其他 x 
所有權限777111111111
umask掩碼002000010010
計算后的值111101101

umask為002的目錄默認權限計算方法

 所有者 r所有者 w所有者 x所在組 r所在組 w所在組 x其他 r其他 w其他 x 
所有權限666110110110
umask掩碼002000010010
計算后的值110100100

umask為023的目錄默認權限計算方法

 所有者 r所有者 w所有者 x所在組 r所在組 w所在組 x其他 r其他 w其他 x 
所有權限777111111111
umask掩碼023000010011
計算后的值111101100

umask為023的文件默認權限計算方法

 所有者 r所有者 w所有者 x所在組 r所在組 w所在組 x其他 r其他 w其他 x 
所有權限666110110110
umask掩碼023000010011
計算后的值110100100

上面就是一個umask的正常計算過程,但是這樣實在是太麻煩了。我們使用如下的簡單的方法快速計算。

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

  2. 對于文件,先使用666-umask。

    1. 如果對應位上為偶數:最終權限就是這個偶數值。

    2. 如果上面的對應為上有奇數,就對應位+1。

上面的這個方法計算是非常方便的, 為何得到奇數要+1呢。

文件的最大權限是666,都是偶數,你得到奇數,說明你的umask有奇數啊,讀為4,寫為2,都是偶數,說明你有執行權限的。

就按照上面的umask=023為例,在計算其他用戶權限的時候6-3=3 ,6是讀寫,3是寫和執行,其實應該是讀寫權限減去讀權限的得到寫權限的,相當于我們多減去了一個執行權限。所以結果加1。

5 umask的修改

umask 的修改分2中, 臨時修改的和永久修改的

臨時修改:

[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

看完上述內容,你們掌握umask怎么在linux系統中使用的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

师宗县| 周至县| 岢岚县| 彭州市| 肃北| 宁远县| 衡东县| 寿光市| 社旗县| 太保市| 峡江县| 合水县| 来安县| 城口县| 西宁市| 汶上县| 汤阴县| 霸州市| 阿鲁科尔沁旗| 大荔县| 盖州市| 盱眙县| 泗水县| 广东省| 花垣县| 会昌县| 桓台县| 嵊州市| 闵行区| 隆化县| 莎车县| 博白县| 文登市| 康平县| 米林县| 胶州市| 石景山区| 武宣县| 遵化市| 高要市| 喀喇|