笔记整理:权限管理3-ACL

ACL

访问控制列表,并不是所有的Linux文件系统,都支持ACL。FAT文件系统也不支持ACL

笔记整理:权限管理3-ACL

 

ACL文件系统中,不支持chmod等命令。同时不能更改文件权限。不存在文件权限。

问题提出

笔记整理:权限管理3-ACL

只让wang用户,对该文件不能够访问,同时不影响其他任何用户对该文件的操作。

 

ACL特点

针对单一用户或群组,单一文件或目录,进行rwx权限设置

默认属性(mask):设置在目录下新建文件/目录时设置新数据的默认权限。

查看设备是否支持ACL

启动ACL

查看是否支持ACL

1:使用mount命令查看

笔记整理:权限管理3-ACL 

括号中不包含acl,所以列出的设备中,目前不支持acl

2:使用dumpe2fs ,由superblock来查看是否支持acl

笔记整理:权限管理3-ACL 

开启ACL

方法1

笔记整理:权限管理3-ACL 

方法2

直接修改文件/etc/fstab,在文件尾部加入:

笔记整理:权限管理3-ACL 

设置&查看ACL

ACL的设置和查看,主要都通过命令getaclsetacl

命令setacl

设置后,权限部分为-rwxrwxrwx+,最后一位为加号,就是有acl设置的。

普通格式:

setfacl   [-bkRd]   [{-m | -x} acl参数]   目标文件名
setfacl  --set  完整ugo权限+acl参数  filename  // 重置文件权限

选项说明:

-m 设置后续的acl给文件使用,不可与-x连用
-x 删除后续的acl

笔记整理:权限管理3-ACL

-k 删除默认的acl参数
-R 递归设置acl参数
-d 设置默认acl参数,只对目录有效,新建数据会引用此默认值,旧的数据不会改变原来的权限

ACL参数格式

针对用户的:

u:[用户账号列表]:[rwx]

针对组的:

g:[用户组列表]:[rwx]

迭代修改目录中:

setfacl -Rm g:sale


s:rwX directory

//X是保留原来的x权限状态

根据某文件的acl情况,更改另一文件的acl情况

setfacl -M  file1.acl  file2.acl | dir

 

笔记整理:权限管理3-ACL

命令getacl

查看acl

语法格式:

getacl   filename

getaclsetacl实例

1getacl实例

笔记整理:权限管理3-ACL

2:删除文件f1上的acl权限

笔记整理:权限管理3-ACL

3:清空f1文件上的所有权限:

笔记整理:权限管理3-ACL

4:批量添加acl权限

1:新建文件acl1

2:将以下内容写入:

u:wang:0

u:wangcai:rw

g:it:w

3:执行

笔记整理:权限管理3-ACL

5:批量删除某两个用户的权限:

1:新建文件acl2

2:在acl2中写入下面内容:

u:wang

u:wangcai

3:执行:

笔记整理:权限管理3-ACL

6:复制file1的acl权限给file2

getfacl file1 | setfacl –set-file=- file2

笔记整理:权限管理3-ACL 

笔记整理:权限管理3-ACL 

7对目录设置默认acl权限

新的文件会有,旧的文件并不改变

笔记整理:权限管理3-ACL

-d选项是设在directory上的,但是文件夹本身没有acl,只是对文件夹内新的文件有影响:

 

 

笔记整理:权限管理3-ACL 

mask in acl

说明:

  • mask的意义:安全边界

  • mask是一条高压线,除了owner和other,其他用户都将受影响

  • mask需要与用户或组的权限进行逻辑运算后,才能变成有效权限

  • 开启了文件的acl权限之后,设置组的权限,就是在设置mask的权限

笔记整理:权限管理3-ACL

解析:上图中,mask的权限为–x,那么user:wang:rwx中,只有x是有效的,rw都是无效的,所以有效权限(effective:–x),group::r–中,r是无效的,但是因为group也没有x的权限,所以x也是无效的。

  • 一般的操作,如cp(需要加-p)和mv,都会保留acl权限,但是tar不会,具体见实例3:备份

