r | w | x | |
文件 | 可以查看文件內容 | 可以修改文件 | 可以把文件啟動為一個運行的程序 |
目錄 | 可以ls查看目錄中的文件名 | 可以在目錄中創建或者刪除文件(只有w權限沒法創建,需要x配合) | 可以使用cd 進入這個目錄ls-l顯示目錄內文件的元數據的信息 |
4 umask計算權限
對于文件和目錄來說, 最大的權限其實都是777,但是執行權限對于文件來說,很可怕,而對目錄來說執行權限是個基本權限。所以默認目錄的最大權限是777,而文件的默認最大權限就是666。
對于root用戶的umask=022這個來說,777權限二進制碼就是(111)(111)(111),022權限二進制碼為(000)(010)(010)。
umask為002的文件默認權限計算方法
所有者 r | 所有者 w | 所有者 x | 所在組 r | 所在組 w | 所在組 x | 其他 r | 其他 w | 其他 x | |
所有權限777 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
umask掩碼002 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 |
計算后的值 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 1 |
umask為002的目錄默認權限計算方法
所有者 r | 所有者 w | 所有者 x | 所在組 r | 所在組 w | 所在組 x | 其他 r | 其他 w | 其他 x | |
所有權限666 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 |
umask掩碼002 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 0 |
計算后的值 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 |
umask為023的目錄默認權限計算方法
所有者 r | 所有者 w | 所有者 x | 所在組 r | 所在組 w | 所在組 x | 其他 r | 其他 w | 其他 x | |
所有權限777 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
umask掩碼023 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 |
計算后的值 | 1 | 1 | 1 | 1 | 0 | 1 | 1 | 0 | 0 |
umask為023的文件默認權限計算方法
所有者 r | 所有者 w | 所有者 x | 所在組 r | 所在組 w | 所在組 x | 其他 r | 其他 w | 其他 x | |
所有權限666 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 |
umask掩碼023 | 0 | 0 | 0 | 0 | 1 | 0 | 0 | 1 | 1 |
計算后的值 | 1 | 1 | 0 | 1 | 0 | 0 | 1 | 0 | 0 |
上面就是一個umask的正常計算過程,但是這樣實在是太麻煩了。我們使用如下的簡單的方法快速計算。
上面的這個方法計算是非常方便的, 為何得到奇數要+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
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。