在Linux宏,一位用户创建文件和目录时,所具有的权限都是一样的,创建后可以使用chmod进行相应的修改
权限掩码的作用就是规范初创文件和目录时的权限设置。
设掩码为abc
则某用户新建普通文件的权限为(7-a)(7-b)(7-c),对于文件,若abc有一位为0,则相减后的每位奇数都要减1
另外对于文件,掩码abc的实际值为偶数,需向下减1
查看用户的权限掩码
命令: umask
示例
koto@ubuntu:0103$ umask
0002
koto@ubuntu:0103$ touch a.txt
koto@ubuntu:0103$ mkdir b
koto@ubuntu:0103$ ll
total 12
drwxrwxr-x 3 koto koto 4096 Jan 3 04:41 ./
drwxr-xr-x 19 koto koto 4096 Jan 3 01:09 ../
-rw-rw-r-- 1 koto koto 0 Jan 3 04:40 a.txt
drwxrwxr-x 2 koto koto 4096 Jan 3 04:41 b/
koto@ubuntu:0103$
可以看到该用户的为002
则该用户新建文件的权限为664,即该用户与组用户有读写权限,其他用户仅有读权限
新建文件夹的权限为775,即该用户与组用户有全部权限,其他用户有读与执行权限
修改用户的权限掩码
命令: umask abc
示例
koto@ubuntu:0103$ umask 225
koto@ubuntu:0103$ touch a.txt
koto@ubuntu:0103$ mkdir b
koto@ubuntu:0103$ ll
total 12
drwxrwxr-x 3 koto koto 4096 Jan 3 04:50 ./
drwxr-xr-x 19 koto koto 4096 Jan 3 01:09 ../
-r--r---w- 1 koto koto 0 Jan 3 04:50 a.txt
dr-xr-x-w- 2 koto koto 4096 Jan 3 04:50 b/
修改后的权限掩码为225
新建文件的权限为442
新建文件夹的权限为552
修改文件权限
用户标识
- u 表示“用户(user)”,即文件或目录的所有者。
- g 表示“同组(group)用户”,即与文件属主有相同组ID的所有用户。
- o 表示“其他(others)用户”。
- a 表示“所有(all)用户”。它是系统默认值。
命令示例
- chmod a+x a.txt //对a.txt的所有用户增加执行权限
- chmod ug+w a.txt //对a.txt的属主和属主同组用户增加写权限
- chmod a-x a.txt
chmod -x a.txt
chmod ugo-x a.txt
以上3个命令都是将a.txt的所有用户的执行权限删除 - chmod 664 a.txt //将a.txt的权限设置为664