linux 权限掩码 umask
umask是chmod配套的,總共為4位(gid/uid,屬主,組權,其它用戶的權限),不過通常用到的是后3個,例如你用chmod 755 file(此時這文件的權限是屬主讀(4)+寫(2)+執行(1),同組的和其它用戶有讀寫權限)
?
二 umask的作用
???默認情況下的umask值是022(可以用umask命令查看),此時你建立的文件默認權限是644(6-0,6-2,6-2),建立的目錄的默認權限是755(7-0,7-2,7-2),可以用ls -l驗證一下哦 現在應該知道umask的用途了吧,它是為了控制默認權限,不要使默認的文件和目錄具有全權而設的。
?
三 如何計算umask值
umask命令允許你設定文件創建時的缺省模式,對應每一類用戶(文件屬主、同組用戶、其他用戶)存在一個相應的umask值中的數字。對于文件來說,這一數字的最大值分別是6。系統不允許你在創建一個文本文件時就賦予它執行權限,必須在創建后用chmod命令增加這一權限。目錄則允許設置執行權限,這樣針對目錄來說,umask中各個數字最大可以到?7。
計算u m a s k值的方法:我們只要記住u m a s k是從權限中“拿走”相應的位即可。
???????????????????????????????????????????umask值與權限表
| Umask中的某位 | 文件 | 目錄 |
| 0 | 6 | 7 |
| 1 | 6 | 6 |
| 2 | 4 | 5 |
| 3 | 4 | 4 |
| 4 | 2 | 3 |
| 5 | 2 | 2 |
| 6 | 0 | 1 |
| 7 | 0 | 0 |
如果umask為023,則對于文件所有者,不拿去任何權限,而新建的文件默認沒有執行權限,故對文件所有者的權限位rw-(6);對組所有者,拿去寫權限,原本沒有執行權限,故為r--(4);對其他用戶,拿去寫和執行權限,原本沒有執行權限,故為r--(4);
如果umask為023,因為沒有新建目錄沒有執行權限的限制。則對于目錄所有者,不拿去任何權限,故對目錄所有者的權限為rwx(7);對組所有者,拿去寫權限,故為r-x(5);對其他用戶,拿去寫和執行權限,故為r--(4);
?
四 常用的u m a s k值及對應的文件和目錄權限
| umask | 目錄 | 文件 |
| 0 2 2 | 7 5 5 | 6 4 4 |
| 0 2 7 | 7 5 0 | 6 4 0 |
| 0 0 2 | 7 7 5 | 6 6 4 |
| 0 0 6 | 7 7 1 | 6 6 0 |
| 0 0 7 | 7 7 0 | 6 6 0 |
?
五 修改umask值
知道了umask的作用后,你可以修改umask的值了,例如:umask 024則以后建立的文件和目錄的默認權限就為642、753了。
?
六 將umask值保存到環境文件
若要長期修改umask的值,可以把它寫進/etc/profile或~/.profile或~/.bash_profile中。
總結
以上是生活随笔為你收集整理的linux 权限掩码 umask的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux特殊权限位之setuid、se
- 下一篇: 路由器和网关的区别?