文章目錄
1、文件和目錄的默認權限
Linux系統的基本權限有6種。
讀寫執行爲基本權限
umask 爲默認權限
後邊還有4種權限,會在之後的權限管理
部分詳細講解。
我們先創建一個文件abc,然後查看abc文件的長信息。
[root@192 ~]# touch abc
[root@192 ~]# ls -l abc
-rw-r--r--. 1 root root 0 12月 30 05:32 abc
可以看到上邊新創建的文件,直接就有一定的權限,我們把這種權限叫默認權限。
- Linux系統是如何得到文件和目錄的默認權限?
是通過umask值來獲得文件和目錄的默認權限。
2、umask 默認權限
(這個值基本上不用我們自己修改,但是我們一定要知道和能看懂。)
(1)查看系統的umask權限
[root@localhost ~ ] # umask
0022
注意:我們之前學的權限只有三位,我們現在忽略第一位,第一位的作用在以後文章中會詳細說明。
(2)用八進制數值顯示umask權限
[root@localhost ~ ] # umask -S
u=rwx,g=rx,O=rx
#用字母表示文件和目錄的初始權限
(3)umask權限的計算方法
我們需要先了解一下新建文件和目錄的默認最大權限。
- 對文件來講,新建文件的默認最大權限是666,沒有執行(x)權限。這是因爲執行權限對文件來講比較危險,不能在新建文件的時候默認賦予,而必須通過用戶手工賦予。
- 對目錄來講,新建目錄的默認最大權限是777。這是因爲對目錄而言,執行(x)權限僅僅代表進入目錄,所以即使建立新文件時直接默認賦予,也沒有什麼危險。
按照官方的標準算法,umask默認權限需要使用二進制進行邏輯與
和邏輯非
聯合運算纔可以得到正確的新建文件和目錄的默認權限。這種方法對計算機來說很好計算,但是對人來說既不好計算,也不好理解,不推薦。
我們在這裏還是按照權限字母來講解umask權限的計算方法。(推薦算法)
我們就按照默認的umask值是022來分別計算一下新建文件和目錄的默認權限吧。
- 文件的默認權限最大隻能是666,而umask的值是022
“-rw-rw-rw-”減去“-----w–w-”等於“-rw-r–r--”- 目錄的默認權限最大可以是777,而umask的值是022
“drwxrwxrwx”減去“d----w–w-”等於“drwx-r-xr-x”
(4)注意:umask 默認權限的計算絕不是數字直接相減。
- 例如umask是033呢?
修改umask值命令爲[root@192 ~]# umask 033
(臨時修改,如果需要永久修改,就要修改配置文件)
文件的默認權限最大隻能是666,而umask的值是033
“-rw-rw-rw-”減去“—wx-wx”等於“-rw-r-r-”
r
--
=r
w
-w
=-
-
-x
=-x
(所有負的都爲-
)- 例如umask是033用數字相減呢?
666-033=633
翻譯成權限爲-rw--rx-rx
,這就不對了。
提示:
修改umask值的配置文件在/etc/profile文件,/etc/profile文件是環境變量配置文件。
什麼是環境變量配置文件?
修改該文件內容,會影響當前系統的操作環境。
環境變量配置文件並不是只有這一個,默認是有4個環境變量配置文件,另加一個目錄(目錄中有很多配置文件,以後用到哪個說哪個。)。
說明:
我們進入到上邊所提到的/etc/profile環境變量配置文件,可以找到關於umask值的代碼塊[user1@192 ~]$ cat /etc/profile if [ $UID -gt 199 ] && [ "`id -gn`" = "`id -un`" ]; then umask 002 else umask 022 fi #在Linux系統中root用戶的UID=0,而普通用戶的UID>500,500以內是留給系統用戶的。 #[ "`id -gn`" = "`id -un`" ]判斷的是用戶的UID和GID是相等的,暫時可以忽略不看。 root用戶的umask值 [root@192 ~]# umask 0022 普通用戶的umask值 [user1@192 ~]$ umask 0002
總結:
umask值重要度很高,默認自動賦值並生效。但是不需要用戶介入(修改),能看懂,知道他就可以了。