檔案的預設權限

  1. umask:新增檔案或目錄預設權限,不指定 mode 列出目前預設權限,指定 mode 則設定預設權限。
    [root@dywHome2 test]# umask [-S] [mode]
    參數說明:
    -S(Symbolic): 以符號類型顯示權限
    
  2. 切換身份為一般用戶 deyu6。
    [root@kvm8 ~]# su - deyu6
    
  3. 執行 umask 不加 mode 參數,輸出 0022。
    [deyu6@kvm8 ~]$ umask 
    0022
    
  4. 新增檔案 file1 及目錄 dir1。
    [deyu6@kvm8 ~]$ touch file1
    [deyu6@kvm8 ~]$ mkdir dir1
    
  5. umask 0022 表示擁有者不扣除任何權限,同群組及其他使用者皆須扣除『寫』的權限,所以建立新檔案或目錄的權限如下:
    [deyu6@kvm8 ~]$ ll
    total 4
    drwxr-xr-x. 2 deyu6 deyu6 4096 Apr 29 16:29 dir1
    -rw-r--r--. 1 deyu6 deyu6    0 Apr 29 16:29 file1
    
  6. 執行 umask 指定 mode 0022。
    [deyu6@kvm8 ~]$ umask 0002
    
  7. 執行 umask 以符號方式查詢。
    [deyu6@kvm8 ~]$ umask -S
    u=rwx,g=rwx,o=rx
    
  8. 新增檔案 file2 及目錄 dir2。
    [deyu6@kvm8 ~]$ touch file2
    [deyu6@kvm8 ~]$ mkdir dir2
    
  9. umask 0002 表示擁有者及同群組不扣除任何權限,其他使用者皆須扣除『寫』的權限,所以建立新檔案或目錄的權限如下:
    [deyu6@kvm8 ~]$ ll
    total 8
    drwxr-xr-x. 2 deyu6 deyu6 4096 Apr 29 16:29 dir1
    drwxrwxr-x. 2 deyu6 deyu6 4096 Apr 29 16:42 dir2
    -rw-r--r--. 1 deyu6 deyu6    0 Apr 29 16:29 file1
    -rw-rw-r--. 1 deyu6 deyu6    0 Apr 29 16:42 file2
    
  10. 登出 deyu6,再登入後umask查詢又回到0222,表示umask設定只是目前的shell生效。
    [deyu6@kvm4 ~]$ exit
    logout
    [root@kvm4 ~]# su - deyu6
    Last login: Thu Oct 27 12:17:24 CST 2022 on pts/0
    [deyu6@kvm4 ~]$ umask
    0022
    
  11. 要讓 deyu6 的 umask 維持 0002,必須將其寫入 .bashrc。
    [deyu6@kvm4 ~]$ vim .bashrc
    [deyu6@kvm4 ~]$ tail -1 .bashrc
    umask 0002
    
  12. 登出 deyu6,再登入 deyu6,取得shell時會執行 .bashrc,因此 umask 0002 會生效。
    [deyu6@kvm4 ~]$ exit
    logout
    [root@kvm4 ~]# su - deyu6
    Last login: Thu Oct 27 12:17:51 CST 2022 on pts/0
    [deyu6@kvm4 ~]$ umask
    0002