Chinaunix首页 | 论坛 | 博客
  • 博客访问: 96292
  • 博文数量: 1
  • 博客积分: 2010
  • 博客等级: 大尉
  • 技术积分: 330
  • 用 户 组: 普通用户
  • 注册时间: 2007-07-04 23:57
文章分类
文章存档

2009年(1)

我的朋友

分类: LINUX

2009-05-21 17:31:52

Linux ACL 介绍:
   ACL 是 Access Control List 缩写,是普通权限(所有者,所有组,其他用户)的补充.
如果要使用ACL权限.必须要有分区系统的支持,ReiserFS, EXT2/EXT3, JFS, XFS等文件系统都是默认就支持ACL权限的.不需要特地开启此功能,由于默认就支持所以可以直接使用命令配置权限就OK啦.不过在 CentOS 则默认不支持 ACL,需要另行开启.
  
开启ACL:

   现在假设我们有一个独立的分区并且被挂载到了/engine目录上.那么我们就可以使用以下命令来开启这个分区的ACL功能.

[root@localhost /]#mount /dev/hda5 /engine -o remount,acl

上面的命令其实就可以让/engine所挂载的分区支持ACL了,但是千万不要忘了,mount命令所做的操作在系统重新启动后就会失效.所以我们还需要修改/etc/fstab文件.

[root@localhost /]#vi /etc/fstab
/dev/hda5 /engine ext3 defaults,acl 0 0

/etc/fstab里面可能会有好多行,不过没关系,我们只需要把这一行按照自己的分区情况写到最后一行就好了.

设置与查看ACL权限:

getfacl:用于查看某个文件和目录的ACL权限.

用法如下,假设我们有一个文件名为china.txt并且设置好了ACL权限,那么就可以使用以下命令来查看china.txt的ACL权限:

[root@localhost /]#getfacl china.txt
# file: china.txt    #文件名
# owner: root        #文件所有者和ls -l看到的是一样的.
# group: root        #文件所有组和ls -l看到的是一样的. 
user::rwx            #所有者权限和ls -l看到的是一样的.
user:yue:r-x         #这里就是ACL为yue这个用户单独设置的权限了.
group::r--           #所有组权限和ls -l看到的是一样的. 
mask::r-x            #权限掩码,正对目录有效,下级文件会继承这个权限.
other::r--           #其他用户权限和ls -l看到的是一样的.

 

setfacl:此命令是用于设置ACL权限的命令,它有几个主参数
-m :设置文件ACL的u,g,o权限.
-x :删除文件ACL的u,g,o权限.
-b :移除所有的 ACL 参数
-k :移除预设权限.
-R :递归设置权限.
-d :设置预设权限.

举例:

[root@www ~]# touch china.txt                  
[root@www ~]# ll china.txt                    
-rw-r--r-- 1 root root 0 Feb 27 13:28 china.txt
[root@www ~]# setfacl -m u:yue:rx china.txt   
[root@www ~]# ll acl_test1                    

 




 

阅读(1365) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:没有了

给主人留下些什么吧!~~