文章目录

要想使用ACL功能,首先需要正确编译2.6内核,并确保有下列选项:

CONFIG_EXT2_FS_POSIX_ACL=yCONFIG_EXT3_FS_POSIX_ACL=yCONFIG_FS_POSIX_ACL=y`</pre>

用新内核启动后,还要求在挂载分区的时候添加必要的参数“acl”。
<pre>`mount -t ext3 -o rw,acl /dev/hda8 /your_mount_point
或在 /etc/fstab 中加入下列行,实现自动mount分区并且带有“acl”参数。
/dev/hda8
ext3 /your_mount_point defaults,acl 1 1`</pre>

正确挂载文件系统后,就可以使用ACL的命令来修改文件的ACL属性了。修改ACL属性的命令有setfacl、getfacl 和chacl,其中chacl是一个SGI IRIX兼容命令,主要适用于那些对SGI IRIX以及XFS文件系统比较熟悉的用户。本文只介绍setfacl和getfacl命令,具体用法如下面的例子:

1.使文件1.txt可以被用户test读写
<pre>`setfacl -m u:test:rw 1.txt`</pre>

2.使文件1.txt可以被qmail组的组员读,但不能写
<pre>`setfacl -m g:qmail:r 1.txt`</pre>

3.把某一文件的ACL属性copy给另一文件,比如把文件1.txt的ACL属性copy给2.txt:
<pre>`getfacl 1.txt | setfacl -set-file=- 2.txt`</pre>

4.同时为文件设置不同用户或组的权限
比如对文件2.txt设定testmail用户可读写,qmail组组员可读可执行,nofiles 组组员可执行:
<pre>`setfacl -m u:testmail:rw,g:qmail:rx,g:nofiles:x 2.txt

查看man page可获得setfact和getfacl命令更详细的用法。
在系统管理员的工作中,遇到的最大的困难往往不是高难度的内核问题,也不是配置Apache服务器之类的问题,而是控制文件访问权限的问题。主管领导常常 会提出非常特别的要求,权限配置经常具体到人,这在配置文件服务器Samba时非常难于实现,使用2.6内核中的ACL(访问控制列表)新功能,问题就会 迎刃而解。

文章目录