Linux——ACL控制对文件的访问

一、ACL概念:

1、什么是ACL(访问控制列表)?为什么要引用ACL?

当文件由单个人和指定的一组人使用时,标准的文件访问权限即可满足要求。但是,此时如果要指定多个用户和组以不同的文件权限来访问文件,此时就要引入ACL。

假设现在网络是一个公司,财务部的资料仅可财务部以及内部的人员读取修改,其他人不具有访问权限。现在新来了一位成员,但是管理者只想给他设置读取权限,不设置其他权限,此时就要引入ACL来对这个新成员设置特定的权限。

2、设置ACL的文件和目录特点:

新文件和子目录会自动从父目录的默认ACL中继承ACL设置,但是父目录至少需要执行权限。即当前设置了ACL的目录中创建新文件和目录时,新建的文件和目录会拥有和父目录相同的ACL设置。

二、查看ACL:

ls -l   #仅输出最少的ACL设置详细信息,权限字符串末尾的加号(+)表示该文件存在ACL

注意:此时显示的组权限是ACL掩码,而不是组所有者的设置,同样地使用chmod更改ACL的组权限时,修改的是ACL掩码,而不是组所有者权限,并且其他用户的ACL设置无访问权限。

1、查看文件和目录ACL:

getfacl file/directory   #查看文件或目录上的ACL
(1)用户条目、组条目中:

两个冒号(::)是文件或组所有者,一个冒号(:)是指定的用户或组,ACL掩码将限制有效权限为rw

(2)默认用户和组条目:

用户名或组名前加default:

(3)默认ACL掩码(d:u/d:g)

确保后面目录中新建的文件或目录拥有指定用户、指定组和组所有者ACL设置

(4)ACL掩码:

可授予指定用户、组所有者和指定组的最大权限,但不限制文件所有者或其他用户的权限

(5)其他条目:
其他或全局权限,所有其他的UID和GID均无任何权限

2、大写字母X :

当添加执行权限时,如果文件的用户、组和其他用户没有一个拥有执行权限,那么无法直接使用a+X给用户、组和其他用户添加执行权限,此时只能给目录添加执行权限。

3、ACL权限优先级:

(1)如果以文件所有者身份运行进程,则应用文件的所有者的ACL。

(2)如果以 ACL 条目中列出的用户身份运行进程,则应用指定用户 ACL(只要mask允许。

(3)如果以文件的组所有者身份运行进程,或以 ACL 条目的 group 身份运行进程,则应用相匹配的 ACL(只要 mask 允许) 否则,将应用文件的 other ACL。

setfacl        #更改(添加、修改或删除)文件和目录的标准ACL,短划线(-)表示缺少相关权限

setfacl –m     #添加或修改用户ACL或指定ACL

setfacl –x     #删除特定的ACL条目(只会从文件或目录ACL中删除指定用户和指定组,其他ACL条目仍保持活动)

setfacl –b     #删除文件或目录的所有ACL条目,包括默认的ACL

setfacl –k     #删除目录的所有默认ACL条目

注意:

(1)chmod对于ACL设置的文件,只能更新ACL掩码,对任何权限没有影响

(2)也可以使用同一命令添加多个条目,用逗号分开

(3)也可结合-R选项以递归方式应用ACL,此时要注意X的使用,只有目录会设置执行权限

(4)掩码只能在未设置其他ACL的情况下删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值