一、什麼是umask
umask是一種權限掩碼,它控制了在創建文件或目錄時新文件的默認權限,即掩蓋了當前用戶的權限。
對於Linux系統,umask以八進制數表示,代表了文件和目錄的權限位掩碼的反碼。例如,umask為022,則新建文件的權限位是644,新建目錄的權限位是755。
二、查看當前umask
我們可以使用umask命令來查看當前系統的默認umask。
umask
三、修改umask
可以使用umask命令修改umask值,但是該變化只會在當前終端會話中生效,並不會永久保存。
umask 022
修改完畢後,我們可以用umask命令來驗證是否設置成功。
umask
四、將umask永久保存
如果要永久修改umask值,可以在用戶的bash配置文件中添加對應的umask值。
1. 僅對當前用戶生效
打開用戶的家目錄下的.bashrc文件,並添加下面的兩行。
echo umask new_umask_value >> ~/.bashrc source ~/.bashrc
2. 對所有用戶生效
打開/etc/profile文件,並在文件末尾添加下面的一行。
umask new_umask_value
該修改會全局生效,對所有用戶的shell會話生效。
3. 對登錄用戶生效
將umask值寫入到用戶的bash_profile文件中,只在用戶的ssh登錄或者tty登錄的時候生效。
echo umask new_umask_value >> ~/.bash_profile source ~/.bash_profile
五、umask與權限的關係
新文件和目錄的默認權限是根據umask值計算出來的。umask值與權限的計算關係如下:
umask值 | 文件默認權限 | 目錄默認權限 |
---|---|---|
000 | 666 | 777 |
002 | 664 | 775 |
022 | 644 | 755 |
六、注意事項
1. 修改umask值時,請謹慎操作,否則可能會造成系統安全問題。
2. 永久修改umask值,請仔細確認,否則可能會導致系統安全問題。
3. umask值過小會導致新文件和目錄的默認權限過大,存在安全隱患。一般情況下,umask值不應小於022。
七、總結
umask是Linux中非常重要的一個權限掩碼,可以控制新文件和目錄的默認權限。合理設置umask值,可以提高系統安全性。我們可以通過umask命令來設置umask值,同時也可以通過修改用戶的bash配置文件來持久化保存umask值。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/189866.html