1. 如果有两个用户tom和 jerrry,tom用户将相应管理的目录设置为共享权限,jerry是否可以进行访问

  2. 如果jerry如何进行访问?

提示:

不能用root用户权限,因为root用户在企业中不一定谁都可以有权限使用

FACL: FilesystemAccess Control List(文件系统访问控制列表);

利用文件扩展属性,保存了额外的访问权限,即可以指定相应的用户访问这个文件有什么样的权限

即:tom所要共享的目录,所属的属主依然是tom,所属的属组依然是jerry,并且其它用户权限依然是只读

只是对共享目录的访问权限进行额外指定,指定jerry这个用户具有rw的权限,但是对目录而言,jerry不是属主也不是属组,所以是利用了文件的扩展属性。

 

如何利用命令进行实现对文件的授予额外的访问权限

setfacl命令:表示设置acl信息

getfacl命令:表示获取acl信息

[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命令涉及到的命令参数如下说明:

 

参数    参数说明

-m    表示设定额外的访问控制列表;设定可以设定在用户上,也可以设定在组上,要分开设定
u:UID:perm  表示设定在用户上,对指定用户有什么样的扩展访问权限
g:GID:perm  表示设定在用户组上,对指定用户组有什么样的扩展访问权限
-x  表示取消额外的访问控制列表

 

setfacl -x u:oldboyinittab 
setfacl -x g:oldboyinittab

 

[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--