007-老男孩教育每日一题-setacl授权相关的两个小题
问题
- 如果有两个用户tom和 jerrry,tom用户将相应管理的目录设置为共享权限,是否能让jerry可以进行访问
- 如果jerry如何进行访问?
提示:
不能用root用户权限,因为root用户在企业中不一定谁都可以有权限使用,也不能随便让其他人员随意使用
FACL: FilesystemAccess Control List(文件系统访问控制列表);
利用文件扩展属性,保存了额外的访问权限,即可以指定相应的用户访问这个文件有什么样的权限
即:tom所要共享的目录,所属的属主依然是tom,所属的属组依然是jerry,并且其它用户权限依然是只读
只是对共享目录的访问权限进行额外指定,指定jerry这个用户具有rw的权限,但是对目录而言,jerry不是属主也不是属组,所以是利用了文件的扩展属性。
如何利用命令进行实现对文件的授予额外的访问权限
setfacl命令:表示设置acl信息
getfacl命令:表示获取acl信息
1 2 3 4 5 6 7 8 9 10 | [root@nfs-server data]#mkdir /backup [root@nfs-server data]# cd/backup [root@nfs-server backup]#cp /etc/inittab ./ [root@nfs-server backup]#getfacl inittab #<- 查看相应文件的acl信息 # file: inittab #<- 表示说明文件的名称信息 # owner: root #<- 表示说明文件的属主信息 # group: root #<-表示说明文件的属组信息 user::rw- #<- 表示属主的权限信息 group::r-- #<- 表示属组的权限信息 other::r-- #<- 表示其它用户的权限信息 |
说明:
并没有额外的扩展的访问控制列表信息。
如果需要实现对文件的拥有额外扩展的访问控制列表权限:
需要使用setfacl命令进行配置即可,setfacl命令涉及到的命令参数如下说明:
参数 参数说明
1 2 3 4 | -m 表示设定额外的访问控制列表;设定可以设定在用户上,也可以设定在组上,要分开设定 u:UID:perm 表示设定在用户上,对指定用户有什么样的扩展访问权限 g:GID:perm 表示设定在用户组上,对指定用户组有什么样的扩展访问权限 -x 表示取消额外的访问控制列表 |
1 2 | setfacl -x u:oldboy inittab setfacl -x g:oldboy inittab |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | [root@nfs-server backup]#setfacl -m u:oldboy:rw inittab [root@nfs-server backup]#su - oldboy [oldboy@nfs-server ~] cd/backup [oldboy@nfs-serverbackup]$ echo test.inf >>inittab [oldboy@nfs-serverbackup]$ tail -1 inittab test.inf [root@nfs-server backup]#getfacl inittab #file: inittab #owner: root #group: root user::rw- user:oldboy:rw- #<- 多了一个扩展的额外的用户访问权限信息 group::r-- mask::rw- other::r-- |
解答示例
1 | [tom@nfs-server backup]# setfacl -m u:jerrry:rw 文件夹 |
今天是老男孩教育每日一题陪伴大家的第7天。
对于题目和答案的任何疑问,请在博客评论区留言。
往期题目索引
继续阅读