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

相关推荐

  • 权限管理(接上篇)

    本文主要介绍:1、文件的属性 2、特殊权限:SUID、SGID、Sticky 3、访问控制列表ACL

    2018-04-15
  • nginx各模块介绍和应用

     ngx_http_access_module模块: 实现基于ip的访问控制功能 (1)、allow address | CIDR | unix: | all; (2)、deny address | CIDR | unix: | all; http, server, location, limit_except 2.ngx_http_auth_basic_m…

    Linux笔记 2018-07-02
  • 编译安装软件

    编译安装httpd软件 1先配置yum源 准备工作:把所有yum源改成本地光盘 [root@centos7 etc]#find *yum*(查找yum配置目录) 1.[root@centos6 ~]#df .[root@centos6 ~]#cd /misc/cd/ (神奇文件自动挂载)光盘 [root@centos7 yum.repos.d]#ls(说明还…

    Linux笔记 2018-04-22
  • 开篇–送给自己

    这段文章是勉励自己的,各位看官请自行跳过

    Linux笔记 2018-06-25
  • 计算机构成简介与Linux基础知识

        ◆ 命令—Linux学习的基础,而基础就是核心。◆ 没有基础就只如空中楼阁,每次处理问题的时候,都需要向外界的力量求教,而缺乏自己解决问题的能力。◆ 学习比较被动,知识的储备速度不能紧跟使用需求。◆ SO,夯实基础反而成为重中之重。想要万丈高楼平地起,就先打好地基,在人们还看不见的时候,挥洒着汗水;而时间会给你成长的回报! 一、计算机构成与功能简介 …

    Linux笔记 2018-04-03