ACL针对

使用者 (user)

群组 (group)

默认属性 (mask)


观察acl是否启动

mount

/dev/hda2 on / type ext3 (rw)

dumpe2fs -h /dev/hda2

查看Default mount options: user_xattr acl


如果没有启动手动启动

mount -o remount,acl /

mount

/dev/hda2 on / type ext3 (rw,acl) 

这样就加入了但是如果想要每次开机都生效那就这样做 

vi /etc/fstab LABEL=/1 / ext3 defaults,acl 1 1


ACL设定 getfacl, setfacl

setfacl 设定目录、档案acl

-m设定后续的 acl 参数给档案使用不可与 -x 合用 

-x 删除后续的 acl 参数不可与 -m 合用

-b 移除所有的 ACL 设定参数 

-k 移除预设的 ACL 参数关于所谓的『预设』参数于后续范例中介绍 

-R 递归设定 acl 包括次目录都会被设定起来 

-d 设定『预设 acl 参数』的意思只对目录有效在该目录新建的数据会引用此默认值

针对使用者的设定方式u:[使用者账号列表]:[rwx]

 针对vbird1设定

[root@www ~]# touch acl_test1

[root@www ~]# ll acl_test1 

-rw-r--r-- 1 root root 0 Feb 27 13:28 acl_test1 

[root@www ~]# setfacl -m u:vbird1:rx acl_test1 

[root@www ~]# ll acl_test1 

-rw-r-xr--+ 1 root root 0 Feb 27 13:28 acl_test1


getfacl 查看getfacl filename

选项和setfacl同

列出acl_vbird1的权限 #代表默认属性

getfacl acl_test1

# file: acl_test1 <==说明档名而已 

# owner: root <==说明此档案的拥有者第三使用者字段 

# group: root <==此档案的所属群组第四群组字段 

user::rwx <==使用者列表栏是空的代表档案拥有者的权限 

user:vbird1:r-x <==针对 vbird1 的权限设定为 rx 与拥有者不同 

group::r-- <==针对档案群组的权限训定仅有 r 

mask::r-x <==此档案预设的有效权限 (mask) 

other::r-- <==其他人拥有的权限啰


针对群组的设定方式 g:[群组列表]:[rwx]

[root@www ~]# setfacl -m g:mygroup1:rx acl_test1 

[root@www ~]# getfacl acl_test1

group:mygroup1:r-x <==这里就是新增的部分


mask有效权限范围 m:[rwx]

# 设定范围『 m:[rwx] 』例如针对刚刚的档案规范为仅有 r  

[root@www ~]# setfacl -m m:r acl_test1 

[root@www ~]# getfacl acl_test1 

# file: acl_test1 

# owner: root 

# group: root user::rwx user:vbird1:r-x  #effective:r-- <==vbird1+mask均存在者仅有 r 而已 group::r-- group:mygroup1:r-x #effective:r-- 

mask::r-- 

other::r--

vbird1与 mask 的集合发现仅有 r 存在因此 vbird1 仅具有 r 的权限而已并不存在 x 权限这就是 mask 的功能了


针对目录的默认acl权限修改(继承) d:[ug]:使用者列表:[rwx]

让 myuser1 在 /srv/projecta 底下一直具有 rx 的预设权限

[root@www ~]# setfacl -m d:u:myuser1:rx /srv/projecta 

[root@www ~]# getfacl /srv/projecta 

# file: srv/projecta 

# owner: root 

# group: projecta 

user::rwx 

user:myuser1:r-x 

group::rwx 

mask::rwx 

other::--- 

default:user::rwx 

default:user:myuser1:r-x 

default:group::rwx 

default:mask::rwx 

default:other::---

删除ACL 的属性setfacl -b 檔名