Linux|系统管理|WEB开发

关注Linux,系统管理,WEB开发以及开源世界

最简单的ACLs使用实例

| Comments

写找个豆腐干帖子的目的是让让自己记住一个最快最简单的ACLs配置有哪些配置。网络上已经有很多长篇大论描述ACLs了。

  1. 首先讲对应的分区挂载的时候增加acl选项,在/etc/fstab对应一行的defaults后面增加acl就好了。作为测试,下面的方法来得更快

mount -o remount,defaults,acl /dev/hda7 /

如果mount命令显示类似下面的样子,就OK了

# mount
/dev/hda7 on / type ext3 (rw,acl)
  1. 搞一个例子先,假设四个账号 user1,user2,nfs1,www1,其中user1,nfs1,www1都属于组project1,但user2不是。创建一个user1:project1的目录,假定为project1

     # ls -ld /home/project1/
     drwxrwx–x 2 user1 project1 4096 Apr 29 16:53 /home/project1/
    

    这种情况下,user1,nfs1,www1是能进入到找个目录,并创建文件的,但是user2不行

     $ id
     uid=5002(user2) gid=5003(user2) groups=5003(user2)
     $ ls -l /home/project1/
     ls: /home/project1/: Permission denied
    
  2. 创建允许user2读目录project1的ACL访问权限

     $ id
     uid=503(user1) gid=5002(project1) groups=503(user1),5002(project1)
    
     $ getfacl /home/project1/
     getfacl: Removing leading '/' from absolute path names
     # file: home/project1
     # owner: user1
     # group: project1
     user::rwx
     group::rwx
     other::–x
    
     $ setfacl -m u:user2:r-x /home/project1/
    
     $ getfacl /home/project1/
     getfacl: Removing leading '/' from absolute path names
     # file: home/project1
     # owner: user1
     # group: project1
     user::rwx
     user:user2:r-x
     group::rwx
     mask::rwx
    
  3. 看看user2是不是已经有权限了

    $ id uid=5002(user2) gid=5003(user2) groups=5003(user2)

    $ ls -l /home/project1/ total 0 -rw-r–r– 1 user1 project1 0 Apr 29 16:53 user1

  4. 结束

Comments