笔记整理:权限管理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三剑客之sed

     Sed简介       sed 是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处 理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有 改变,除非你使用重定向存…

    Linux干货 2016-08-12
  • Openssl——为你的信息保驾护航

    OpenSSL基础 ·传输层协议:TCP,UDP,SCTP         port:进程地址,进程向内核注册使用某端口(独占) ·同一主机上的进程间通信:IPC,message queue,shm,semerphor ·不同主机上的进程间通信:socket  &nbs…

    Linux干货 2016-09-22
  • BIND在生产环境中的创建

    一、实验:BIND二级域的搭建(均以yum安装bind),从实验图中可以看出需要五台虚拟机进行测试 一、准备五台虚拟机 二、配置root服务器 1、YUM安装bind的程序 2、配置bind的主配置文件 3、配置区域文件 4、为了实验的方便进行,把防火墙和SElinux关闭,并留意区域文件的属主属组 5、检查named的主配置文件和区域文件是否语法错误,并启…

    Linux干货 2016-10-05
  • Linux的发行版和它们区别跟联系

    linux的主要发行版有Debian,Slackware,RedHat三个大系列    Debian 最早由Ian Murdock于1993年创建。可以算是迄今为止,最遵循GNU规范的Linux系统。Debian最具特色的是apt-get / dpkg包管理方式,其实Redhat的YUM也是在模仿Debian的APT方式,但在二进制文件发…

    Linux干货 2017-07-02
  • 第一次写的linux脚本

    刚开始学的时候,都是一些基本的命令,总是无法把它们联系到一块去,现在刚开始接触脚本,顿时感觉压力好大,基础命令如果记不牢,很有可能就挂了,下面我把近几天学习的一些脚本命令及练习拿来分享一下,供大家参考,同时加深我的记忆。 首先是写脚本的格式,我这里用vim编辑器来写的脚本,因为它的色彩非常明艳,易于区分。基本格式如下: #!/bin/bash 第一行一般为调…

    Linux干货 2017-08-05
  • 批量部署lxc虚拟机

    前言:lxc是一种操作系统层虚拟化(Operating system–level virtualization)技术,为Linux内核容器功能的一个用户空间接口。它将应用软件系统打包成一个软件容器(Container),内含应用软件本身的代码,以及所需要的操作系统核心和库。通过统一的命名空间和共用API来分配不同软件容器的可用硬件资源,创造出应用程…

    Linux干货 2016-03-20

评论列表(1条)

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

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