ACL权限实例详解

CentOS7当中,无论是操作系统安装时还是之后手工创建的文件系统(xfs、ext4)均会开启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都是人名,加上1,2,3只是为了方便看

  Liluo2在group组里,f1属于feiyan1这个人,属于liluo2这个组

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

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

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

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

实例如下:

ACL权限实例详解

权限的优先顺序

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

ACL权限实例详解

ACL权限实例详解

ACL权限判断的顺序

先判断是否是文件的OWNER,如果是,则执行OWNER的权限后结束,如果不是OWNER,则判断是否是ACL的USER,如果是则执行USER权限后结束,如果不是ACL的USER, 则判断是否属于GROUP或ACL GROUP,如果是,则取最大权限(两个权限的并集)。如果不属于任何GROUP,则执行OTHER。  原生的group和acl 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

相关推荐

  • N21天天第十四周课程练习

    系统的INPUT和OUTPUT默认策略为DROP; #把默认策略设置为DROP [root@localhost ~]# iptables -P INPUT DROP [root@localhost ~]# iptables -P OUTPUT DROP 1、限…

    Linux干货 2016-12-05
  • Linux文件类型及把剩下的颜色标识

    Linux文件类型及bash下的颜色标识 Linux一切皆文件 查看文件类型的命令: 例如:列出ls的文件类型                file  /bin/ls 例如:粗略的列出文件类型           &n…

    Linux干货 2016-10-16
  • 基于heartbeat v1+ldirectord实现LVS集群高可用

    前言 高可用集群,High Availability Cluster,简称HA Cluster,是指以减少服务中断时间为目的的服务器集群技术。通过上文可以看出,LVS集群本身并不能实现高可用,比如Director Server不能检测Real Server的健康度,一旦其中一台或全部Real Server宕机,Director Server还会继续转发请求,…

    Linux干货 2015-06-08
  • linux发展史

    Linux 发展史 说明 此前对linux认识模糊一知半解,近期通过学习将自己对于linux的发展总结一下方便大家日后的学习。那Linux是目前一款非常火热的开源操作系统,可是linux是什么时候出现的,又是因为什么样的原因被开发出来的呢。以下将对linux的发展历程进行详细的讲解。    目录 一、Linux发展背景 二、UINIX的诞…

    Linux干货 2016-10-14
  • 8.8作业

    4、如何设置tab缩进为4个字符?    set tabstop=4     5、复制/etc/rc.d/init.d/functions文件至/tmp目录;替换/tmp/functions文件中的/etc/sysconfig/init为/var/log; cp /etc/rc.d/init.d/functi…

    Linux干货 2016-08-11
  • 20160805作业-正则表达式

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

    Linux干货 2016-08-08