CentOS ACL
ACL:访问控制列表(Access Control List)。
一般来说权限是针对某一类用户设置的。例如:一个文件只有拥有者、组、其他用户三种设置方式,如果希望对某个指定的用户进行单独的权限控制,就需要用到文件的ACL。
基于普通文件或目录设置 ACL 就是对指定的用户或用户组设置文件的操作权限。
如果针对某个目录设置了 ACL,则目录中的文件会继承其 ACL;若针对文件设置了 ACL,则文件不再继承其所在目录的 ACL。
1、setfacl命令,用于管理文件的 ACL 规则,格式为“setfacl [参数] 文件名称”。
-m, --modify=acl:修改文件或目录的扩展ACL设置信息
-x, --remove=acl:从文件或目录删除一个扩展的ACL设置信息
-b, --remove-all:删除所有的扩展的ACL设置信息
-k, --remove-default:删除缺省的acl设置信息
-n, --no-mask:不要重新计算有效权限。setfacl默认会重新计算ACL mask,除非mask被明确的制定
-d, --default:设置默认的ACL设置信息(只对目录有效)
-R, --recursive:操作递归到所有子目录和 文件 常用的增加ACL权限
①给用户设定 ACL 权限:setfacl -m u:用户名:权限 指定文件名
②给用户组设定 ACL 权限:setfacl -m g:组名:权限 指定文件名 常用的删除ACL权限
①删除指定用户的ACL权限: setfacl -x u:用户名 文件名
②删除指定用户组的ACL权限:setfacl -x g:组名 文件名
③删除文件的所有ACL权限:setfacl -b 文件名
场景1:/home/data是ftp用户上传数据的目录,现在es用户需要能进行读取和执行。
[es@bigdata-senior01 ~]$ cd home/data #没有权限进入
-bash: cd: home/data: 没有那个文件或目录
[es@bigdata-senior01 ~]$ getfacl /home/data
getfacl: Removing leading '/' from absolute path names
# file: home/data
# owner: xu.dm.ftp #只有xu.dm.ftp有权限
# group: root
user::rwx
group::---
other::--- [es@bigdata-senior01 ~]$ ll home/data
ls: 无法访问home/data: 没有那个文件或目录
[es@bigdata-senior01 ~]$ setfacl -Rm u:es:rx /home/data
setfacl: /home/data: 不允许的操作
setfacl: /home/data: 权限不够 [es@bigdata-senior01 ~]$ sudo setfacl -Rm u:es:rx /home/data [es@bigdata-senior01 ~]$ ll /home/data -d
drwxr-x---+ 2 xu.dm.ftp root 224 11月 13 22:36 /home/data
#这个时候看到目录权限最后又个“+”号,说明是ACL控制目录 [es@bigdata-senior01 ~]$ getfacl /home/data
getfacl: Removing leading '/' from absolute path names
# file: home/data
# owner: xu.dm.ftp
# group: root
user::rwx
user:es:r-x #es用户获取了rx权限
group::---
mask::r-x
other::---
场景2:删除/home/data目录es的acl权限,删除全部/home/data的acl权限
[es@bigdata-senior01 ~]$ sudo setfacl -x u:es /home/data [es@bigdata-senior01 ~]$ ll /home/data -d
drwx------+ 2 xu.dm.ftp root 224 1月 12 22:45 /home/data
#实际上只有一个es用户设置了对/home/data的acl权限,删除后,目录里那个+;号依然在。
#用getfacl查看后,发现还有一个mask属性遗留
[es@bigdata-senior01 ~]$ getfacl /home/data
getfacl: Removing leading '/' from absolute path names
# file: home/data
# owner: xu.dm.ftp
# group: root
user::rwx
group::---
mask::---
other::---
#全部删除ACL
[es@bigdata-senior01 ~]$ sudo setfacl -b /home/data
[es@bigdata-senior01 ~]$ ll /home/data -d
drwx------. 2 xu.dm.ftp root 224 1月 12 22:45 /home/data
[es@bigdata-senior01 ~]$ getfacl /home/data
getfacl: Removing leading '/' from absolute path names
# file: home/data
# owner: xu.dm.ftp
# group: root
user::rwx
group::---
other::---
2、getfacl,用于显示文件上设置的 ACL 信息,格式为“getfacl 文件名称”。
CentOS ACL的更多相关文章
- Centos Consul集群及Acl配置
一,准备工作 准备四台centos服务器,三台用于consul server 高可用集群,一台用于consul client作服务注册及健康检查.架构如下图所示 二,在四台服务器上安装consul 1 ...
- CentOS 7 文件权限之访问控制列表(ACL)
Linux的ACL是文件权限访问的一种手段.当拥有者所属组其他人(own,group,other)不能满足给一个单独的用户设置单独的权限时,ACL的出现就很好的解决了该问题. 比如其他用户own,不属 ...
- Centos下ACL(访问控制列表)介绍(转)
我们知道,在Linux操作系统中,传统的权限管理分是以三种身份(属主.属組以及其它人)搭配三种权限(可读.可写以及可执行),并且搭配三种特殊权限(SUID,SGID,SBIT),来实现对系统的安全保护 ...
- CentOS 7 使用 ACL 设置文件权限
Linux 系统标准的 ugo/rwx 集合并不允许为不同的用户配置不同的权限,所以 ACL 便被引入了进来,为的是为文件和目录定义更加详细的访问权限,而不仅仅是这些特别指定的特定权限. ACL 可 ...
- CentOS 7 x64下Apache+MySQL(Mariadb)+PHP56的安装
每次搭建新服务器,都要来来回回把这些包再装一下,来来回回搞了不下20遍了吧,原来都是凭经验,配置过程中重复入坑是难免的,故写此文做个备忘.虽然有像xampp这样的集成包,但是在生产环境的Linux发行 ...
- linux 账号管理与ACL权限设定
此文涉及命令:useradd.usermod.userdel.passwd.chage.setfacl.getfacl.su.sudo.fingr.chfn.chsh.id.groupadd.grou ...
- 【转载】CentOS 6.4下Squid代理服务器的安装与配置
一.简介 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息. Squid是一个缓存Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据.当一个用 ...
- CentOS 6.4下Squid代理服务器的安装与配置
一.简介 代理服务器英文全称是Proxy Server,其功能就是代理网络用户去取得网络信息. Squid是一个缓存Internet 数据的软件,其接收用户的下载申请,并自动处理所下载的数据.当一个用 ...
- DNS部署(centos 6)
DNS部署(主从) 安装环境:CentOS 6.8 准备两台主机:192.168.137.13(主DNS).192.168.137.14(从DNS) EPEL仓库使用阿里源 rpm -ivh http ...
随机推荐
- Python之数据处理
一.CSV数据处理 CSV文件格式:逗号分隔值(Comma-Separated Value,CSV,有时也称为字符分隔值,因为分隔符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本).纯文 ...
- MySQL日期函数、时间函数总结(MySQL 5.X)
一.获得当前日期时间函数 1.1 获得当前日期+时间(date + time)函数:now() select now(); # :: 除了 now() 函数能获得当前的日期时间外,MySQL 中还有下 ...
- 文件包含漏洞(RFI)
1文件包含漏洞简介 include require include_once require_once RFI综述 RFI是Remote File Inclusion的英文缩写,直译过来就是远 ...
- svn清理报错:Cleanup failed to process the following paths
这里碰到svn更新时,提示清理,清理时报错: 只需进行以下几个步骤即可解决:(原理即是清除掉svn数据库里的lock记录) 1.下载SQLiteManager,svn用的是sqlite数据库,需要一款 ...
- 测试模拟 白屏 / FOUC
白屏和FOUC 白屏与无样式内容闪烁(FOUC)是因为不同浏览器加载与显示页面的机制不同而造成的. 我们可以通过一个实验来进行测试和模拟白屏.FOUC的现象,让我们更好的理解白屏.FOUC. 测试de ...
- LeetCode 700——二叉搜索树中的搜索
1. 题目 2. 解答 如果根节点为空,直接返回 NULL.如果根节点非空,从根节点开始循环查找,直到节点为空. 如果待查找的值大于当前节点值,节点指向右孩子: 如果待查找的值小于当前节点值,节点指向 ...
- 深入理解eos账户体系 active和action
在eos中,账户是一个非常重要的概念. 账户分为两部分组成 一种是active 一种是action. 智能合约本质上来讲就是一个action加上一个回馈脚本程序.任何智能合约都有这俩个部分组成. 那么 ...
- Python3 集合
1.集合的表示 集合是一个无序不重复的元素序列 创建空集合 set() 2.集合的运算 a={1,2,3} b={2,3,4} print(a-b) #a中包含b中不包含 print(a|b) #a中 ...
- 第十七次ScrumMeeting会议
第十七次Scrum Meeting 时间:2017/12/7 地点:线上+主235 人员:蔡帜 王子铭 游心 解小锐 王辰昱 李金奇 杨森 陈鑫 赵晓宇 照片: 目前工作进展 名字 今日 明天的工作 ...
- 用URL传参带特殊字符,特殊字符丢失
文章:URL中编码URL特殊字符 文章:用URL传参带特殊字符,特殊字符丢失(encode) 如果url中有特殊字符,需要对url进行编码,否则特殊字符丢失,导致最终接收到的值不对.