在linux中,一位用戶在創建文件和目錄時,對其具有的權限都是一樣的,如需更改,需要chmod命令做相應的更改。為什么?其實是權限掩碼起作用了。
權限掩碼的作用就是規范初創文件和目錄時候的權限設置,免去了創建后再次修改權限的問題。因此,權限掩碼的設置需要合理。
1、查看用戶的權限掩碼
命令:umask
示例
dyp930@ubuntu:~/work$ umask //初創文件的最大權限是666,減去掩碼0002,表示初創文件的權限是664。初創目錄的最大權限是777,減去掩碼,
0002
dyp930@ubuntu:~/work$ touch a.txt
dyp930@ubuntu:~/work$ mkdir a
dyp930@ubuntu:~/work$ ls -lrt
-rw-rw-r-- 1 dyp930 dyp930 0 Jun 28 06:02 a.txt //權限為664
drwxrwxr-x 2 dyp930 dyp930 4096 Jun 28 06:02 a //權限為775
2、修改用戶的權限掩碼
命令:umask abc
設置默認掩碼為abc后,如下公式即為文件的初創權限。
備注:對於文件,掩碼abc的實際值為偶數值,需要向下減1.
① 新創建的文件的權限為:(7-a)(7-b)(7-c) ,如果a/b/c中有一位為0,則相減之后的每位奇數都要減1.
② 新創建的目錄的權限為:(7-a)(7-b)(7-c)
示例
dyp930@ubuntu:~/work$ umask 005
dyp930@ubuntu:~/work$ umask
0005
dyp930@ubuntu:~/work$ touch b.txt
dyp930@ubuntu:~/work$ mkdir b
dyp930@ubuntu:~/work$ ls -lrt
total 8
-rw-rw-r-- 1 dyp930 dyp930 0 Jun 28 06:02 a.txt
drwxrwxr-x 2 dyp930 dyp930 4096 Jun 28 06:02 a
-rw-rw--w- 1 dyp930 dyp930 0 Jun 28 06:05 b.txt
drwxrwx-w- 2 dyp930 dyp930 4096 Jun 28 06:05 b
--完結