Linux使用入门教程:ACL用法以及权限

介绍下Linux中ACL的用法以及权限,简单地来说ACL就是可以设置特定用户或者用户组对于一个文件/文件夹的操作权限. 需要掌握的命令也只有三个: getfacl, setfacl。
 
 
在接下去讨论之前大家可以先安装上ACL的RPM包
 # rpm -ivh libacl-2.2.39-1.1 acl-2.2.39-1.1.i386.rpm
 
另外还需要磁盘分区的支持
 永久启用acl。
 
查看磁盘默认挂载是否支持acl:
 
[root@rhce ~]# tune2fs -l /dev/sda1 | grep "Default mount options"
 Default mount options:    user_xattr acl
 
[root@rhce ~]# dumpe2fs -h /dev/sda1 | grep acl
 dumpe2fs 1.41.12 (17-May-2010)
 Default mount options:    user_xattr acl
 
动态实时重新挂载目录使其支持acl:
 
我这里以自己的分区/aa为例
 mount -o remount,acl /aa
 
并将选项加入fstab文件使其下次开启自动生效。
 
# vi /etc/fstab
 /dev/huhu/aa /aa ext4 defaults,acl 1 2
 

出现上面的信息代表分区的acl功能已经正常加载
 
 
# cat /etc/mtab | grep /aa
 
/dev/mapper/huhu-aa /aa ext4 rw,acl 0 0
 
二、ACL的名词定义
 
先来看看在ACL里面每一个名词的定义。
 
ACL 是由一系列的访问条目所组成的. 每一条访问条目定义了特定的类别可以对
 文件拥有的操作权限. 访问条目有三个组成部分: Entry tag type, qualifier
(optional), 权限
 
我们先来看一下最重要的Entry tag type, 它有以下几个类型
 
ACL_USER_OBJ: 相当于Linux里file_owner的权限
 ACL_USER: 定义了额外的用户可以对此文件拥有的权限
 ACL_GROUP_OBJ: 相当于Linux里group的权限
 ACL_GROUP: 定义了额外的组可以对此文件拥有的权限
 ACL_MASK: 定义了ACL_USER, ACL_GROUP_OBJ和ACL_GROUP的最大权限 (这个我下面还会专门讨论)
 ACL_OTHER: 相当于Linux里other的权限

相关推荐