Linux创建文件和目录的权限

在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)用户”。它是系统默认值。
命令示例
  1. chmod a+x a.txt //对a.txt的所有用户增加执行权限
  2. chmod ug+w a.txt //对a.txt的属主和属主同组用户增加写权限
  3. chmod a-x a.txt
    chmod -x a.txt
    chmod ugo-x a.txt
    以上3个命令都是将a.txt的所有用户的执行权限删除
  4. chmod 664 a.txt //将a.txt的权限设置为664

你可能感兴趣的:(linux环境下C++学习)