首頁 > 軟體

Linux檔案的預設許可權UMASK

2020-06-16 17:09:54

當進入Linux系統後新建立的檔案或者資料夾總是會有一個預設的許可權,那麼這個許可權是如何設定的呢?
umask就是設定檔案與目錄的預設許可權

1. 檢視umask

  • 直接檢視,

    [root@CentOS6 ~]# umask 
    0022                                   
  • 以模式方式顯示

    [root@centos6 app]# umask -S
    u=rwx,g=rx,o=rx
  • 輸出可被呼叫,重定向

    [root@centos6 app]# umask -p
    umask 0022

    0022表示的許可權是rwxr-xr-x,第一位的0是特殊許可權,這裡先不做考慮。

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越小許可權越大

本文永久更新連結地址http://www.linuxidc.com/Linux/2017-07/145952.htm


IT145.com E-mail:sddin#qq.com