当前位置: 首页 > news >正文

ACL是什么

目录

一、ACL是什么

二、ACL的使用:setacl与getacl

1)针对特定使用者的方式:

 1. 创建acl_test1后设置其权限

2. 读取acl_test1的权限

2)针对特定群组的方式:

3)针对有效权限 mask 的设置方式:

4) 针对默认权限的设置方式:

一、ACL是什么

ACL是AccessControlList,访问控制列表
主要的目的是在提供传统的owner,group,othersread,write,execute(读,写,执行)权限之外的细部权限设置。ACL可以针对单一使用者,单一文件或目录来进行r,w,x的权限规范,对于需要特殊权限的使用状况非常有帮助。

使用者(user):可以针对使用者来设置权限;

群组(group):针对群组为对象来设置其权限;

默认属性(mask):还可以针对在该目录下在创建新文件/目录时,规范新数据的默认
权限;

ACL几乎已经默认加入在所有常见的Linux文件系统的挂载参数中(ext2/ext3/ext4/xfs等等)

二、ACL的使用:setacl与getacl

getfacl:取得某个文件/目录的ACL设置项目;
setfacl:设置某个目录/文件的ACL规范。
setfacl 指令用法介绍及“ u:帐号:权限 设置
setfacl [-bkRd] [{-m|-x} acl参数] 目标文件名
选项与参数:
-m :设置后续的 acl 参数给文件使用,不可与 -x 合用;
-x :删除后续的 acl 参数,不可与 -m 合用;
-b :移除所有的” ACL 设置参数;
-k :移除默认的” ACL 参数,关于所谓的默认参数于后续范例中介绍;
-R :递回设置 acl ,亦即包括次目录都会被设置起来;
-d :设置默认 acl 参数的意思!只对目录有效,在该目录新建的数据会引用此默认值

 

1)针对特定使用者的方式:

设置规范:“ u:[使用者帐号列表]:[rwx] ”,例如针对 vbird1 的权限规范 rx

 1. 创建acl_test1后设置其权限

touch acl_test1
ll acl_test1
setfacl -m u:vbird1:rx acl_test1
ll acl_test1
-rw-r-xr--+ 1 root root 0 Jul 21 17:33 acl_test1

2. 读取acl_test1的权限

setacl filename
getfacl 的选项几乎与 setfacl 相同

2)针对特定群组的方式:

设置规范:“ g:[群组列表]:[rwx] ”,例如针对 mygroup1 的权限规范 rx
setfacl -m g:mygroup1:rx acl_test1
getfacl acl_test1

3)针对有效权限 mask 的设置方式:

 设置规范:“ m:[rwx] ”,例如针对刚刚的文件规范为仅有 r
setfacl -m m:r acl_test1
getfacl acl_test1
使用者或群组所设置的权限必须要存在于 mask 的权限设置范围内才会生 效,此即“有效权限 (effective permission)

4) 针对默认权限的设置方式:

设置规范:“ d:[ug]:使用者列表:[rwx] ”
myuser1 /srv/projecta 下面一直具有 rx 的默认权限!
setfacl -m d:u:myuser1:rx /srv/projecta
getfacl /srv/projecta
-rw-rw----+ 1 root projecta 0 Jul 21 17:50 zzz1
drwxrws---+ 2 root projecta 6 Jul 21 17:51 zzz2
# "+"代表acl 在目录下面的数据有继承的功能
http://www.lryc.cn/news/20124.html

相关文章:

  • 操作系统核心知识点整理--内存篇
  • 从零开始学习iftop流量监控(找出服务器耗费流量最多的ip和端口)
  • 第一篇博客------自我介绍篇
  • No suitable device found for this connection (device lo not available(网络突然出问题)
  • 【算法设计技巧】分治算法
  • 已解决kettle新建作业,点击保存抛出异常Invalid state, the Connection object is closed.
  • 【设计模式】 工厂模式介绍及C代码实现
  • 深入浅出PaddlePaddle函数——paddle.arange
  • X86 ATT常用寄存器及其操作指令
  • Kotlin 高端玩法之DSL
  • 理光M2701复印机载体初始化方法
  • 2.25Maven的安装与配置
  • 《英雄编程体验课》第 12 课 | 递归
  • 35测试不如狗?是你自己技术不够的怨怼罢了
  • 【代码训练营】day42 | 1049. 最后一块石头的重量 II 494. 目标和 474.一和零
  • Golang协程常见面试题
  • 种群多样性:智能优化算法求解基准测试函数F1-F23种群动态变化图(视频)
  • Qt 中的XML
  • 网络应用之URL
  • 【Linux】重定向原理dup2缓冲区
  • ROG配置ubuntu20.04.5双系统要点
  • 机械革命旷世G16电脑开机变成绿屏了无法使用怎么办?
  • python中关于time模块的讲解---指定格式时间字符串转为时间戳
  • MySql存储引擎与索引
  • typing库
  • linux shell 入门学习笔记10内置shell命令
  • [动手写操作系统]-02-开机运行系统并打印‘hello‘
  • Delete `␍`eslint(prettier/prettier) in vscode 的解决方案
  • gof23 设计模式 各个模式代码demo
  • 0 初识Kotlin