设置

用setfacl -m m::rw f1来修改mask

setfacl -m mask::rw f1

 

实例1

笔记整理:权限管理3-ACL

笔记整理:权限管理3-ACL

笔记整理:权限管理3-ACL

这个实例中,当添加acl权限后,文件f1的所属组权限,已经不是原来的那个权限了,而是mask的权限

 

实例2

笔记整理:权限管理3-ACL

实例3:备份

使用tar等常见的备份工具是不会保留目录和文件的acl信息的。

那么如何在tar的同时保留acl信息呢?

需要在备份的同时,单独备份acl信息。

1. 打包tar文件后

2. 备份acl权限:getfacl -R wu > acl.txt

3. 恢复tar文件后

4. 恢复acl权限:

setfacl -R -b wu

setfacl -R –set-file=acl.txt wu

笔记整理:权限管理3-ACL笔记整理:权限管理3-ACL 

 

上图中,第一条是在打包tar的时候用来备份acl权限的

后面三条是在恢复时用的

 

原创文章,作者:m20-吴清玲,如若转载,请注明出处:http://www.178linux.com/29165

(0)
m20-吴清玲m20-吴清玲
上一篇 2016-08-05 10:18
下一篇 2016-08-05 10:18

相关推荐

  • grep正则表达式

    grep:这是一个搜索命令,搜文本并且将文本行显示出来 (1)grep -i 表示搜索的时候忽略大小写 (2)grep –colour 表示搜索关键字带颜色 例如:grep –colour ‘root’ /etc/passwd 显示为在etc的passwd里的 root 选项有颜色 *为了方便我们可以定义个别名,让他搜索的时候默认显示为带颜色 alias…

    Linux干货 2017-07-29
  • 【26期】Linux第一周学习小总结

        知识不在长短,而在于其中的精炼程度,字典每个字没有一页的篇幅,却被大面积推广,之所以没有再把学到的全部搬运到博客上来,就是为了给大家一点可看的东西,也许我自己认为的精炼是有点简短了,那我就再更新一下,再复习一下,学到的whatis 和 man命令。     第一周匆匆而过,学过的知识,过遍脑…

    2017-07-14
  • 浅谈RPM

    浅谈RPM    [先絮叨下编译啊]   1、 库:其实就是一个程序模块(它没有执行入口,不能独立执行,只能被能独立运行的程序调用时执行)你可以把它想象成工具螺丝刀,可执行的程序是就是你自己;螺丝刀能自己干活吗?没有螺丝刀能拧螺丝吗?或者说你现在制作一个? 螺丝刀可以实现这个功能但需要你来执行这个动作。   2、静态编译:将程序所需要的所有的库都编…

    Linux干货 2015-04-27
  • LVM详解

    目录:  一、概述  二、LVM的相关概念  三、概念图  四、LVM基本操作    1.创建PV    2.查看PV信息    3.创建VG    4.查看VG信息    5.创建LV    6.查…

    Linux干货 2015-09-22
  • 编写服务脚本/root/bin/testsrv.sh和备份脚本/root/bin/copycmd.sh

    编写服务脚本/root/bin/testsrv.sh,完成如下要求 (1) 脚本可接受参数:start, stop, restart, status (2) 如果参数非此四者之一,提示使用格式后报错退出 (3) 如是start:则创建/var/lock/subsys/SCRIPT_NAME, 并显示“启动成功” 考虑:如果事先已经启动过一次,该如何处理? (…

    Linux干货 2016-08-24
  • 文本处理工具应用示例

    文本处理工具应用示例 1.列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可 who|awk ‘{print $1}’|sort|uniq -d 2.取出最后登录到当前系统的用户的相关信息 who|tail -1|cut -d’ ‘ -f1|id 3.取出当前系统上被用户当作默认shell的最多的那个shell cat /e…

    Linux干货 2017-07-16

评论列表(1条)

  • m20-吴清玲
    m20-吴清玲 2016-08-12 15:48

    默认ACL权限给了x,文件也不会继承x权限