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