37-Linux-ACL

37-Linux-ACL_第1张图片

ACL怎么来的

    UGO权限模型, 一个文件的权限设置对象为 一个所属用户和一个所属组
    而, 当一个文件 有多个组 对其进行访问, 如何对多个组分别进行权限设置
    UGO模型 无法满足复杂的权限设置需求

什么是ACL

    Access Control List
    是一种高级权限机制, 允许对一个文件或目录 进行灵活复杂的权限控制
    不受 UGO模型限制

打开ACL

    挂载文件系统时 指定 ACL权限控制
    mount -o acl  /dev/sdd   /mnt
    注: 根分区默认是以 ACL方式打开的

设置

    查看 一个文件/目录的 ACL设置
        getfacl myFile
    一个用户对某文件的 ACL设置
        setfacl  -m  u:用户名:权限  文件或目录
        setfacl -m u:user_a:rwx myFile
        注: 如果要修改 则直接覆盖该规则即可
    一个组对某文件的 ACL设置
        setfacl -m g:group_a:rw myFile
    删除某个ACL设置
        setfacl -x u:user_a myFile

使用

    创建 用户和组
        # useradd user_a
        # groupadd group_a
    创建 文件
        # pwd
        /root
        # mkdir MyDir
    查看文件的ACL权限(默认)
        # getfacl MyDir
        # file: MyDir
        # owner: root
        # group: root
        user::rwx
        group::r-x
        other::r-x
    设置ACL规则
        # setfacl -m u:user_a:rwx /root/MyDir
        # setfacl -m u:wuqinfei:rwx /root/MyDir
        # getfacl MyDir/
        # file: MyDir/
        # owner: root
        # group: root
        user::rwx
        user:user_a:rwx
        user:wuqinfei:rwx
        group::r-x
        mask::rwx
        other::r-x
    删除ACL规则

你可能感兴趣的:(linux,acl)