linux ACL

来源:互联网 发布:java long转int 编辑:程序博客网 时间:2024/05/19 02:25

原文地址已无法找到

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

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

-rw-rwx--- 1 root root 2 101 15:16 diray

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

举个例子:我有本日记,我现在想让我的密友看,但是别的朋友不可以看。
在这里,“日记”就是文件或者目录,“我”就是“日记”的所有者,文件所在组这里没提到,你可以认为你是内心的独白,“朋友”就是其他组。
在传统权限控制中,我想让我的密友看,那么就必须给其他组r权限,这样一来,不光是密友可以看见了,所有朋友都能看见。
那我能不能只让密友看,而不让其他人看呢!当然可以,这就是ACL目的所在,可以针对单个用户、群组进行特别权限控制。

先来看下传统的权限:

ls -l diary-rw-rwx---. 1 root root 2 101 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 101 15:16 diary

最后的.变成了+号,这个是因为我设置了ACL缘故。

0 0