linux文件設置權限命令umask

我們創建文件的默認權限是怎麼來的?如何改變這個默認權限呢?

umask是什麼?

當我們登錄系統之後創建一個文件總是有一個默認權限的,那麼這個權限是怎麼來的呢?這就是umask乾的事情。umask設置了用戶創建文件的默認權限,它與chmod的效果剛好相反,umask設置的是權限“補碼”,而chmod設置的是文件權限碼。一般在/etc/profile、$ [HOME]/.bash_profile或$[HOME]/.profile中設置umask值。

如何計算umask值?
umask命令允許你設定文件創建時的缺省模式,對應每一類用戶(文件屬主、同組用戶、其他用戶)存在一個相應的umask值中的數字。對於文件來說,這一數字的最大值分別是6。系統不允許你在創建一個文本文件時就賦予它執行權限,必須在創建後用chmod命令增加這一權限。目錄則允許設置執行權限,這樣針對目錄來說,umask中各個數字最大可以到7。

該命令的一般形式爲:umask nnn
其中nnn爲umask置000 - 777。


附:

一 權限掩碼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的值了,例如:umask 024則以後建立的文件和目錄的默認權限就爲642,753了

四 將umask值保存到環境文件

若要長期修改umask的值,可以把它寫進/etc/profile或~/.profile或~/.bash_profile中。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章