ACL  文件访问列表

 

ACL FCL )是文件的安全访问控制,它在不需要改变文件的权限的情况下,给一些文件某些可访问的权限。

* 临时启用 ACL 使用 mount –o acl /mountpoit

 tune2fs –l /dev/sda |grep options 查看文件属性

* 永久启用要到 /etc/fstab  如图在 defaults 后添加, acl
 

下面介绍 setfacl getfacl 命令的使用

setfacl 命令主要用于允许大多数的用户或组使用 rwx 访问文件和目录

setfacl   –m  u:  gandolf:  rwx   fiel/firectory

       [1]   [2]   [3]      [4]       [5]

 

1. -m 执行命令   

-x 删除某权限 setfcl –x u:samwise file|directory

-b 移除所有的 acl 条目

-k 移除默认的 acl 条目

-r 递归

2. u: 指定用户

  g: 指定组

  d:[ug]: 指定默认

  m: 统一定义某个目录的权限,不允许有超出该权限

3 为用户或组

4 指定权限

5 指定目录或文件

 

getfacl

主要用于查看文件属性

getfacl file|directory

-d  查看默认文件属性

 

小实验

1 vim /etc/fstab  查看有没有挂载点使用了 acl 协议

 

 
2 使用 fdisk –l 查看磁盘分区情况
 
3 blkid /dev/sda5 查看文件系统类型

 
 
4 建立挂载点,并挂载使用 ACL 协议

mkdir share 

mount –o acl /dev/sda5  /share

使用   ls  share 查看

 
 
 
使用 mount 命令查看 /dev/mapper/vol0-home on /home 这一行出现 rw userquota,grpquota )表示挂载成功
 
 
 
5 拷贝一个文件到 /share 目录下

cp /etc/inittab  ./

使用   getfack inittab 查看文件权限设定

 

 

6 现在先设定用户权限

useradd liv

执行 setfacl –m u:liv:rw inittab

 
 
同样的 设定组的权限就使用 g

setfacl –m g:stu:wx inittab

 
 
setfacl –x u:liv inittab 删除 liv 的对 inittab 的权限
 
 
serfal –m u:poppy:wrx inittab

setfacl –m m:rx  inittab

 

 

标识 –w 权限已不能使用

getfacl –m d:u:liv:wrx directotry

 
 
注:只有目录才有默认 ACLs ,拷贝文件时 使用 cp –p 才能保留文件的 ACLs mv star 保留, cp tar 不保留 )