美文网首页
Linux之——ACL

Linux之——ACL

作者: NeverGP | 来源:发表于2018-08-27 08:47 被阅读0次

    LINUX.jpg

    ACL: 访问控制列表 access control list

    实现灵活的权限管理
    设置ACL权限setfacl

    显示file1文件原有权限
    [root@centos7 ~]#ls -ld file1 
    -rw-r--r--. 1 root root 20 Aug 17 22:43 file1
    
    查看test用户id信息
    [root@centos7 ~]#id test
    uid=1001(test) gid=1001(test) groups=1001(test)
    
    为test用户添加ACL读写(rw)权限
    [root@centos7 ~]#setfacl -m u:test:rw file1 
    
    查看file1文件权限改变,多出“+”符号
    [root@centos7 ~]#ll file1 
    -rw-rw-r--+ 1 root root 20 Aug 17 22:43 file1
    
    查看file1文件的ACL权限列表
    [root@centos7 ~]#getfacl file1 
    # file: file1        ## 文件名称
    # owner: root        ## 所有着
    # group: root        ## 所属组
    user::rw-            ## 所有者权限
    user:test:rw-        ## test用户权限
    group::r--           ## 所属组权限
    mask::rw-            ## 隐藏权限(ACL权限,所有的权限只能比它小)
    other::r--           ## 其他用户权限
    
    删除指定用户对file1文件的ACL权限
    [root@centos7 ~]#setfacl -x test file1 
    [root@centos7 ~]#getfacl file1         
    # file: file1
    # owner: root
    # group: root
    user::rw-
    group::r--
    mask::r--
    other::r--
    
    删除所有用户对file1文件的ACL权限
    [root@centos7 ~]#setfacl -b file1
    [root@centos7 ~]#getfacl file1    
    # file: file1
    # owner: root
    # group: root
    user::rw-
    group::r--
    other::r--
    
    修改mask值
    [root@centos7 ~]#setfacl -m mask::r file1
    [root@centos7 ~]#getfacl file1 
    # file: file1
    # owner: root
    # group: root
    user::rw-
    group::r--
    mask::r--
    other::r--
    

    补充
    1.centos7上安装操作系统前创建的文件系统,自动添加ACL功能;安装操作系统后添加的磁盘并创建文件系统,需要手动添加ACL功能
    tune2fs -o acl /dev/sdb1
    mount -o acl /dev/sdb1 /mnt/sdb1

    2.创建ACL权限后,如何确定用户对文件所拥有的权限

    • 判断用户是否是该文件的所属主。如果是所属主,则执行所属主的权限。
    • 如果不是所属主,则判断是否添加了用户ACL权限
    • 如果没有添加用户ACL权限,判断是否添加了组ACL权限
    • 如果用户属于多个组,没有设置用户ACL权限,且多个组添加了ACL权限,用户对文件的权限位多个组权限的并集

    3.批量添加、删除ACL权限

    批量添加 ACL权限
    setfacl -M acl.txt file1
    批量删除ACL权限
    setfacl -X dacl.txt  file1
    

    4.备份ACL权限
    getfacl -R file1> acl.txt
    恢复ACL权限
    setfacl --restore acl,txt file1

    相关文章

      网友评论

          本文标题:Linux之——ACL

          本文链接:https://www.haomeiwen.com/subject/sroxiftx.html