當進入Linux系統後新建立的檔案或者檔案夾總是會有一個預設的權限,那麼這個權限是如何設定的呢?
umask就是設定檔案與目錄的預設權限
1. 檢視umask
- 直接檢視,
[root@centos6 ~]# umask 0022
- 以模式方式顯示
[root@centos6 app]# umask -S u=rwx,g=rx,o=rx
- 輸出可被調用,重定向
0022表示的權限是rwxr-xr-x,第一位的0是特殊權限,這裡先不做考慮。[root@centos6 app]# umask -p umask 0022
2. 檔案與目錄權限
- 檔案:新檔案對于所有使用者來說具有執行權限是很可怕的事情。是以對于檔案來說預設最大權限就是666
-rw-rw-rw-
- 目錄:對于目錄來說,x權限意味着是否能進入到目錄中。如果一個建立的目錄無x權限就進入不了這個目錄。那目錄就沒有存在的意義。是以目錄的最大權限是777
drwxrwxrwx
3. 預設權限的計算
-
檔案:
最大權限減去umask碼等于預設權限,結果為奇數,則奇數位+1
-
結果為偶數
666-022=644,轉換為權限 rw- r- - r - -
-
如果mask=135
666-135=431,奇數+1為442,轉換為權限r- -r- - - -x
-
目錄:
最大權限減去umask碼等于預設權限
- 777-022=755 轉換為權限 rwxr-xr-x
4. 檢視權限
建立檔案與目錄,檢視其權限。
[root@centos6 app]# mkdir dir
[root@centos6 app]# touch file
[root@centos6 app]# ls -al
-rw-r--r--. 1 root root 292 Jul 24 21:05 file
drwxr-xr-x. 2 root root 4096 Jul 24 21:05 dir
5. umask的設定方法
- 直接設定,隻是臨時生效,使用者登出後恢複
[root@centos6 app]# umask 0002
- 對指定使用者永久生效
[root@centos6 app]# vim ~/.bashrc umask 0002
- 對所有使用者永久生效
[root@centos6 app]# vim /etc/.bashrc umask 0002
6. 總結
- 一般root的umask為022
- 一般普通使用者的umask為002
- umask越小權限越大