1.前言
- acl权限的开启不需要手工来做,Linux中默认的分区都已经全部开了acl权限,所以只需要查看和设定acl权限。
2.查看ACL命令
-
命令:
getfacl 文件名
作用: 查看acl权限
3.设定ACL权限的命令
-
选项: -m 设定ACL权限
-x 删除指定的ACL权限
-b 删除所有的ACL权限
-d 设定默认ACL权限
-k 删除默认ACL权限
-R 递归设定ACL权限
4.给用户设定ACL权限
命令: setfacl -m u:用户名:权限 文件名
- 不管是Linux还是Windows需要给这个文件或者文件夹分配权限,才能在服务器上正常使用。 只是对个人用户来讲,都是用管理员登录,然后就没有考虑过这种权限的设定。服务器给每个用户都有自己的权限。
- 在根下创建project目录,老师是root(rwx),一个班的学生是tgroup(rwx),其他班的学生是其他人(- - -)
- 不建议在根下建立过多的一级目录,这是做实验方便。在真正的服务器上操作或者实验应该在家目录和临时目录。
- 右侧出现特殊用户st,要使用acl权限对用户st单独分配权限。如果你还不是到什么是acl权限?acl权限是干啥的?有什么作用?请看这篇文章,传送门:https://blog.****.net/weixin_46818279/article/details/106832958
开始实验:
实验内容: 创建用户和目录,给用户设置对目录操作的权限。其中一个用户st是一个特殊用户,出现特殊情况,然后用acl权限给用户st单独分配权限,解决这个特殊情况。
-
(1)新建两个用户和一个组,把这两个用户加入这个组中
(2)改变这个目录的所有者和所属组,然后再设置所有者、所属组、其他人的权限
(3)出现特殊情况,就是所有者、所属组、其他人三个身份不够用的情况。就要单独给他分配权限。这是创建一个用户st,使用acl权限单独给用户st分配权限。
(4)进行查看/project这个目录,然后再用getfacl命令进行查看具体的acl权限,然后再切换到到用户st进行权限验证
提示: 在权限的后面多了个“+”除了普通权限之外拥有了acl权限,如果看具体的acl权限,就要用这个命令getfacl /project/
提示: 这里有一个报错:意思这个目录名的左侧的斜杠不认识,请你不要输这个斜杠,它不支持绝对路径的方式来表示,但是这个报错不影响整个命令的执行。 - acl权限就是把这个用户单独拿出来给个权限
5.给用户组设置ACL权限
命令: groupadd tgroup2 # 添加一个组
命令: setfacl -m g:tgroup2:rwx project/ #为组tgroup2分配权限,使用"g:组名:权限"格式
开始实验:
-
(1) 先添加一个组,然后再用
setfacl -m g:tgroup:rwx 目录名
设置组的acl权限,然后再用getfacl命令进行查看
6.总结
-
1.设定acl权限
给用户设acl权限:setfacl -m u:用户名:权限 文件名
给组设acl权限:setfacl -m g:组名:权限 文件名
2.查看acl权限
getfacl 文件名