开发者社区> 问答> 正文

云服务器 ECS CentOS 7 使用 ACL 设置文件权限

如何在云服务器 ECS CentOS 7 使用 ACL 设置文件权限

展开
收起
278835030529486151 2019-07-16 14:51:59 1128 0
1 条回答
写回答
取消 提交回答
  • 云服务器 ECS Linux  系统标准的 ugo/rwx 集合并不允许为不同的用户配置不同的权限,所以 ACL 便被引入了进来,为的是为文件和目录定义更加详细的访问权限,而不仅仅是这些特别指定的特定权限。


    ACL 可以为每个用户,每个组或不在文件所属组中的用户配置相应的权限。ACL 可使用 setfacl 来设置(和移除),可相应地使用 -m 或 -x 选项。


     


    例如,创建一个名为 aliyun 的组,并将用户 uread 和 uwrite 加入该组:

    groupadd aliyun

        useradd -G aliyun -M uread -p uread

    useradd -G aliyun -M uwrite -p uwrite



    在 /alidata 共有5个 txt 文件,只能 root 用户进行修改,其他用户只读。



    uread 用户尝试修改文件,提示没有权限



     


    使用 setfacl 修改权限,使 aliyun 组对 alidata 下 1.txt 文件可读写。


    1. 修改前先查看一下1.txt 文件权限

    getfacl /alidata/1.txt



    2. 使用如下指令进行配置:

    setfacl -m g:aliyun:rw /alidata/1.txt


    3. 修改后权限 aliyun 组对1.txt 文件有写权限:



    4. 测试添加的权限,uread 和 uwrite 都可以读写 1.txt




    5. 去掉 uread 的写权限

    setfacl -m u:uread:r /alidata/1.txt



    6. 测试 uread 已经不能修改文件了



    7. 去除权限 1.txt  的权限

    setfacl -x u:uread /alidata/1.txt



        setfacl -x g:aliyun /alidata/1.txt


    2019-07-16 14:54:33
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云服务器可观测能力的探索与实践 立即下载
CentOS Nginx PHP JAVA 多语言镜像使用手 立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册 立即下载