昨天和朋友谈起一个复杂的权限控制的时候,我提起能够试试ufs2的acl。当5.0的特性公开的时候,我第一感兴趣的就是ufs2的各种特性,特别就是这个acl,但是事实证实,这个acl和我理想中的ntfs那种acl还是不相同。顺便提一下,我觉得虽然win2000做服务器不是让我很爽,但是ntfs的权限系统的确比ufs的权限控制强大,Windows也并不是那么一无是处的。下边说说我一个早上的心得:
老的ufs1的权限是三部分,u(ser)g(roup)o(ther),u只能是个人,g能够是一组人,而o就是其他任何人,那么应用了ufs2 acl以后,u能够是几个人,而g能够是几组人,而且各自有各自的权限。
使用acl的前提是:
1、内核编译的时候加上options UFS_ACL(5.1-Release默认内核已支持);
2、ufs2(5.x默认);
3、mount时声明acls(能够通过修改/etc/fstab)。
另外需要注意的是,对于一个已mount的系统,不能通过`mount -u`的方式来支持acl,必须使用完全的umount再mount,因此修改/etc/fstab是个好主意。
(编注:也能够使用 tunefs -a enable filesystem 来使acl永远生效,这样就能够不必在每次mount时都要加上acls参数了。)
我的步骤:
1、修改/etc/fstab
# 我是在/home上做的测试
/dev/ad0s1f /home ufs rw,acls 2 2
2、重新启动
/dev/ad0s1f /home ufs rw,acls 2 2
reboot
3、生成测试文档
touch /home/root/test
4、显示文档属性
ls -l /home/root/test
root@bsd5:/root# ls -l /home/root/test -rw-r--r-- 1 root wheel 0 Jun 29 13:35 /home/root/test
root@bsd5:/root# ls -l /home/root/test -rw-r--r-- 1 root wheel 0 Jun 29 13:35 /home/root/test
注意这个:-rw-rwxr--
5、增加ACL
setfacl -m u:cat:rwx,g:mail:rw /home/root/test
6、显示文档属性
ls -l /home/root/test
root@bsd5:/root# ls -l /home/root/test
-rw-rwxr-- 1 root wheel 0 Jun 29 13:38 /home/root/test
注意这个:-rw-rwxr-- ,说明acl加上去了。 root@bsd5:/root# ls -l /home/root/test
-rw-rwxr-- 1 root wheel 0 Jun 29 13:38 /home/root/test
7、列出ACL
getfacl /home/root/test
root@bsd5:/root# getfacl /home/root/test
#file:/home/root/test
#owner:0
#group:0
user::rw-
user:cat:rwx
group::r--
group:mail:rw-
mask::rwx
other::r--
root@bsd5:/root# getfacl /home/root/test
#file:/home/root/test
#owner:0
#group:0
user::rw-
user:cat:rwx
group::r--
group:mail:rw-
mask::rwx
other::r--
至此我们的ufs2 acl初探索完成。
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!



