ACL 访问控制列表配置
#tune2fs -l /dev/sda1
查看Default mount options: 行 可以看到/dev/sda1分区是否支持ACL
1)新建一个支持ACL的分区
挂载
刚刚创建时 Default mount options:项显示(none)
#mount -o remount,acl /dev/sda3 重新挂载并启用acl支持
也可以在挂载时就指定
#mount -o acl,等等的options /dev/sda3 /mountpoint
#mount命令查看所有挂载分区情况 可以看出是否支持acl
如:/dev/sda3 on /shared type ext3 (rw,acl)
如果想让开机自动挂载则:
#vim /etc/fstab
加入 /dev/sda3 /shared ext3 defaults,acl 0 0
也可以用tune2fs设定系统默认挂载选项
#tune2fs /dev/sda3 -o acl
tune2fs 可以改变文件系统挂载属性 -o 设定其默认的额外挂载选项
在/shared目录下创建目录test 可以给此目录添加acl属性
四个默认权限模型: per user;per group ;有效权限掩码 ;取反
#setfacl -m <rules> <files>
-m设定acl
-x移除acl
-b移除所有acl信息
<rules>:
u:username:uid
g:groupname:gid
m:mask掩码
o:除了组中的用户之外其余所有的用户的掩码
d:u:uid:perm; d:g:gid:perm ; d:o:perm
可以在同一行为多个用户指定 用,隔开
例如:
#setfacl -m u:redhat:rwx /shared/test
此时 redhat 将对此目录有rwx权限
#su - redhat -c 'touch /shared/test/a.redhat'
以redhat的身份执行command命令
#ll /shared/test
drwxrwxr-x+ 2 root root 1024 jul 27 09:55 test
+表示该目录启用ACL
如果要查看某目录的acl信息 可以#getfacl /shared/test
# file: test
# owner: root
# group: root
user::rwx
user::redhat:rwx 表示redhat有此权限
group::r-x
mask::rwx 有效权限位 必须mask中有的权限 才能用acl赋给某个用户或者组
other:r-x
测试一下有效权限位的作用:
#setfacl -m m:r-x test
则 redhat的w将不起作用
#setfacl -m g:mygrp:rwx /shared/test
此时 mygrp组将对此目录有rwx权限
#getfacl test之后
多了一行 group::mygrp:rwx 属于mygrp组中的用户对此目录有rwx权限
#setfacl -x g:mygrp test
将移除mygrp的acl权限 group::mygrp:rwx 行不再有
#setfacl -m d:g:mygrp:r-x test
设置此目录的属组默认acl权限
设定默认acl规则用d (即default) 后面可以为ugo
当某用户或组的权限没有专门指定时以默认为准
如果用前面命令指定了权限 则以指定的为准
当没有专门指定时 以默认为准
#setfacl -m d:u:redhat:r-- test
#setfacl -m u:redhat:rwx test
redhat创建的文件将继承u的默认权限后面有+
如果不单独对u设置默认权限 则redhat创建的文件将继承目录对于此用户的默认acl权限 但后面没有+