文件的权限详解(二)ACL篇

文件的权限详解(二)ACL篇

ACL访问控制列表作用

1、 ACL:Access Control List,实现灵活的权限管理
2、 除了文件的所有者,所属组和其它人,可以对更多的用户设置权限
3、 CentOS7.0默认创建的xfs和ext4文件系统有ACL功能。
4、 CentOS7.X之前版本,默认手工创建的ext4文件系统无ACL功能。需手动增加:

tune2fs –o acl /dev/sdb1
mount –o acl /dev/sdb1  /mnt

5、 ACL生效顺序:所有者,自定义用户,自定义组,其他人

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

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

setfacl命令

作用:设置文件访问控制列表的命令
语 法:
格 式1:setfacl [-bkndRLPvh] [{-m|-x} acl_spec] [{-M|-X} acl_file] file…
格 式2:setfacl  –restore=file

参 数:

  • -m设置后续acl参数

    setfacl  -m u:wang:rwx file|directory  设置wang用户对文件或目录具有读写执行权限
    setfacl  -m g:salesgroup:rw file| directory  设置组用户对文件或目录的读写执行权限
  • -x删除后续acl参数

         setfacl  -x u:wang file |directory  删除wang用户对文件的访问限制
  • b,–remove-all:删除所有扩展的acl规则,基本的acl规则(所有者,群组,其他)将被保留。

                setfacl -b file1清除所有ACL权限
  • k,–remove-default:删除缺省的acl规则。如果没有缺省规则,将不提示。

     setfacl -k dir 删除默认ACL权限
  • m重新计算有效权限,即使ACL mask被明确指定。

  • d,--default:设定默认的acl规则;以后这个目录下创建的文件都将具有此权限

        setfacl  -m d:u:wang:rx directory
  • -R,–recursive:递归的对目前该目录下所有文件及目录进行操作

        setfacl  -Rm g:sales:rwX directory
  • –  getfacl file1 | setfacl –set-file=- file2  复制file1的acl权限给file2

  • –restore=file:从文件恢复备份的acl规则(这些文件可由getfacl -R产生)。通过这种机制可以恢复整个目录树的acl规则。此参数不能和除–test以外的任何参数一同执行

-n      ,–no-mask:不要重新计算有效权限。setfacl默认会重新计算ACL mask,除非mask被明确的制定。
-L      ,–logical:跟踪符号链接,默认情况下只跟踪符号链接文件,跳过符号链接目录。
-P      ,–physical:跳过所有符号链接,包括符号链接文件。
–test    :测试模式,不会改变任何文件的acl规则,操作后的acl规格将被列出。


    标识命令行参数结束,其后的所有参数都将被认为是文件名。

    如果文件名是-,则setfacl将从标准输入读取文件名。

其他:

以文本文件方式批量设置acl权限 -M

[root@localhost qiuzhaoxian]# cat acl.test 
u:qzx:---
u:user1:rwx
u:user2:r
u:user3:7
g:gentoo:0
g:user4:rx
[root@localhost qiuzhaoxian]# setfacl -M acl.test 123
[root@localhost qiuzhaoxian]# getfacl 123
# file: 123
# owner: xiaoming
# group: xiaoming
user::rwx
user:qzx:---
user:user1:rwx
user:user2:r--
user:user3:rwx
group::rwx
group:user4:r-x
group:gentoo:---
mask::rwx
other::---

– X 以文本方式批量删除文件acl(本来有删除对应的acl权限)acl权限

[root@localhost qiuzhaoxian]# cat bbb.test 
u:user1
u:user2
u:user3
[root@localhost qiuzhaoxian]# setfacl -X bbb.test 123
[root@localhost qiuzhaoxian]# getfacl 123
# file: 123
# owner: xiaoming
# group: xiaoming
user::rwx
user:qzx:---
group::rwx
group:user4:r-x
group:gentoo:---
mask::rwx
other::---

以参考文件的acl权限设置目标文件

[root@localhost qiuzhaoxian]# mkdir 456
[root@localhost qiuzhaoxian]# getfacl 123 | setfacl --set-file=- 456
[root@localhost qiuzhaoxian]# getfacl 456
# file: 456
# owner: root
# group: root
user::rwx
user:qzx:---
group::rwx
group:user4:r-x
group:gentoo:---
mask::rwx
other::---

注:setfacl –set-file= 这里的=后边的-表示从标准输入读取文件
这里的- 可以换成文件(当备份恢复时用)

–set选项会把原有的ACL项都删除,用新的替代,需要注意的
是一定要包含UGO的设置,不能象-m一样只是添加ACL就可以.
如:
 setfacl –set u : : rw , u : qzx: rw , g : : r , o::- file1

备份和恢复ACL

#getfacl -R /tmp/dir1 > acl.txt#setfacl -R -b /tmp/dir1
#setfacl -R  --set-file=acl.txt /tmp/dir1#getfacl -R /tmp/dir1

关于mask

mask只影响除所有者和other的之外的人和组的最大权限
Mask需要与用户的权限进行逻辑与运算后,才能变成有限的权限

一旦设置acl mask后 所属组权限就变成mask权限
也就是说用chmod g=wx  文件  那么mask也将编程wx

用户或组的设置必须存在于mask权限设定范围内才会生效。
设置方式

setfacl -m mask::rx file

原创文章,作者:qzx,如若转载,请注明出处:http://www.178linux.com/28909

(0)
qzxqzx
上一篇 2016-08-05
下一篇 2016-08-05

相关推荐

  • 2016-08-18博客作业

    case 语句 条件判断语句 case 用 变量引用 in PAT1) 分支1 ;; PAT2) 分支2 ;; … *) 默认分支 ;; esac   case 支持glob 风格的通配符: *       任意长度任意字符 ?    &…

    Linux干货 2016-09-19
  • 八大排序算法

    概述 排序有内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。 我们这里说说八大排序就是内部排序。     当n较大,则应采用时间复杂度为O(nlog2n)的排序方法:快速排序、堆排序或归并排序序。    快速…

    Linux干货 2015-04-07
  • 集中练习8-bash脚本及系统启动

    集中练习8-bash脚本及系统启动

    2017-12-06
  • 马哥教育首届IT技术博客大赛–复审阶段

    马哥教育首届IT博客大赛大众评审开始了 2016年马哥教育首届IT博客技术大赛,评委初审已结束,正式进入大众评审阶段。。。。 此次博客大赛,虽然因为准备时间比较仓促,举办经验略有不足(快去鄙视小编~😒),但还是收到了10多位优秀的小伙伴共80篇博文(看看人家的劲头,这就是差距呀😓)的参赛作品投递; 其中初审最高…

    Linux干货 2016-06-07
  • Linux 文 本 处 理 工 具

    Linux 文 本 处 理 工 具 一.学习大纲: ◎各种文本工具来查看、分析、统计文本文件 文件内容查看工具:cat, tac,rev,more,less 文件截取:head和tail 按列抽取:cut,paste 分析文本的工具:wc , sort , uniq,diff和patch 命令使用练习题 ◎文本过滤与处理工具: grep与正则表达式…

    Linux干货 2016-08-05
  • 文件管理和用户组权限管理小结

    文件管理 文件系统结构 /boot: 引导文件存放目录,内核文件,引导加载器都存放在此目录 /bin:供所有用户使用的基本命令,不能关联至独立分区,os启动即会用到的程序 /sbin:管理类的基本命令:不能关联至独立分区,os启动即会用到的程序 /etc:配置文件目录 /home:普通用户家目录 /root:管理员的家目录 /dev: 设备文件及特殊文件存储…

    2017-07-23