一、ACL文件访问控制列表

前言

1️⃣:ACL—文件访问控制列表;

2️⃣:ACL可以针对单个用户,单个文件或目录来进行r、w、x的权限设定,特别适用于需要特殊权限的使用情况。

3️⃣:ACL就是可以设置特定用户或用户组对于一个文件/目录的操作权限,可以实现灵活的权限管理,除了文件的所有者,所属组和其它人,可以对更多的用户设置权限

4️⃣:ACL就是可以设置特定用户或者用户组对于一个文件/文件夹的操作权限

5️⃣:LINUX上的ACL访问控制列表,主要的目的是在提供传统的u(user)、g(group)、o(other)的r(read)、w(write)、x(execute)权限之外的局部权限设定

1、ACL管理命令

getfacl
setfacl

2、ACL形式

每个片段的形式都如:tag:name:perm
tag可以是下面形式的一种:
user 表示这是一个用户的ACL条目
group 表示这是一个用户组的ACL条目
other 表示这是其它的ACL条目
mask 表示这是一个掩码的ACL条目,最大的有效权限(权限阈值) name 可以是用户名或组名
perm 是指该用户或组所具有的权限,它是由"rwx"组成的一个字符串

3、setfacl

setfacl
使用 setfacl 设定文件访问控制列表
语法 setfacl {-m|-x|-b|-d ...} filename 选项
-m, --modify=acl 设置ACL条目,不可与-x一起使用
-x, --remove=acl 删除所设置的ACL条目,不可与-m一起使用
-b, --remove-all 删除所有ACL条目(包括默认的ACL条目)
-k, --remove-default 删除默认ACL条目
-R, -- recursion 递归设置ACL条目,包括余下的子目录或子文件都将被设置ACL条目
-d, --default 对目录设置默认的ACL条目,并且在改目录下创建的文件都将继承该目录的默认ACL条目(该选项只能对目录生效) 示例
setfacl -m u:zyq:rwx test.sh
user 简写为u,
group 简写为g
other 简写为o 注意:使用 -m 对other设置facl的时候,只需指明对应的权限即可,无需指明特定的用户;其次,对其他用户无法使用-x选项,因为,其他用户不同于所属主和所属组,只需给特定的权限即可

4、getfacl

getfacl
使用getfacl可以获取文件访问控制列表
语法:getfacl filename 选项
-a, --access 仅显示文件访问控制列表
-d, --default 仅显示默认的访问控制列表
-c, --omit-header 不显示注释表头 示例
getfacl test.txt
# file: test.txt //文件名
# owner: root //文件拥有者
# group: root //文件拥有组
user::rw- //说明该文件的拥有者拥有读和写的权限
group::rw- //说明该文件的拥有组有读和写的权限
mask::rw- //说明mask的权限是读和写
other::--- //说明其他人没有权限访问该文件

5、操作示例

//创建ACL条目
[root@localhost ~]# ll test
-rw-r--r--. 1 root root 0 8月 5 15:33 test
[root@localhost ~]# setfacl -m u:zhangsan:rw test
[root@localhost ~]# getfacl test
# file: test
# owner: root
# group: root
user::rw-
user:zhangsan:rw- //说明zhangsan用户对该文件拥有读和写的权限
group::r--
mask::rw- //mask权限说明zhangsan用户对改文件的权限最大只能是读和写
other::r-- //删除ACL条目
[root@localhost ~]# setfacl -x u:zhangsan test
[root@localhost ~]# getfacl test
# file: test
# owner: root
# group: root
user::rw-
group::r--
mask::r--
other::r-- //给目录设置默认的ACL条目
[root@localhost ~]# mkdir dir
[root@localhost ~]# ll -d dir
drwxr-xr-x. 2 root root 6 8月 5 15:41 dir
[root@localhost ~]# setfacl -m d:u:zhangsan:rw dir
[root@localhost ~]# getfacl dir/
# file: dir/
# owner: root
# group: root
user::rwx
group::r-x
other::r-x
default:user::rwx
default:user:zhangsan:rw-
default:group::r-x
default:mask::rwx
default:other::r-x //在dir目录下创建一个文件,看是否继承该目录的ACL条目
[root@localhost ~]# touch dir/file1
[root@localhost ~]# getfacl dir/file1
# file: dir/file1
# owner: root
# group: root
user::rw-
user:zhangsan:rw-
group::r-x #effective:r--
mask::rw-
other::r-- //删除dir目录的默认ACL条目
[root@localhost ~]# setfacl -k dir
[root@localhost ~]# getfacl test
# file: test
# owner: root
# group: root
user::rw-
group::r--
mask::r--
other::r--
或者
[root@localhost ~]# setfacl -b dir/
[root@localhost ~]# getfacl dir/
# file: dir/
# owner: root
# group: root
user::rwx
group::r-x
other::r-x

