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)
上一篇 2017-07-29 15:18
下一篇 2017-07-29 15:28

相关推荐

  • 马哥教育网络班21期-第九周课程练习

    "1、写一个脚本,判断当前系统上所有用户的shell是否为可登录shell(即用户的shell不是/sbin/nologin);分别这两类用户的个数;通过字符串比较来实现; #!/bin/bash # declare -i login_user=0 declare -i nologin_user=0 whil…

    Linux干货 2016-09-15
  • Linux运维学习历程-第七天-Linux文本工具及正则表达式

    文本处理工具: Linux文本处理三剑客:   grep、egrep、fgrep:文本过滤工具(模式:pattern)工具      grep:基本正则表达式 -E -F      egrep:扩展正则表达式 -G -F      fgrep:不支持正则表达式…

    Linux干货 2016-08-10
  • 管理systemd

    管理systemd init(系统的第一个进程): CentOS 5: SysV initCentOS 6: UpstartCentOS 7: Systemd Systemd:系统启动和服务器守护进程管理器,负责在系统启动或运行时,激活系统资源,服务器进程和其它进程 Systemd新特性: 系统引导时实现服务并行启动 按需启动守护进程 系统状态快照 自动化的…

    Linux干货 2016-09-22
  • 初识Linux之——Linux是如何诞生的

    初识Linux之——Linux是如何诞生的 对于大多数初次接触Linux的童鞋,可能会非常好奇什么是Linux?它是做什么的?为什么那么多高手都喜欢Linux?Linux是如何产生出来的呢?本文将为大家解答释疑,让大家对Linux有一个清晰的概念。 Linux是什么 简单来说,如Windows7、Windows10、安卓、IOS等,Linux是一个计算机操作…

    Linux干货 2016-10-14
  • Hadoop HDFS分布式文件系统设计要点与架构

    Hadoop简介:一个分布式系统基础架构,由Apache基金会开发。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力高速运算和存储。Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有着高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件…

    Linux干货 2015-04-13
  • Linux用户和组命令

                        groupadd命令用户和工作组管理 groupadd命令用于创建一个新的工作组,新工作组的信息将被添加到系统文件中。-g:指定新建工作组的id;  -r:创建系统工作组,系统工作组的组ID小于500; -K:…

    2016-02-09