服务器 频道

UFS2新特性之ACL初探

    【IT168 服务器学院】昨天和朋友谈起一个复杂的权限控制的时候,我提起可以试试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、重新启动 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

    注意这个:-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加上去了。

    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--
    至此我们的ufs2 acl初探索完成。  

 

0
相关文章