Linux系统设置文件权限,多用户模式下文件权限管理( 二 )

 chown blackcat 1.txt

Linux系统设置文件权限,多用户模式下文件权限管理

文章插图
所属组设置 chgrp [选项] 新文件所属组名称 文件名称选项说明:-R : 代表递归修改,主要针对文件夹
Linux系统设置文件权限,多用户模式下文件权限管理

文章插图
同时修改拥有者和所属组 chown [选项] 文件拥有者名称:文件所属组名称 文件名称或chown [选项] 文件拥有者名称.文件所属组名称 文件名称选项说明:-R : 代表递归修改,主要针对文件夹
Linux系统设置文件权限,多用户模式下文件权限管理

文章插图
特殊权限冒险位SETUID(针对二进制文件)作用:为了让一般使用者临时具有该文件所属主/组的执行权限 。
例如:/usr/bin/passwd在执行它的时候需要去修改/etc/passwd和/etc/shadow等文件,这些文件除了root外,其他用户都没有写权限,但是又为了能让普通用户修改自己的密码,那么该如何操作?
去除S位权限
 chmod u-s /usr/bin/passwd 或者chmod 0755 /usr/bin/passwd添加S位权限
 chmod u+s /usr/bin/passwd或者chmod 4755 /usr/bin/passwd强制位SETGID(针对目录)作用:如果一个目录有强制位,那么任何用户在该目录里所创建的文件属组都会继承该目录的属组 。
去除S位权限
 chmod g-s 目录名添加S位权限
 chmod g+s 目录名或chmod 2xxx 目录名粘附位T(针对目录)作用:只允许文件的创建者和root用户删除文件(防止误删除权限位)
去除粘附位
 chmod -R o-t /share或chmod -R 0777 /share添加粘附位
 chmod -R o+t /share或chmod -R 1777 /share
Linux系统设置文件权限,多用户模式下文件权限管理

文章插图
umaskumask表示创建文件时的默认权限(即创建文件时不需要设置而天生的权限)
我们创建一个普通文件最高权限666,而创建一个文件夹其最高权限777 。
【Linux系统设置文件权限,多用户模式下文件权限管理】实际文件权限 = 最高权限 - umask的值
获取用户umask值 umask0022注:0022中第一位0代表特殊权限位,可以不设置 。umask的默认值,在root和普通用户下是不一样的,分别是022和002修改umask值(一般不要更改)临时修改
 umask 002777 - 002 = 775永久修改
 vim ~/.bashrc 1:在文件末尾添加umask 0022:保存退出 3:新开终端生效ACL权限ACL,是 Access Control List(访问控制列表)的缩写,在 Linux 系统中, ACL 可实现对单一用户或者某个组设定访问文件的权限,ACL优势就是让权限控制更加的精准 。
安装acl
 apt install acl获取ACL权限
 getfacl 文件或目录名称设置ACL权限
 setfacl [选项] 文件或目录名称选项说明:-m : 修改acl策略-x : 去掉某个用户或者某个组的权限-b : 删除所有的acl策略-d : 该目录下新建的文件和目录都会继承acl策略,但已存在的没有-R : 该目录下已存在的文件和目录都会继承acl策略,但新建的没有mask :指的是用户或群组能拥有的最大ACL权限,也就是说,给用户或群组设定的ACL权限不能超过mask规定的权限范围,超出部分做无效处理 。
示例-给用户增加acl权限:setfacl -m u:hioier:rw 1.txt示例-给用户删除acl权限:setfacl -x u:hioier 1.txt
Linux系统设置文件权限,多用户模式下文件权限管理

文章插图

Linux系统设置文件权限,多用户模式下文件权限管理

文章插图
 示例-给用户组增加acl权限:setfacl -m g:blackcat:rw 2.txt示例-给用户组删除acl权限:setfacl -x g:blackcat 2.txt
Linux系统设置文件权限,多用户模式下文件权限管理

文章插图

Linux系统设置文件权限,多用户模式下文件权限管理

文章插图
 示例-删除所有权限:setfacl -b 1.txtmask权限设置:
 setfacl -m m::r 1.txt
Linux系统设置文件权限,多用户模式下文件权限管理

文章插图
目录递归授权
Linux系统设置文件权限,多用户模式下文件权限管理

文章插图

Linux系统设置文件权限,多用户模式下文件权限管理

文章插图




推荐阅读