另一案例:设置用户hadoop对文件inittab读写权限
[root@xiaoke ~]# useradd hadoop
[root@xiaoke ~]# su - hadoop
[hadoop@xiaoke ~]$ cd /backup/
[hadoop@xiaoke backup]$ echo 123 > inittab
显示结果:-bash: inittab: 权限不够
解决方法:
[root@xiaoke backup]# setfacl -m u:hadoop:rw inittab
[root@xiaoke backup]# getfacl inittab
显示结果:
# file: inittab
# owner: root
# group: root
user::rw-
//冒号中间为空,代表是默认属主
user:hadoop:rw-
//额外指定用户
group::r--
mask::rw-
other::r--
验证:
[root@xiaoke backup]# su - hadoop
[hadoop@xiaoke ~]$ echo 123 >> /backup/inittab
[hadoop@xiaoke ~]$ tail -2 /backup/inittab
显示结果:
id:3:initdefault:
123
同样的对属组设置也是类似
[root@xiaoke backup]# setfacl -m g:mygroup:rw inittab
[root@xiaoke backup]# getfacl inittab
显示结果:
# file: inittab
# owner: root
# group: root
user::rw-
user:hadoop:rw-
group::r--
group:mygroup:rw-
//注意组要事先存在
mask::rw-
other::r--
注意:
[root@xiaoke backup]# ls -l
显示结果:
-rw-rw-r--+ 1 root root 888 3月 9 06:41 inittab
备注:
一个文件要是有扩展属性的话,ls -l显示结果会看到+这个符号
注意:
一个有着扩展属性的文件,通过复制或归档一个文件时,这个扩展属性很可能不能归档,除非使用特定选项或命令。
取消权限:
1.取消用户权限
[root@xiaoke backup]# setfacl -x u:hadoop inittab
[root@xiaoke backup]# getfacl inittab
2.取消组权限
[root@xiaoke backup]# setfacl -x g:mygroup inittab
[root@xiaoke backup]# getfacl inittab