ACL是Access Control List 访问控制列表的缩写,在Linux中ACL可以对单一用户或组的设定访问文件的权限,其优势为让权限控制更加精细化,如:marking.txt文件为市场部文件,管理员拥有该文件的rwx权限,市场部组也拥有该文件的rwx权限,其他人无权限,新招的市场部新员工小王正处于试用期,管理员不想给小王对marking.txt文件的全部权限,只想给他查看该文件的权限,那么这种情况下,使用我们传统的属主属组other权限就无法做到这一点,这时我们可以考虑使用ACL访问控制的解决办法。

getfacl 命令用于查看文件的ACL策略及权限,其语法格式如下:

getfacl [选项] file

常用选项:
无,一般不接选项即可;

演示示例:

[root@iflytek ~]# getfacl  file1
# file: file1
# owner: root
# group: nginx
user::rwx
group::r--
other::r--

setfacl命令用于给文件针对某个用户或某个组设置ACL策略,其语法格式如下:

setfacl [选项] mode file

常用选项:

-m           :修改acl策略
-x          :删除某个用户或组的权限
-b          :删除所有的acl策略
-R          :递归,级联

mode表示权限设置:

u:用户名:权限     例如  u:oracle:rw
g:组名:权限             例如 u:macking:r

演示示例:

[root@iflytek /]# ll file1                                      #先查看文件的权限
-rwxrwx--- 1 root root 7 Oct  5 22:32 file1
[root@iflytek /]# su oracle                                        #切换到Oracle用户,Oracle用户属于other类型
[oracle@iflytek /]$ cat file1                                  #显示没有权限查看
cat: file1: Permission denied
[root@iflytek /]# getfacl  file1                               #查看原来的权限位
# file: file1
# owner: root
# group: root
user::rwx
group::rwx
other::---[root@iflytek /]# setfacl -m u:oracle:wrx file1              #给Oracle用户设置acl策略,使之能读写执行file1文件
[root@iflytek /]# getfacl  file1
# file: file1
# owner: root
# group: root
user::rwx
user:oracle:rwx                                                 #这里就加多了一行,增加了Oracle的权限
group::rwx
mask::rwx
other::---[root@iflytek /]# su oracle
[oracle@iflytek /]$ cat file1                                  #oracle用户能正常查看file1文件了
dsdsds
[oracle@iflytek /]$ ll file1
-rwxrwx---+ 1 root root 7 Oct  5 22:32 file1                   #发现权限为多了一个+号
[oracle@iflytek /]$
[root@iflytek /]# setfacl -b file1                             #删除所有ACL策略
[root@iflytek /]# getfacl file1                                #查看删除acl策略后的文件发现没有了acl策略了
# file: file1
# owner: root
# group: root
user::rwx
group::rwx
other::---
[root@iflytek /]# setfacl -m g:macking:r file1                     #对macking组设置acl策略
[root@iflytek /]# getfacl file1
# file: file1
# owner: root
# group: root
user::rwx
group::rwx                                                      #这个是原来的属组的权限的,不要看错哦
group:macking:r--                                               #这是我们刚才对macking组添加的acl策略
mask::rwx
other::---[root@iflytek /]# setfacl -R  -m g:macking:r /usr/local/nginx/   #-R表示递归,级联[root@iflytek /]# setfacl -x u:oracle file1                       #删除某个用户的acl策略
[root@iflytek /]# setfacl -x g:dba file1                       #删除某个组的acl策略

总结

当无法使用传统的文件权限控制时我们可以使用ACL访问控制策略实现权限的精细化控制,如,marking.txt文件为市场部文件,管理员拥有该文件的rwx权限,市场部组也拥有该文件的rwx权限,其他人无权限,新招的市场部新员工小王正处于试用期,管理员不想给小王对marking.txt文件的全部权限,只想给他查看该文件的权限。
1、getfacl [选项] file1                                    #查看文件的acl策略
2、setfacl -m u:oracle:rw file1                          #给予Oracle用户对file1文件的rw权限
3、setfacl -m g:macking:r file1                          #给予macking组对file1文件的r权限
4、setfacl -R -m g:macking:rwx /usr/local/nginx/     #递归级联给予macking组对nginx目录的rwx权限
5、setfacl -x u:oracle file1                         #删除Oracle用户对file1文件的rw权限
6、setfacl -x g:macking file1                            #删除macking组对file1文件的权限
7、setfacl -b  file1                                 #全部删除file1文件的acl策略

