網路安全系列之十四在Linux中設定UMASK值
umask值用於設定使用者在建立檔案時的預設許可權,當我們在系統中建立目錄或檔案時,目錄或檔案所具有的預設許可權就是由umask值決定的。
對於root使用者,系統預設的umask值是0022;對於普通使用者,系統預設的umask值是0002。執行umask命令可以檢視當前使用者的umask值。
[root@localhost ~]# umask 0022 |
umask值一共有4組數字,其中第1組數字用於定義特殊許可權,我們一般不予考慮,與一般許可權有關的是後3組數字。
預設情況下,對於目錄,使用者所能擁有的最大許可權是777;對於檔案,使用者所能擁有的最大許可權是目錄的最大許可權去掉執行許可權,即666。因為x執行許可權對於目錄是必須的,沒有執行許可權就無法進入目錄,而對於檔案則不必預設賦予x執行許可權。
對於root使用者,他的umask值是022。當root使用者建立目錄時,預設的許可權就是用最大許可權777去掉相應位置的umask值許可權,即對於所有者不必去掉任何許可權,對於所屬組要去掉w許可權,對於其他使用者也要去掉w許可權,所以目錄的預設許可權就是755;當root使用者建立檔案時,預設的許可權則是用最大許可權666去掉相應位置的umask值,即檔案的預設許可權是644。
可以通過下面的測試操作來了解umask值。
[root@localhost ~]# mkdir directory1 #建立測試目錄 [root@localhost ~]# ll -d directory1 #目錄的預設許可權是755 drwxr-xr-x. 2 root root 4096 12月 2 13:08 directory1 [root@localhost ~]# touch file1 #建立測試檔案 [root@localhost ~]# ll file1 #檔案的預設許可權是644 -rw-r–r–. 1 root root 0 12月 2 13:09 file1 |
通過umask命令可以修改umask值,比如將umask值設為0077。
[root@localhost ~]# umask 0077 [root@localhost ~]# umask 0077 |
此時建立的目錄預設許可權為700,檔案預設許可權是600:
[root@localhost ~]# mkdir directory2 [root@localhost ~]# ll -d directory2 drwx——. 2 root root 4096 12月 2 13:14 directory2 [root@localhost ~]# touch file2 [root@localhost ~]# ll file2 -rw——-. 1 root root 0 12月 2 13:14 file2 |
考慮一下,如果將umask值設為0003,那麼此時建立的目錄或檔案的預設許可權是多少?
正確的結果應該是:目錄的預設許可權是774,檔案的預設許可權是664。在計算預設許可權時,不應用最大許可權直接減去umask值,而是將umask值所對應的相應位置的許可權去掉,這樣才能得到正確的結果。
umask命令只能臨時修改umask值,系統重啟之後umask將還原成預設值。如果要永久修改umask值,需要修改/etc/profile檔案或是修改/etc/bashrc檔案,例如要將預設umask值設定為027,那麼可以在檔案中增加一行“umask 027”。
/etc/profile和/etc/bashrc都可以用於設定使用者登入系統時自動執行某些操作,他們的區別是/etc/profile只在使用者第一次登入時被執行,而/etc/bashrc則在使用者每次登入載入Bash Shell時都會被執行。
因而,如果是修改/etc/profile檔案,將只對新建立的使用者生效;而如果是修改/etc/bashrc檔案,則對所有使用者都生效。
本文轉自 yttitan 51CTO部落格,原文連結:http://blog.51cto.com/yttitan/1568662
相關文章
- 在Linux中,如何設定網路路由?Linux路由
- 網路安全系列之四十一在Linux中設定粘滯位sbit許可權Linux
- 懂你網路系列10之網路安全中的CSRF攻擊
- Linux .bash_profile中 umask 022 設定問題Linux
- 淺談“十四五”規劃《綱要》之網路安全建設
- VMware中網路設定之Bridged
- linux 網路設定Linux
- Linux網路設定Linux
- Linux網路設定2——虛擬機器中的Linux和Windows網路互通設定薦Linux虛擬機Windows
- 在Linux中,umask 和 ulimit有什麼區別?LinuxMIT
- linux中的掩碼 umaskLinux
- 在Debian Linux中網路卡的設定(轉)Linux
- 啟航智慧安全,建設“十四五”網路安全產業能力體系產業
- Linux網路安全經驗之談Linux
- Linux之程序掩碼umask詳解。Linux
- Linux網路安全之經驗談(轉)Linux
- 如何在 Linux 最小化安裝中設定網際網路Linux
- 網路安全系列之十九禁止建立ipc$連線
- 4步驟設定無線路由網路安全路由
- 無線網路安全設定的七點技巧
- 在Linux中設定磁碟限額(轉)Linux
- Linux/Window安全設定Linux
- LINUX安全設定(部分)Linux
- Linux桌布系列三十四(轉)Linux
- React技巧之設定input值React
- 如何在 Docker 容器之間設定網路Docker
- 人工智慧在網路安全中的新作用人工智慧
- 網路安全系列之十一系統命令注入攻擊
- 在Linux中,如何檢視網路效能?Linux
- 網管如何設定網咖路由器讓網路更安全路由器
- 網路安全學習有些啥市場價值?網路安全學習
- 在Debian中網路卡的設定(轉)
- 在Linux中,如何設定防火牆規則?Linux防火牆
- Linux中設定hugepages 在記憶體中 lock SGALinux記憶體
- 讀零信任網路:在不可信網路中構建安全系統05網路代理
- 多網路卡網路改“躍點數”值來設定出口IP(值越小越優先)
- Linux 安全設定手冊Linux
- 網路安全系列之十八 MySQL基本操作(PHP注入基礎)MySqlPHP