您的位置:首页 > 运维架构 > Linux

linux ACL

2016-03-09 10:09 381 查看
原文地址已无法找到

ACL

ACL全称Access Control List,访问控制列表,这个东西又是什么?

在传统的权限控制中,比如ls -l diary,diary是我的一个文件。

-rw-rwx--- 1 root root 2 10月  1 15:16 diray


对于某个文件和目录,它的使用者大致分为三类:文件拥有者、文件拥有者所在组、其他组这三大类,这样分就有一个很大的局限性,就是不能个性化。

举个例子:我有本日记,我现在想让我的密友看,但是别的朋友不可以看。

在这里,“日记”就是文件或者目录,“我”就是“日记”的所有者,文件所在组这里没提到,你可以认为你是内心的独白,“朋友”就是其他组。

在传统权限控制中,我想让我的密友看,那么就必须给其他组r权限,这样一来,不光是密友可以看见了,所有朋友都能看见。

那我能不能只让密友看,而不让其他人看呢!当然可以,这就是ACL目的所在,可以针对单个用户、群组进行特别权限控制。

先来看下传统的权限:

ls -l diary
-rw-rwx---. 1 root root 2 10月  1 15:16 diary<br>


再来看下默认情况下ACL的设定:

getfacl diary
# file: diary    //文件名
# owner: root    //文件拥拥有者
# group: root    //文件拥所在组
user::rw-        //文件拥有者对其的权限,::之间为空代表文件所有者
group::rw-       //文件所在组对其的权限,::之间为空代表文件所在组
other::---       //其他组成员对其的权限,::之间为空代表其他组成员


和ls -l的显示结果一模一样,只是换了种显示方式,现在来设置只让密友查看:

setfacl -m u:miyou:r-- diary


设置完就只有密友可以查看,别的人就看不了了,再来看下ACL:

getfacl diary
# file: diary
# owner: root
# group: root
user::rw-
user:miyou:r--   //多出了这一项
group::rw-
mask::rwx        //又冒出了这么个东东
other::---


mask的作用是这样的:它规定了开放权限的范围,比如我现在把umask设置为r–,而我还想让我的密友可以修改我的日记,于是密友变成了rw-,由于我最大只开放了r权限,即使把密友设置为rw-也只能有r权限,w无效。

再来看下一个好玩的东西:

ls -l diary
-rw-rwx---+ 1 root root 2 10月  1 15:16 diary


最后的.变成了+号,这个是因为我设置了ACL缘故。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: