linux ACL权限规划:getfacl,setfacl使用-阿里云开发者社区

开发者社区> 余二五> 正文

linux ACL权限规划:getfacl,setfacl使用

简介:
+关注继续查看

                     linux ACL权限规划:getfacl,setfacl使用

                          ACL的使用

    ACLAccess Control List 主要的目的是提供传统的owner,group,othersread,write,execute权限之外的具体权限设置,ACL可以针对单一用户、单一文件或目录来进行r,w,x的权限控制,对于需要特殊权限的使用状况有一定帮助。如,某一个文件,不让单一的某个用户访问。

   ACL使用两个命令来对其进行控制

     getfacl:取得某个文件/目录的ACL设置项目

     setfacl:设置某个文件/目录的ACL设置项目

   

 setfacl 参数

  -m:设置后续acl参数 

  -x:删除后续acl参数  

  -b:删除全部的acl参数

  -k:删除默认的acl参数

  -R:递归设置acl,包括子目录

  -d:设置默认acl

例:创建一文件test,将其权限修改为777,并查看其默认ACL权限配置

    [root@Self-study ~]# touch /test

    [root@Self-study ~]# chmod 777 /test

    [root@Self-study ~]# getfacl /test             //获得文件的ACL权限

    getfacl: Removing leading '/' from absolute path names

    # file: test                                //文件名

    # owner: root                             //文件所属者

    # group: root                             //文件所属组

    user::rwx                                //文件所属者权限

    group::rwx                               //同组用户权限

    other::rwx                               //其它者权限

[root@Self-study ~]# 

可以看到其它者的权限也是可读可写可执行,可以自行测试,现在我们修改其ACL策略,使用用户code只有读取的权限

 [root@Self-study ~]# setfacl -m u:code:r /test

[root@Self-study ~]# ll /test

-rwxrwxrwx+ 1 root root 1 Apr 11 07:25 /test            //可以看到权限的最后多了一个+

[root@Self-study ~]# 

现在再次查看一下此文件的ACL属性

[root@Self-study ~]# getfacl /test

getfacl: Removing leading '/' from absolute path names

# file: test

# owner: root

# group: root

user::rwx

user:code:r--                           //可以看到code单独的权限为r--

group::rwx

mask::rwx

other::rwx

 [root@Self-study ~]# 

注:code的权限并不是只根据ACL配置来决定的,它是由code用户基本权限与配置的ACL权限的“与”运算决定的,即other:rwx 与 code:r--  = code:r--

现在使用code用户,测试是否可写

 在写文件时,会出现-- INSERT -- W10: Warning: Changing a readonly file提示。

除了对单个用户进行设置外,还可以对用户组、有效权限(mask)进行设置如对用户组设置:    g:[用户组]:[rwx] 

注:有效权限(mask) 即用户或组所设置的权限必须要存在于mask的权限设置范围内才会生效

 如上面的/test文件,已经有了可读权限,如果我们把它的有效权限修改为只有写权限,则设置的acl权限不在有效权限之内,则用户code就不可能再查看/test文件中的内容了

 [root@Self-study ~]# setfacl -m m:w /test              //设置有效权限为只写

可以查看/test acl属性

[root@Self-study ~]# getfacl /test

getfacl: Removing leading '/' from absolute path names

# file: test

# owner: root

# group: root

user::rwx

user:code:r-- #effective:---

group::rwx #effective:-w-

mask::-w-                       //可以看到有效权限已经修改成功

other::rwx

[root@Self-study ~]# 

使用code用户查看文件内容,首先使用root用户写入一些内容,会使测试更加直观

[root@Self-study ~]# echo "this is a test getfacl " >/test

[code@Self-study ~]$ vim /test 

 "/test" [Permission Denied]                     //可以在最下面看到不允许访问的提示,并且看不到任何内容

取消acl权限

[root@Self-study ~]# setfacl -x u:code /test             //取消/test对用户code的权限

    [root@Self-study ~]# setfacl -x m /test                 //恢复有效权限

    [root@Self-study ~]# getfacl /test               

    getfacl: Removing leading '/' from absolute path names

    # file: test

    # owner: root

    # group: root

    user::rwx

    group::rwx

    other::rwx

    [root@Self-study ~]# ll /test

    -rwxrwxrwx 1 root root 24 Apr 11 08:01 /test              //已经可以正常使用

    [root@Self-study ~]# 

    至于另外的一些参数,自己尝试使用!!










本文转自 guodong810 51CTO博客,原文链接:http://blog.51cto.com/guodong810/1176427,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
云服务器ECS首次使用体验
自我简介,在阿里云官网参与飞天加速计划,在校大学生免费领取为期两周的服务器,阿里云ECS的使用攻略,实现了文章图片上传功能,云服务器ECS使用期间的收获和总结,以及自己对未来的展望。
22 0
ECS初体验
介绍得到阿里云ECS后,怎么将毕设部署到服务器中。
21 0
编码 5 分钟,命名 2 小时?Java 开发都需要参考的一份命名规范!
简洁清爽的代码风格应该是大多数工程师所期待的。在工作中笔者常常因为起名字而纠结,命名已经成为我工作中的拦路虎,夸张点可以说是编程5分钟,命名两小时!
10 0
最好用的 7 款 Vue admin 后台管理系统测评
Vue admin 后台管理系统作为每个项目必备的管理后台,对大家来说十分重要。选不好,配不好,不仅现在用着抓狂,未来迭代升级也困难重重,步步是坑。所以在技术选型阶段,就要对市面上主流的 Vue admin 做到全面了解,知道他们的优缺点,再根据自己项目的需求,有针对性的选择。我试用了市面上所有主流 Vue admin 都 npm 到本地测了一遍,筛掉长期不更新,bug 明显,社区活跃度低,功能单一的 admin 后台,把最好、最有特点的 7 款 Vue admin 挑出来,分享给大家。这些后台各有各的特点,有些功能多样,但整体很重;有些虽然稳定,但上线年头久远,含有大量陈旧功能;有些功能
15 0
搭建服务器初体验
服务器安装mysql、tomcat
16 0
Mac mini M1 上成功启动 Ubuntu
从上周末起,Corellium 就开始发布他们在 Apple M1 上的 Linux 启动工作。现在,他们已经可以在 Mac mini M1 通过 USB 启动完整的 Ubuntu桌面。并且,Corellium 开发人员已经在 Linux 邮件列表中发表了该系列的 7 个补丁,这些是使 Linux 在当前的基于 Apple M1 ARM 的硬件上启动所需的最小更改。该系列补丁内容如下:
8 0
WIndows下Clion+gcc配置教程
WIndows下Clion+gcc配置教程
29 0
【视频】Dataphin权限体系介绍(一):角色权限
在数据系统中,优秀的权限体系设计对系统的数据安全和开发效率都非常重要,本文将从下面三个角度对Dataphin的权限体系介绍: 1、Dataphin权限体系整体设计 2、Dataphin全局角色介绍 3、Dataphin项目角色介绍
14 0
阿里云推出无影云桌面,这又是什么黑科技?
阿里云推出无影云桌面,很多用户不清楚云桌面是什么,云桌面是一种安全高效的云上桌面服务,一般用于企业办公。云桌面支持快速便捷的桌面环境创建、部署、统一管控与运维。企业选择云桌面无需前期传统硬件投资,云桌面可以快速构建安全、高性能、低成本的企业桌面办公体系。阿里云百科来详细说下什么是无影云桌面以及云桌面和传统PC、VDI之间的区别:
23 0
API 接口的安全设计验证:ticket,签名,时间戳
概述 与前端对接的API接口,如果被第三方抓包并进行恶意篡改参数,可能会导致数据泄露,甚至会被篡改数据,我主要围绕时间戳,token,签名三个部分来保证API接口的安全性
15 0
+关注
20382
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载