文件系统访问控制列表
案例引入: 系统中有两个用户Tom,Jerry,Tom在公共目录中希望让Jerry访问(读写),你作为管理员应该如何实现?
讲解引入: Tom用户创建的文件的属主和属组(基本组)都是Tom,这就意味着Jerry不属于Tom的基本组,就不能应用于组权 限,此时Jerry访问时会应用其他other权限,如果要让Jerry能够实现读写,那必须给other权限,这样就很不安全了!
我们还可以把Tom文件的属主改为Jerry,但是普通用户是没有权限更改的
创建俩用户
Tom创建个文件
Jerry更改Tom的文件属主组
但是不可以
显示结果: chown: 正在更改"a.tom" 的所有者: 不允许的操作
这怎么办呢?这就体现了文件系统访问控制列表的意义了!
解决方法:
FACL: Filesystem Access Control List
意义: 利用文件扩展属性,保存了额外的访问控制权限
命令:
setfacl:设置facl
-m:设定额外权限
格式: -m u:UID:perm //设定用户为perm权限
-m g:GID:perm //设定组为perm权限
-m d:u:UID:perm //主要针对目录操作,将目录扩展权限向下继承
-m d:g:GID:perm //主要针对目录操作,将目录扩展权限向下继承
-x:取消额外权限
格式: -x u:UID
-x g:GID
getfacl:获取facl
举例:
查看一下inittab的访问控制权限 注:冒号中间若为空 则表示当前用户
另一案例:设置用户hadoop对文件inittab读写权限
输出重定向 , 显示权限不够
解决方法:
使用高管 来为用户hadoop 设置访问控制权限 图中 给了读写的权限
验证:
同样的对属组设置也是类似
注意:
备注: 一个文件要是有扩展属性的话,ls -l显示结果会看到+这个符号
注意: 一个有着扩展属性的文件,通过复制或归档一个文件时,这个扩展属性很可能不能归档,除非使用特定选项或命令。
取消权限:
1.取消用户权限
2. 取消组权限