linux ACL访问控制列表

1.ACL介绍

Linux 下用户对文件的操作权限有 r-读, w-写, x-可执行三种,而对linux 下的文件而言,用户身份分为:所有者, 所属组, 其它人, 且文件的所有者,所属组都只能是一个,所以在对文件分配用户的使用权限时,只能对这三种身份进行分配rwx 权限.Linux 主要作为服务器系统使用,用户众多.所以在实际使用场景中,这三种身份并不能很好地实现资源权限分配问题,所以就有了ACL权限。ACL 权限就是为了解决linux 下三种身份不能满足资源权限分配需求的问题的.

2. 那些文件系统支持ACL
Linux下的文件系统支持acl的有:ext2、ext3、ext4,xfs。
CentOS7 默认创建的xfs和ext4文件系统具有ACL功能
CentOS7 之前版本,默认手工创建的ext4文件系统无ACL功能,需手动增加
tune2fs –o acl /dev/sdb1
mount –o acl /dev/sdb1 /mnt/test
ACL生效顺序:所有者,自定义用户,自定义组,其他人。

3. 用法介绍

a.为多用户或组的文件和目录赋予访问权限rwx
• getfacl file|directory #查看文件的acl属性。
• setfacl -m u:wang:rwx file|directory #为文件设置acl的user属性。
• setfacl -Rm g:sales:rwX directory #为文件设置acl的group属性。
• setfacl -M file.acl file|directory #恢复acl属性
• setfacl -m g:salesgroup:rw file| directory #为文件设置acl的group属性。
• setfacl -m d:u:wang:rx directory #设置ACL默认权限,仅影响新创建的文件及目录,不影响当前。
• setfacl -x u:wang file|directory #删除一条默认权限,但是删除后,仍有属性(+)存在。
• setfacl -X file.acl directory # 批量删除acl属性。

b.ACL文件上的group权限是mask 值(自定义用户,自定义组,拥有组的最大权限) ,而非传统的组权限getfacl
可看到特殊权限: flags通过ACL赋予目录默认x权限, 目录内文件也不会继承x权限base ACL 不能删除
setfacl -k dir #删除默认ACL权限
setfacl –b file1 #清除所有ACL权限
getfacl file1 | setfacl –set-file=- file2 #复制file1的acl权限给file2

c.ACL文件上的group权限是mask 值(自定义用户,自定义组,拥有组的最大权限) ,而非传统的组权限
getfacl 可看到特殊权限: flags
通过ACL赋予目录默认x权限, 目录内文件也不会继承x权限
base ACL 不能删除
setfacl -k dir #删除默认ACL权限
setfacl –b file1 #清除所有ACL权限
getfacl file1 | setfacl –set-file=- file2 #复制file1

d. 备份和恢复ACL 主要的文件操作命令cp和mv都支持ACL,只是cp命令需要加上-p
参数。但是tar等常见的备份工具是不会保留目录和文件的ACL信息。
getfacl -R /tmp/dir1 > acl.txt
setfacl -R -b /tmp/dir1
setfacl -R –set-file=acl.txt /tmp/dir1
setfacl –restore acl.txt
getfacl -R /tmp/dir1的acl权限给file2。

本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/95514

(0)
M30_王海涛M30_王海涛
上一篇 2018-04-08 20:14
下一篇 2018-04-08 20:19

相关推荐

  • zabbix监控系统

    zabixx zabbix(音同 zæbix)是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 zabbix能监视各种网络参数,保证服务器系统的安全运营;并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题。 zabbix由2部分构成,zabbix server与可选组件zabbix agent。 zab…

    2018-07-22
  • HA集群及varnish缓存基础

    HA集群及varnish缓存基础

    Linux笔记 2018-06-10
  • Linux文本处理三剑客之awk

    本文主要介绍:awk的基本用法、变量、格式化输出、操作符、条件判断、循环、数组、函数、调用系统命令及awk脚本

    2018-05-28
  • 进程管理工具及计划任务

    进程管理工具 kill命令: 向进程发送控制信号,以实现对进程管理,每个信号对应一个数字,信号名称以SIG开头 (可省略),不区分大小写 显示当前系统可用信号: kill –l,trap -l 常用信号:man 7 signal 1) SIGHUP: 无须关闭进程而让其重读配置文件 2) SIGINT: 中止正在运行的进程;相当于Ctrl+c 3) SIGQ…

    Linux笔记 2018-05-06
  • 手把手系列(一)教你通过VMware虚拟化软件安装CentOS 6系统

    手把手教你用VMware虚拟化软件安装CentOS 6系统

    2018-03-27
  • NGINX服务1

    I/O模型 Nginx介绍 Nginx安装 Nginx各种模块

    Linux笔记 2018-07-04