linux ACL权限控制

一、ACL的使用

   ACL即Access Control List 主要的目的是提供传统的owner,group,others的read,write,execute权限之外的具体权限设置,ACL可以针对单一用户、单一文件或目录来进行r,w,x的权限控制,对于需要特殊权限的使用状况有一定帮助。如,某一个文件,不让单一的某个用户访问。使用ACL授权的目录/文件,使用ll查看时,能够看到在drwxr-xr--+中比一般的目录/文件多了一个加号+,表示该目录/文件拥有额外的权限。

ACL使用两个命令来对其进行控制:
    getfacl:取得某个文件/目录的ACL设置项目
    setfacl:设置某个文件/目录的ACL设置项目

二、ACL的安装和启用
   ACL默认状态下是没有启用的,除非手动启动才行,所以让文件支持ACL的方法其实和quota差不多,也是需要手动开启,并且加入到/etc/fstab中。但区别在于只有第一次分区的盘(就是安装的单独分区)才具备ACL的重开机保留功能。

0、安装:

yum -y install acl 

1、  用root用户检查需要赋予权限的目录、文件所在的路径是否已经挂载了acl。

1):该命令查看磁盘挂载的目录(如:/home/skyleo/dev/sdb1下面

[root@hadoop4 ~]# df -h           


2):如果发现是lvs逻辑卷方式挂载,那么用如下命令查看真实磁盘

[root@hadoop4 ~]# cat /etc/fstab           



3):检查需要赋权路径对应的磁盘是否含有acl挂载

[root@hadoop4 ~]# dumpe2fs /dev/sdb1 |grep acl

dumpe2fs 1.41.12 (17-May-2010)

4):如上,发现没有acl,则使用root用户进行挂载(如已有acl,则不需要重新挂载;且挂在命令需要使用root用户执行)

[root@hadoop4 ~]# mount -o remount,acl /dev/sdb1

5):检查是否挂载成功

[root@hadoop4 ~]# dumpe2fs /dev/sdb1|grep acl

dumpe2fs 1.41.12 (17-May-2010)

Default mount options:    user_xattr acl(有该内容表示挂载成功)


  
 setfacl 参数
  -m:设置后续acl参数 
  -x:删除后续acl参数  
  -b:删除全部的acl参数
  -k:删除默认的acl参数
  -R:递归设置acl,包括子目录
  -d:设置默认acl


参考资料:http://man.linuxde.net/setfacl

http://blog.chinaunix.net/uid-12372814-id-149013.html

http://blog.chinaunix.net/uid-26454764-id-3729847.html

原文地址:https://www.cnblogs.com/huangmr0811/p/5571025.html