ACL权限实例详解

CentOS7当中,无论是操作系统安装时还是之后手工创建的文件系统(xfsext4)均会开启ACL功能。

CentOS6及之前的版本,仅操作系统安装时创建的文件系统才会默认开启ACL手工创建的文件系统,需要手工开启ACL

功能。

Acl如何设置

ACL权限实例详解

创建分区

ACL权限实例详解

mount -o acl /dev/sda7  取消的方式,重新挂载时不指定即可

tune2fs -o acl /dev/sda7 取消的方式 tune2fs -o ^acl /dev/sda7

ACL权限实例详解

ACL权限实例详解

ACL权限实例详解

这里的feiyan1 ,liluo2,qingchen3都是人名,加上123只是为了方便看

  Liluo2group组里,f1属于feiyan1这个人,属于liluo2这个组

Group权限是rw-,liluo2只能对文件f1进行读操作,rw-相当于是r

 下面把group的权限改为了rwxliluo2属于group组成员,理论上也应当具有rwx权限

而实际上liluo2只具有rw-也就是只有r权限,和原来一样权限并没有改变,这样为什么呢?

  因为在设置了Acl以后,group的位置就被umask占了,所以你看到的原来组的位置实际上是umask的权限,一旦设置了acl,原来组的权限就无法改变了,原来group权限是什么就是什么,虽然设置acl后无法改变但依然生效,即使你使用了g+rwx 组的权限依然不变,变的是umask

实例如下:

ACL权限实例详解

权限的优先顺序

   文件的owner权限优先于acl权限

ACL权限实例详解

ACL权限实例详解

ACL权限判断的顺序

先判断是否是文件的OWNER,如果是,则执行OWNER的权限后结束,如果不是OWNER,则判断是否是ACLUSER,如果是则执行USER权限后结束,如果不是ACLUSER, 则判断是否属于GROUPACL GROUP,如果是,则取最大权限(两个权限的并集)。如果不属于任何GROUP,则执行OTHER。  原生的groupacl group没有优先的关系,权限组合一起使用

我们之前设置的都是基于当前已存在的文件生效的,那么要想对于为来创建的文件也有acl权限(未来新创建的文件创建既有acl权限)该怎么做呢?

ACL权限实例详解

作用如图

ACL权限实例详解

那么在liluo2用户下创建的新文件有没有acl属性呢,我们来看实验

发现依然有acl属性

ACL权限实例详解

setfacl -m d:u:liluo2:rwx f2   设置这句之后发现只要是在f2下新创建的都会创建自带acl属性    —-这就是我们说的默认属性,但是对当前目录不生效

练习:

/app目录下创建一个名为d1的目录,要求其owner,group均为root,权限设置为755。要求guanyu用户对该目录及所有用户在其下创建的新文件新目录均有rwx权限

设置ACL默认权限,仅影响新创建的文件及目录,不影响当前。

实验中guanyu换成了feiyan1

ACL权限实例详解


setfacl -x d:sunquan d11 删除一条默认权限

setfacl -k d1 删除全部默认权限

setfacl -b d1 删除ACL属性

 

getfacl -R /app/d1 > acl.txt 将目录下的所有文件的ACL属性备份到文件

setfacl -R –set-file=acl.txt  /app/d1   通过文件还原ACL属性的方法1

setfacl –restore  acl.txt   通过文件还原ACL属性的方法2

setfacl -R -b /app/d1 清除目录下所有文件的ACL属性

小知识点补充:

拿笔划重点,注意^.的用法

如何恢复家目录:只要一句命令就好了

恢复家目录的操作

     ls -a

     rm  -rf .*

     cp -a /etc/skel/.[^.]* .

      ls -al

      Exit  重新登陆就好了,家目录就回来了,不再演示!

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

(1)
sqjlsqjl
上一篇 2017-07-29 15:18
下一篇 2017-07-29 15:28

相关推荐

  • 2、基本命令介绍

    http://note.youdao.com/yws/public/redirect/share?id=dbbed5e1e3ecce8712076f11e70fc038&type=false

    Linux干货 2016-08-08
  • 线上多服务管理工具实例剖析

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://nolinux.blog.51cto.com/4824967/1583156        公司线上对nginx、tomcat和jar包的java应用的服务管理脚本之前都是单独分离开…

    Linux干货 2016-08-15
  • 基础命令

    1,对于Linux的实验环境我们要用到虚拟机,往往每次上线都要登录,这时候如果把用户设为自动登录就会方便许多,接下来就介绍下设置虚拟机的自动登录 , /etc/gdm/custom.conf 这个就是设置自动登录的一个配置文件,我们先来使用nano打开这个文件,如下 # GDM configuration storage 这是GDM的一个配置存储 [daem…

    2017-11-19
  • shell脚本的各种循环

    For循环 For循环格式      For   变量名  in    列表    ;   do         &nb…

    Linux干货 2016-08-21
  • grep命令与正则表达式的应用示例、find命令应用示例

    grep命令与正则表达式的应用示例、find命令应用示例 显示当前系统上root、fedora或user1用户的默认shell。 使用扩展正则表达式,它支持使用A|B表示或者之意。查看用户的默认shell,cat /etc/passwd文件,根据用户名所处位置进行锚定,其最后一个字段即表示该用户的默认shell。实现方式及结果如下:   找出/et…

    Linux干货 2016-11-28
  • 第二周学习总结

    写在最前 通过上一周对计算机系统、Linux发展的学习,我们认识到了Linux是一个一切皆文件的内核系统。那么怎样去操作系统上的各文件来达到你想要的目的呢?今天的总结就是帮助我们更快的达成目标。 文件管理类命令的分类 对于这类命令主要分为两类: 操作类:touch、cp、mv 查看类:cat、tac、head、tail、less、more touch 功能描…

    2017-12-16