Linxu的ACL的使用

例:
myuser1 是 projecta 这个项目的助理,他需要这个项目的内容, 但是他『不可以修改』项目目录内的任何数据!那该如何是好?你或许可以这样做:

将 myuser1 加入 projecta 这个群组的支持,但是这样会让 myuser1 具有完整的 /srv/projecta 的权限, myuser1 是可以删除该目录下的任何数据
的!这样是有问题的;将 /srv/projecta 的权限改为 775 ,让 myuser1 可以进入查阅数据。但此
时会发生所有其他人均可进入该目录查阅的困扰! 这也不是我们要的环境。

什么是 ACL
ACL 是 Access Control List 的缩写,主要的目的是在提供传统的owner,group,others 的 read,write,execute 权限之外的细部权限配置。

ACL 可以针对单一使用者,单一文件或目录来进行 r,w,x 的权限规范,对于需要特殊权限的使用状况非常有帮助。

 使用者 (user):可以针对使用者来配置限;
 群组 (group):针对群组为对象来配置其限;
 默认属性 (mask):还可以针对在该目录下在创建新文件/目录时,规范新数据的默认权限;

setfacl:配置某个目录/文件的 ACL 规范
setfacl 命令用法
Linxu的ACL的使用_第1张图片

setfacl 命令用法
1. 针对特定使用者的方式:
#配置规范:『 u:[使用者账号列表]:[rwx] 』,例如针对 user1 的权限规范rx :

Linxu的ACL的使用_第2张图片

无使用者列表,代表配置该文件拥有者,所以上面显示 root 的权限成为rwx 了。
在这里插入图片描述
上述动作为最简单的 ACL 配置,利用『 u:使用者:权限 』的方式来配置,**配置前请加上 -m 这个选项。如果一个文件配置了 ACL 参数后,他的权限部分就会多出一个 + 号了。**但是此时你看到的权限与实际权限可能就会有点误差! 那要如何观察呢?就通过 getfacl 吧。

getfacl:取得某个文件/目录的 ACL 配置项目;
Linxu的ACL的使用_第3张图片
针对特定群组的方式:
配置规范:『 g:[群组列表]:[rwx] 』,例如针对 mygroup1 的权限规范 rx

Linxu的ACL的使用_第4张图片

针对有效权限 mask 的配置方式:
配置规范:『 m:[rwx] 』,例如针对刚刚的文件规范为仅有 r

Linxu的ACL的使用_第5张图片

你可能感兴趣的:(Linxu的ACL的使用)