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

相关推荐

  • Linux笔记第一周

    一、描述计算机的组成及其功能。 计算机由硬件和软件两部分组成 硬件由主机与外部设备构成 软件由系统软件与应用软件构成 二、按系列罗列Linux的发行版,并描述不同发行版之间的联系与区别。 Red Hat公司发布         Redhat Centos Novell公司发布             SUSE Debian维护社区发布   Debian ub…

    Linux笔记 2018-06-24
  • Linux上的文件管理类命令都有哪些,其常用的使用方法及其相关示例演示。

    ls 查看目录下文件的详细信息 ls 选项[-ald] [文件或目录] -a显示所有文件,包括隐藏文件 -l 详细信息显示 -d 查看目录属性 cd 切换目录 cd /   (切换到根目录) Cd  ….  (回到上一级目录)   pwd 显示当前所在的工作目录   [root@server30 mytest1]# pwd /tmp/my…

    Linux笔记 2018-05-18
  • 计算机的组成及功能

    1. 计算机是由硬件系统及软件系统组成 1.1 硬件系统:CPU、存储器、输入及输出设备; CPU:包括运算器及控制器;运算器完成算数及逻辑运算,而控制器则实现取指令和分析指令。 存储器:包括内存、外存;内存主要负责存储缓存数据,外村主要负责存储本地数据。 输入设备:键盘、鼠标等标准输入设备。 输出设备:显示器、打印机等。 1.2 软件系统:系统软件及应用软…

    Linux笔记 2018-05-12
  • 正则表达式详细用法

    grep命令: 文本过滤(按行过滤) 参数                 -v 取反                 -i 忽略大小写                 -n 显示行号                 -c 统计匹配行数                 -q 静默执行(不显示执行结果)                 -o 仅显示搜索到的字符…

    Linux笔记 2018-04-08
  • Linux系统上命令的使用格式

    命令的语法通用格式: ~]# COMMAND OPTIONS ARGUMENTS ifconfig命令格式 ifconfig [interface] [options] | address   Echo命令格式 echo [options] …[string]… tty命令格式 tty [options] startx命令格…

    Linux笔记 2018-05-13
  • 2018第十届GOPS全球运维大会9月上海召开!

    第十届 GOPS 全球运维大会将于2018年9月14日-15日在上海召开。大会为期2天,侧重方向是 AIOps、运维自动化和 DevOps。目前已经有全国各地大公司组团前来参加。

    2018-06-22