linux权限相关(其他有关权限的)

本文详细介绍Linux系统中访问控制列表(ACL)的使用方法,包括如何设置和修改ACL,以及ACL与SUID、SGID等权限的关系。同时,解析了权限掩码的作用及其对文件权限的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    当基本权限UGOrwx和SUID、SGID、Sticky,都不能满足权限的需求,需要对某些特别的人进行权限的设置时。就要进行访问控制的操作。

访问控制列表 ACL -----高优先级

SUID高于ACL高于SGID

用于给用户单独设置一些权限。

基本操作:
给控制表中添加用户及权限

[root@localhost test-gsc]# setfacl -m u:user01:rw- quanxian.txt  //-m 更改文件访问控制表  u:用户:权限  文件名
[root@localhost test-gsc]# getfacl quanxian.txt  //查看文件的访问控制表
# file: quanxian.txt
# owner: root
# group: root
user::rw-
user:g:rw-
user:user01:rw-
group::r--
group:dba:rw-
mask::rw-  //权限上限。
other::r--
[root@localhost test-gsc]# ll quanxian.txt 
-rw-rw-r--+ 1 root root 0 Oct 17 11:18 quanxian.txt

有+ 表示设置了访问控制表,查看访问控制表为getfacl。

mask:设置访问控制表后,文件的属组权限显示的是这个。并且如果有用户的权限超过了这个mask所限制的那么超过的权限无效。

另外有一个叫unmask的是权限掩码,这个掩码是跟随用户的,作用是在用户创建文件时设置文件权限。

[root@localhost test-gsc]# umask
0022

0022转化为权限为----w–w-
这个用户所创建出的文件权限默认为 rw-r–r-- 数字表示 644
总之掩码和文件权限相加为 rw-rw-rw-
注:不能做加减,因为文件默认没有x权限。

删除某组权限

[root@localhost test-gsc]# setfacl -x g:dba quanxian.txt 
[root@localhost test-gsc]# getfacl quanxian.txt 
# file: quanxian.txt
# owner: root
# group: root
user::rw-
user:g:rw-
user:user01:rw-
group::r--
mask::rw-
other::r--

复制访问控制表

[root@localhost ~]# getfacl file1 | setfacl --set-file=- file2
将file1的表复制给file2

删除全部权限:

[root@localhost test-gsc]# setfacl -b quanxian.txt 
[root@localhost test-gsc]# getfacl quanxian.txt 
# file: quanxian.txt
# owner: root
# group: root
user::rw-
group::r--
other::r--

[root@localhost test-gsc]# ll quanxian.txt 
-rw-r--r--. 1 root root 0 Oct 17 11:18 quanxian.txt

指令setfacl 和 getfacl 的全部选项

setfacl 2.2.51—设置文件访问控制列表

用法: setfacl [-bkndRLP] { -m|-M|-x|-X ... } file ...
-m,--modify-acl 更改文件的访问控制列表
-M,--modify-file=file 从文件读取访问控制列表条目更改
-x,--remove=acl 根据文件中访问控制列表移除条目
-X,--remove-file=file 从文件读取访问控制列表条目并删除
-b,--remove-all 删除所有扩展访问控制列表条目
-k,--remove-default 移除默认访问控制列表
   --set=acl 设定替换当前的文件访问控制列表
   --set-file=file 从文件中读取访问控制列表条目设定
   --mask 重新计算有效权限掩码
-n,--no-mask 不重新计算有效权限掩码
-d,--default 应用到默认访问控制列表的操作
-R,--recursive 递归操作子目录
-L,--logical 依照系统逻辑,跟随符号链接
-P,--physical 依照自然逻辑,不跟随符号链接
   --restore=file 恢复访问控制列表,和“getfacl -R”作用相反
   --test 测试模式,并不真正修改访问控制列表属性
-v,--version   显示版本并退出
-h,--help   显示本帮助信息
getfacl 2.2.51—获取文件访问控制列表

用法:getfacl[-aceeslptpndvh]文件…
-a,--access仅显示文件访问控制列表
-d,--默认仅显示默认访问控制列表
-c,--省略标题不显示注释标题
-e,--所有有效打印所有有效权利
-E,--无有效印刷品无有效权利
-s,--跳过只包含基项的基跳过文件
-R,--递归递归到子目录
-L,--逻辑遍历,遵循符号链接
-P,--依照自然逻辑,不跟随符号链接 
-t,--表格使用表格输出格式
-n,--数字打印数字用户/组标识符
-p,--绝对名称不去掉路径名中的前导“/-v,--版本打印版本和退出
-h,--帮助文本

文件属性权限:

设置权限:chattr
查看权限:lsattr

Chattr对root用户也有限制

+<属性> 开启文件或目录的该项属性。
-<属性> 关闭文件或目录的该项属性。
=<属性> 指定文件或目录的该项属性。

[root@localhost test-gsc]# chattr +a quanxian.txt 
[root@localhost test-gsc]# lsattr quanxian.txt 
-----a---------- quanxian.txt

chattr的详细选项:

这项指令可改变存放在ext2文件系统上的文件或目录属性,这些属性共有以下8种模式:
    a:让文件或目录仅供附加用途。只能追加内容。
    b:不更新文件或目录的最后存取时间。
    c:将文件或目录压缩后存放。
    d:将文件或目录排除在倾倒操作之外。
    i:不得任意更动文件或目录。不能更改删除。
    s:保密性删除文件或目录,安全删除。
    S:即时更新文件或目录。
    u:预防意外删除。

a,文件只能追加内容。不能改前边的内容。
s安全删除,rm 的删除方式并不能直接删除,可以被找回,用这个方法可以在删除后用0或1进行覆盖,无法找回。

lsattr的详细选项。

    -a  显示所有文件和目录,包括以"."为名称开头字符的额外内建,现行目录"."与上层目录".."-d  显示,目录名称,而非其内容。
    -l  此参数目前没有任何作用。
    -R  递归处理,将指定目录下的所有文件及子目录一并处理。
    -v  显示文件或目录版本。
    -V  显示版本信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值