一.命令作用
setfacl命令的作用是细分linux文件权限,可以精确到一个文件或者目录,而chmod只能把权限分为u、g、o三个组来划分权限。
二.实验证明:
实验题:复制inittab文件到/tmp目录下,并要求对user1用户有访问和写入权限。inittab的权限为rw-rw----。
使用chmod命令
分析:1.使user1拥有访问和写入权限,将other组添加rw-权限,但是其他用户也拥有了rw-权限,未达到实验要求。2.使user1拥有访问和写入权限,将user1加入到root group里面,能对文件进行访问,但是拥有了root group组的所有权限,未达到实验要求。
以上的chmod未能满足实验题的需求。因此使用文件控制访问列表(ACL)来对文件的权限进行精确控制。
1.用root复制inittab文件到/tmp目录下,并从查看相关权限
[[email protected] tmp]# cp /etc/inittab ./ [[email protected] tmp]# getfacl inittab # file: inittab # owner: root # group: root user::rw- group::r-- other::r--
2.创建user1用户后实验是否能够写入相关的内容
[[email protected] tmp]$ echo 123456 >> inittab bash: inittab: 权限不够
3.设置/tmp/inittabl文件的权限
[[email protected] tmp]# setfacl -m u:user1:rw- inittab
4.查看/tmp/inittab文件的权限
[[email protected] tmp]# setfacl -m u:user1:rw- inittab [[email protected] tmp]# getfacl inittab # file: inittab # owner: root # group: root user::rw- user:user1:rw- group::r-- mask::rw- other::r--
5.去除掉关于user1对inittab文件的rw-权限
[[email protected] tmp]# setfacl -x u:user1 inittab
6.查看inittab的文件的权限
[[email protected] tmp]# getfacl inittab # file: inittab # owner: root # group: root user::rw- group::r-- mask::r-- other::r--
7.使用user1再次写入内容到inittab中
[[email protected] tmp]$ echo 1111111 >> inittab bash: inittab: 权限不够
三.总结
实验证明,setfacl对权限的设置更加精确。满足以上试题的需求。
时间: 2024-10-18 05:52:19