網路安全系列之十四 在Linux中設定UMASK值

2021-09-22 00:25:24 字數 1986 閱讀 4046

umask值用於設定使用者在建立檔案時的預設許可權,當我們在系統中建立目錄或檔案時,目錄或檔案所具有的預設許可權就是由umask值決定的。

對於root使用者,系統預設的umask值是0022;對於普通使用者,系統預設的umask值是0002。執行umask命令可以檢視當前使用者的umask值。

[root@localhost ~]#umask

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

此時建立的目錄預設許可權為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檔案,則對所有使用者都生效。

網路安全系列之四十 在Linux中設定SET位許可權

雖然通過acl增加了許可權設定的靈活性,但是linux系統中可供設定的許可權只有讀 寫 執行三種,在某些特殊的場合,這可能將無法滿足要求。因而,在linux系統中還提供了幾種特殊的附加許可權,用於為檔案或目錄提供額外的控制方式,可用的附加許可權包括 set位許可權 suid sgid 和粘滯位許可權...

網路安全系列之十二 Linux使用者賬號安全設定

使用者賬號是計算機使用者的身份憑證或標識,每乙個要訪問系統資源的人,必須憑藉他的使用者賬號才能進入計算機。在linux系統中,提供了多種機制來確保使用者賬號的正當 安全使用。合理地規劃使用者賬號,並合理地分配許可權,是保證linux系統安全的第一步。1.清理系統賬號 在linux系統中,一些程式在安...

網路安全系列之培訓筆記整理

邏輯漏洞 多個執行緒競爭同乙個共享 變數 檔案等稱之為條件競爭。那麼什麼情況存在競爭條件?例項 上傳檔案,下面是乙個上傳檔案的例子,上傳檔案之前先校驗許可權 include include include define delay 10000 int main fp fopen fn,a fwrit...