Linux_ACL文件访问控制列表的更多相关文章

  1. setfacl 设置文件访问控制列表

    setfacl 设置文件访问控制列表 用法: setfacl [-bkndRLP] { -m|-M|-x|-X ... } file ... 参数: -m, --modify=acl 更改文件的访问控 ...

  2. 文件访问控制列表facl

    [root@bogon code]# getfacl a.c //获取文件a.c的文件访问控制列表 # file: a.c # owner: root # group: root user::rw- ...

  3. Linux之facl----设置文件访问控制列表(详解)

    setfacl命令 是用来在命令行里设置ACL(访问控制列表) 选项 -b,--remove-all:删除所有扩展的acl规则,基本的acl规则(所有者,群组,其他)将被保留. -k,--remove ...

  4. Linux FACL(文件访问控制列表)

    文件有三种权限 属主权限   属组权限  其他权限 现在有这样一个场景,用户 A 想把文件共享给不是同组内用户 B ,而又不想修改其他权限,这时候 FACL 就起作用了 FACL可以给文件添加一个拓展 ...

  5. Centos下ACL(访问控制列表)介绍(转)

    我们知道,在Linux操作系统中,传统的权限管理分是以三种身份(属主.属組以及其它人)搭配三种权限(可读.可写以及可执行),并且搭配三种特殊权限(SUID,SGID,SBIT),来实现对系统的安全保护 ...

  6. Linux 系统访问控制列表ACL

    常见的文件系统的一般权限(rwx).特殊权限(SUID,SGID,STICK).隐藏权限(chattr)其实有个共性——权限是针对某一类用户设置的.而如果希望对某个指定的用户进行单独的权限控制,那么就 ...

  7. CentOS 7 文件权限之访问控制列表(ACL)

    Linux的ACL是文件权限访问的一种手段.当拥有者所属组其他人(own,group,other)不能满足给一个单独的用户设置单独的权限时,ACL的出现就很好的解决了该问题. 比如其他用户own,不属 ...

  8. 浅谈访问控制列表(ACL)

    1.ACL简介2.前期准备3.ACL的基本操作:添加和修改4.ACL的其他功能:删除和覆盖5.目录的默认ACL6.备份和恢复ACL7.结束语 1.ACL简介 用户权限管理始终是Linux系统管理中最重 ...

  9. Cmd下修改文件访问控制权限

    保证自己的磁盘分区格式是NTFS.FAT32是不行的. 一.Cacls.exe命令的使用 这是一个在Windows 2000/XP/Server 2003操作系统下都可以使用的命令,作用是显示或者修改 ...

随机推荐

  1. java面试-JVM常用的基本配置参数有哪些?

    1.-Xms 初始大小内存,默认为物理内存 1/64,等价于 -XX:InitialHeapSize 2.-Xmx 最大分配内存,默认为物理内存的 1/4,等价于 -XX:MaxHeapSize 3. ...

  2. java面试-CountDownLatch、CyclicBarrier、Semaphore谈谈你的理解

    一.CountDownLatch 主要用来解决一个线程等待多个线程的场景,计数器不能循环利用 public class CountDownLatchDemo { public static void ...

  3. 2021软工-调研作业-Notion

    2021软工-调研作业-Notion 项目 内容 这个作业属于哪个课程 2021春季计算机学院软件工程(罗杰 任健) 这个作业的要求在哪里 案例分析作业要求 我在这个课程的目标是 学习软件开发的工业化 ...

  4. (十三)struts2的输入校验

    输入校验是web应用必须处理的问题,要防止用户的误输入和恶意非法输入.struts2给我们提供了非常强大的输入校验体系. 输入校验分为客户端校验和服务器端校验.一般开发中两者都用,但是服务端校验必须使 ...

  5. Spring (三)SpringAoP

    1.Spring 的 AOP 简介 1.1 什么是 AOP AOP 为 Aspect Oriented Programming 的缩写,意思为面向切面编程,是通过预编译方式和运行期动态代理实现程序功能 ...

  6. 1.6.2- HTML 无序列表注意事项

    ul标签只能放li标签.不是一家人不进一家门.但是在li标签里面就可以放其他标签.代码如下: <!DOCTYPE html> <html lang="en"> ...

  7. 01- APP移动端测试怎么测试?APP测试方法大全。

    由于智能手机时代来临,很多产品都有了APP,作为一个测试人员掌握APP测试是必要的. 在展开APP测试之前,首先了解一下几个点: 1.基于软件测试框架之上.复习下软件测试框架. 2.框架的内容贯穿于A ...

  8. php 一些神奇加有趣的函数

    php里面神奇且又有趣的函数 这么有意思的title,我忍不住要啰嗦俩句,1--只是个人喜欢,不喜勿喷:2--仅个人笔记,未完,待续 列举 get_defined_constants:get_defi ...

  9. android签名分析及漏洞修复

    本篇我们来看看android的签名机制.发布出来的apk都是有META-INF文件夹,里面包含如下三个文件: 下面来一一解释这三个文件的作用(打包apk时签名过程):SignApk.main() 1. ...

  10. POJ1722二维spfa+优先队列优化

    题意:      给你一个有向图,然后求从起点到终点的最短,但是还有一个限制,就是总花费不能超过k,也就是说每条边上有两个权值,一个是长度,一个是花费,求满足花费的最短长度. 思路:       一开 ...