ACL:Access Control List,实现灵活的文件权限管理

除了文件的所有者,所属组和其它人,可以对更多的用户设置权限

CentOS7 默认创建的xfs和ext4文件系统具有ACL功能

ACL相关命令

setfacl 可设置ACL权限
getfacl 可查看设置的ACL权限

实例

[root@localhost ~]# ll test.txt
-rw-r--r--. 1 root root 0 Oct 21 12:01 test.txt
设置用户ACL权限
[root@localhost ~]# setfacl -m u:yc:rw test.txt
[root@localhost ~]# getfacl test.txt
# file: test.txt
# owner: root
# group: root
user::rw-
user:yc:rw-
group::r--
mask::rw-
other::r--
[root@localhost ~]# ll test.txt
-rw-rw-r--+ 1 root root 0 Oct 21 12:01 test.txt
注:此时rw-不再代表所属组的权限,而是指mask,mask指除所有者和other的之外的人和组的最大权限
修改mask方法:
[root@localhost ~]# chmod g=r test.txt
[root@localhost ~]# getfacl test.txt
# file: test.txt
# owner: root
# group: root
user::rw-
user:yc:rw- #effective:r--
group::r--
mask::r--
other::r--
[root@localhost ~]# ll test.txt
-rw-r--r--+ 1 root root 0 Oct 21 12:01 test.txt
注:此时用户yc对文件只有读的权限 mask使用户yc对文件的权限降级了,用户或组的设置必须存在于mask权限设定范围内才会生效 设置组ACL权限
[root@localhost ~]# setfacl -m g:yc:w test.txt
[root@localhost ~]# getfacl test.txt
# file: test.txt
# owner: root
# group: root
user::rw-
user:yc:rw-
group::r--
group:yc:-w-
mask::rw-
other::r-- 将用户加入到组中
groupmems -g root -a yc
[root@localhost ~]# groupmems -g root -a yc
[root@localhost ~]# id yc
uid=1000(yc) gid=1000(yc) groups=1000(yc),0(root) 清除ACL权限
[root@localhost ~]# setfacl -x u:yc test.txt 清除所有ACL权限
setfacl -b test.txt 复制test1的acl权限给test2
getfacl test1 | setfacl --set-file=- test2 复制文件时保留ACL属性
[root@localhost ~]# cp -a test.txt test3.txt
注:文件操作命令cp和mv都支持ACL,但是tar等常见的备份工具是不会保留目录和文件的ACL信息

linux访问控制列表 ACL实现文件权限设置的更多相关文章

  1. 由于 web 服务器上此资源的访问控制列表(acl)配置或加密设置,您无权查看此目录或页面。

    场景:IIS中遇到无法预览的有关问题(HTTP 异常 401.3 - Unauthorized 由于 Web 服务器上此资源的访问控制列表(ACL)配置或加密设置 IIS中遇到无法预览的问题(HTTP ...

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

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

  3. Linux访问控制列表(Access Control List,简称ACL)

    Linux访问控制列表(Access Control List,简称ACL) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.ACL概述 ACL:Access Control L ...

  4. Linux文件权限设置

    基本概念 https://linux.cn/article-7418-1.html#3_8880 用户管理 文件权限设置 -添加用户账户08% -理解 /etc/passwd 中的内容12% -理解 ...

  5. (大数据工程师学习路径)第一步 Linux 基础入门----用户及文件权限管理

    用户及文件权限管理 实验介绍 1.Linux 中创建.删除用户,及用户组等操作. 2.Linux 中的文件权限设置. 一.Linux 用户管理 Linux 是一个可以实现多用户登陆的操作系统,比如“李 ...

  6. 鸟哥的linux私房菜——第十三章学习(Linux 帐号管理与 ACLL 权限设置)

    第十三章.Linux 帐号管理与 ACLL 权限设置 1.0).使用者识别码: UID 与 GID UID :User ID GID :group ID [root@study ~]# ll -d / ...

  7. 用访问控制列表(ACL)实现包过滤

      用访问控制列表(ACL)实现包过滤 一.ACL概述 1.ACL(Access Control List,访问控制列表)是用来实现数据包识别功能的 2.ACL可以应用于诸多方面 a>.b包过滤 ...

  8. 第10章 网络安全(5)_访问控制列表ACL

    6. 访问控制列表ACL 6.1 标准访问控制列表 (1)标准ACL ①标准ACL是基于IP数据包的源IP地址作为转发或是拒绝的条件.即,所有的条件都是基于源IP地址的. ②基本不允许或拒绝整个协议组 ...

  9. 基本的访问控制列表ACL配置

    摘要: 访问控制列表ACL (Access Control L ist)是由permit或 deny语句组成的一系列有顺序的规则集合,这些规则根据数据包的源地址.目的地址.源端口.目的端口等信息  来 ...

随机推荐

  1. bom-删除提示

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  2. 使用python实现冒泡排序和快速排序

    1 def bubble(arr): 2 """冒泡排序""" 3 loop = len(arr) - 1 4 if loop > 0 ...

  3. ios 类别和扩展-赵小波

    类别 @interface ClassName ( CategoryName ) // method declarations @end Category在iOS开发中使用非常频繁.尤其是在为系统类进 ...

  4. 使用Hot Chocolate和.NET 6构建GraphQL应用(8) —— 实现Mutate添加数据

    系列导航 使用Hot Chocolate和.NET 6构建GraphQL应用文章索引 需求 在讨论完GraphQL中的查询需求后,这篇文章我们将演示如何实现GraphQL中的数据添加任务. 思路 在G ...

  5. 「游记」CSP-S 2021 爆零记

    推荐访问本人自建博客 \(\text{cjwen.top}\) 初赛 之前参加过「难度介于 J 组(基础组)和 S 组(提高组)之间」的 [LGR-(-13) ]SCP 2021 第一轮(初赛)模拟, ...

  6. 浅谈Java面向对象之抽象类(abstract)

    java语言,声明类时格式为: abstract class Db{} 说明Db类为抽象类.抽象方法是说没有方法的实现(方法体)此方法为抽象方法,只有抽象类和接口中才可以有抽象方法.简而言之,含有抽象 ...

  7. Git修改提交历史中的作者及邮箱信息

    一.使用rebase 如图,红圈中提交的用户名及邮箱是需要改的,则需要复制需要改的提交记录的上一个记录hashcode,在本例中就是a0a891a48f92b51201042fccbe61ed1264 ...

  8. Linux重定向输出到以当前时间命名的文件 / date命令格式化输出

    1. 利用date命令重定向到以当前时间命名的文件 例如: ls -l > mylog_$(date +"%Y-%m-%d_%H-%M-%S").log 或: ls -l & ...

  9. 将自己的web应用发布到Tomcat

    方法一:(用这个方法最好先把ROOT文件夹备份好,不建议使用) 1,打开tomcat 的目录,在webapps 的目录下, 把命名为ROOT 的文件夹删掉, 然后把自己的war 包更名为 ROOT.w ...

  10. CentOS卸载自带的JDK

    一般在配置JDK之前要卸载CentOS自带的openjdk,接下来演示如何卸载自带的openjdk 进入root模式 查看jdk是否已经安装jdk rpm -qa | grep jdk 3. 卸载op ...