笔记整理:权限管理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
下一篇 2016-08-05

相关推荐

  • Linux文件系统及文件管理相关命令

    一、Linux文件系统介绍: Linux文件系统叫做根文件系统(rootfs): root filesystem。文件系统从根目录下开始,用“ /”表示。文件和目录被组织成一个单根倒置树结构。文件系统分层遵循FHS(Filesystem Hierarchy Stantartd)。标准的Linux文件系统,文件名严格区分大小写。使用“/”分割路径。 …

    Linux干货 2016-07-29
  • 马哥教育网络班22期+第2周课程练习

    1、Linux上文件管理命令有哪些,其常用的相关示例演示。 常见文件管理命令有:touch/stat/file/rm/cp/mv/nano 示例如下: [root@localhost week2_test]# touch newfile [root@localhost week2_test]# ls&nbsp…

    Linux干货 2016-08-22
  • 怎么删除邮件?

    linux邮件位置一般在/var/spool/mail/root下,如果想查看邮件,在屏幕上输入mail就可以查看了,输入之后会出现&符号,你想看哪一封邮件,直接在后面跟对应的数字就好了。 如果你感觉自己的邮件太多了,比较占内存,那就删了吧。 d 删除当前邮件,指针并下移。   d 3 删除编号为3 的邮件。   d1-100 删…

    2017-07-22
  • N26 – 第三周作业

    1、列出当前系统上所有已登录的用户的用户名,同一用户登录多次只显示一次     ~]# who -u |cut -d ' ' -f1|uniq -u 2、最后登录到当前系统的用户的相关信息     ~]#id $(last | h…

    Linux干货 2017-01-03
  • 马哥教育网络班21期+第12周课程练习

    1、请描述一次完整的http请求处理过程; 建立或处理请求:接受请求或拒绝请求; 接收请求:接收来自于网络的请求报文中对某资源的一次请求的过程; 处理请求:对请求报文进行解析,并获取请求的资源及请求方法等相关信息; 访问资源:获取请求报文中请求的资源; 构建相应报文; 发送响应报文; 记录日志 2、httpd所支持的处理模型有哪些,他们分别适用于哪些环境。 …

    Linux干货 2016-10-24
  • Shell脚本自动部署(编译)LAMP平台

    Shell脚本自动部署(编译)LAMP平台 Shell脚本自动部署(编译)LAMP平台 为什么要用脚本进行部署? 脚本功能介绍 笔者环境 准备工作 声明 使用测试 脚本代码 Shell脚本自动部署(编译)LAMP平台 LAMP是当下非常流行的一套Web架构,我们可以在GNU/Linux下通过其他人打包的程序包来进行安装; 但是在生产环境中,很多时候都需要我们…

    Linux干货 2016-03-26

评论列表(1条)

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

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