ACL访问控制 getfacl 、setfacl 命令相关推荐

  1. 21.ACL 访问控制权限详解,setfacl,getfacl,setfacl -m,setfacl -d,setfacl -k,setfacl -x,mask等实操详解

    ACL 访问控制权限详解,setfacl,getfacl,setfacl -m,setfacl -d,setfacl -k,setfacl -x,mask等实操详解 文章目录 ACL (访问控制权限) ...

  2. Linux命令之getfacl和setfacl命令

    一.命令简介   getfacl命令来自于英文词组"get file access control list"的缩写,其功能是用于显示文件或目录的ACL策略.对指定的文件或目录进行 ...

  3. setfacl 权限导出_getfacl命令查看文件访问控制列表信息setfacl命令设置文件访问控制列表...

    1.释义 getfacl命令查看文件访问控制列表信息, 2.系统帮助 2.1.getfacl命令 getfacl 2.2.51 -- get file access control lists Usa ...

  4. linux中setfacl命令,Linux命令之:setfacl和getfacl

    命令总结之:setfacl和getfacl acl:access control list,实现灵活的权限管理 除了文件的所有者,所属组合其他人,可以对更多的用户设置权限 acl生效顺序:所有者.自定 ...

  5. 路由器ACL访问控制列表概念及常用命令

    ACL访问控制列表 ACL概述 (1).ACL全称访问控制列表(Access Control List). (2).基本原理:ACL使用包过滤技术,在路由器上读取第三层及第四层包头中的信息(如源地址. ...

  6. Linux 访问文件的acl信息,linux文件权限管理与ACL访问控制列表

    一.文件属性 1.文件属性: 文件属性操作 chown : change owner  ,设置文件所有者 chgrp : change group  ,设置文件的属组 文件属主修改: chown 格式 ...

  7. 【Linux】一步一步学Linux——setfacl命令(117)

    00. 目录 文章目录 00. 目录 01. 命令概述 02. 命令格式 03. 常用选项 04. ACL访问控制详解 05. 参考示例 06. 附录 01. 命令概述 setfacl的英文全称是&q ...

  8. setfacl 权限导出_Linux如何使用setfacl命令创建权限文件

    setfacl是Linux下设置文件访问控制列表的命令,可用来创建文件,能够继承目录的权限,有些功能类似于chmod命令,下面小编就给大家介绍下Linux使用setfacl命令创建权限文件的方法,一起 ...

  9. setfacl命令基本用法

    setfacl命令可以用来细分linux下的文件权限. chmod命令可以把文件权限分为u,g,o三个组,而setfacl可以对每一个文件或目录设置更精确的文件权限. 换句话说,setfacl可以更精 ...

  10. Linux 命令(174)—— setfacl 命令

    文章目录 1.命令简介 2.命令格式 3.选项说明 4.ACL 介绍 4.1 ACL 组成 4.2 ACL 设置 4.3 ACL_MASK 和 Effective permission 4.4 Def ...

最新文章

  1. jsp是在html中添加什么作用域,JSP九个内置对象 四大作用域 动作指令
  2. python编程if语法-讲解Python中if语句的嵌套用法
  3. 在网上常听到说CEO CTO CIO CGO COO CFO什么什么..现在了解了一下..呵呵
  4. linux下的cat命令
  5. 二:Go编程语言规范-类型
  6. spring mvc 基于表单的认证过程及cookie应用和session管理
  7. Python+OpenGL使用鼠标选择模型不同组成部分
  8. prepared statement mysql_MySQL之 Statement实现及PreparedStatement实现
  9. win10 电脑桌面任务栏点击无反应
  10. iOS_CLLocation定位
  11. Springboot 整合activiti及使用案例
  12. 商品秒杀优化流程总结
  13. 论文公式编辑比较麻烦,试试截图快速识别并编辑公式!
  14. Java 9、10、11,谁才是Java程序员的本命?
  15. linux进程数和句柄数
  16. 51nod3241 小明和他的同学们
  17. GameFi独角兽区块帝国,今日开启全球IDO
  18. 遇到CPU Exception,我该怎么办?
  19. 外包人员:互联网公司【二等公民】...
  20. 【申报通知】关于组织开展广东省2022年高新技术企业认定工作的通知

热门文章

  1. 光盘文件导入服务器,web服务器 光盘文件
  2. C语言合法常量123L,C语言综合习(最终版).doc
  3. 通过mysqladmin监控MySQL数据的服务器状态
  4. Python+数据库+前端+Django
  5. 关于jQuery、AJAX、JSON(一)
  6. 物联网时代的技术迷雾
  7. [Luogu] 被污染的河流
  8. Js获取移动设备分辨率
  9. C#:String.Format数字格式化输出 {0:N2} {0:D2} {0:C2}...
  10. jquery鼠标右键事件