ACL(acess control list)
传统UNIX文件系统:文件访问权限包含三个部分,user / group / others,这类文件系统简洁而功能相对完善,在很长时间内被证实可以被应用于大多数场合,其典型表示如图
但是某些特殊场合,仅仅拥有三种权限判定类别是不够的。因此出现了ACL这样新型的文件系统设计,从而指定更多具体的用户其访问权限

ACL标准

标准名称 备注
POSIX ACL 最初制定的ACL草案,但是由于资金问题并没有成为正式的标准。但是在UNIX阵营被广泛的实现
Windows ACL 微软公司制定了自己的Windows ACL,该方案相比POSIX差异很大并且更加复杂
NFSv4 ACL 鉴于没有一个权威的ACL标准,在制定此标准的时候:基于POSIX ACL,兼容Windows ACL

ACL 实现

文件系统 操作系统 支持ACL
ReiserFS Linux POSIX ACL
XFS Linux POSIX ACL
JFS Linux POSIX ACL
BtrFS Linux POSIX ACL
ext* Linux POSIX ACL
UFS Solaris POSIX ACL
VxFS HP-UX POSIX ACL
ZFS Solaris NFSv4 ACL
JFS2 AIX NFSv4 ACL
  • POSIX ACL

ACL访问表语法格式

语法 语义
user::rw- 属主权限,可读可写
user:wein:r– 特定用户wein,只读
group::r– 文件属组,只读
group:ruby:r-x 特定用户组ruby,可执行
other::rwx 其它用户,读写,可执行
mask::perms 影响除属主和其它之外的所有成员

ACL权限判定

  • 判断进程有效用户ID是否和属主相同,如果相同,最终访问权限为user::这一项决定(与mask无关)

  • 继续判断有效用户ID是否和其它特定用户相同,如果相同,最终访问权限为user:name:一项与mask决定

  • 继续判断有效用户ID所属诸多组别是否和ACL中有匹配项,如果匹配,最终访问权限为group:*:与mask决定

  • 以上都不成立,权限取决于other::项(于mask无关)

  • ACL继承

POSIX ACL实验
01 最小ACL(实际ACL并没有存储,只是把9bits翻译成为ACL输出),通过ls -l 输出最后没有提示"+“符号判断是否存储ACL

手动编辑最小ACL,事实上仍然只是修改9bit权限位

02真实ACL
setfacl 把写权限提供给用户wein(wein不在jianleya这个组当中),实验发现wein确实可以写入文件。此时文件已经真实需要一个ACL存储,从文件末尾的”+“符号可以看出这一点
03 当文件末尾有一个”+"符号,意味着文件需要单独存储ACL:
这个时候使用chmod 命令改变组权限将会产生一个问题,chmod g+w 或者g-w修改的是mask这个字段,并不会影响group::

example文件开始组权限只读,使用chmod g+w发现ls命令显示组已经有了写权限,但是ACL中mask增加了w掩码字,group::仍然是只读(这个时候属于jianleya这个组的成员对该文件是没有写权限的)。显然ls -l 的输出有些问题,为了真正赋予组写权限需要编辑ACL group::

  • NFSv4 ACL

系统管理:文件访问权限之ACL相关推荐

  1. 2003 文件服务器权限设置,win2003服务器设置文件访问权限

    win2003服务器设置文件访问权限 内容精选 换一换 如果您需要对华为云上购买的云手机(Cloud Phone,CPH)资源,给企业中的员工设置不同的访问权限,以达到不同员工之间的权限隔离,您可以使 ...

  2. linux查看目录访问权限,Linux文件访问权限

    一.设置用户ID和设置组ID 1.实际用户ID和实际组ID标识当前登录的用户. 2.有效用户ID,有效组ID以及附加组ID决定了我们的文件访问权限. 3.通常,有效用户ID等于实际用户ID,有效组ID ...

  3. Linux 权限管理: 权限的概念、权限管理、文件访问权限的设置、 粘滞位

    Linux下的基本指令 目录: 权限的概念 权限管理 文件访问权限的设置方法 目录的权限 粘滞位 权限的概念 Linux下用户有两种: 超级用户(root).普通用户. 超级用户:具有最高权限,可以在 ...

  4. Linux中ls -l(ll)返回结果中的文件访问权限-rw-r--rw-

    linux文件访问权限(像rw-r--rw-是什么意思) Linux的文件访问权限分为 读.写.执行三种 r:可读(4) w:可写(2)对目录来说则可新建文件 x:可执行(1)对目录来说则可进入该目录 ...

  5. Linux命令之精确控制文件访问权限setfacl

    概述 setfacl 命令可以更加精确的控制文件权限的分配,比如让某一个用户对某一个文件具有某种权限.setfacl 的全称是 set file access control list,即" ...

  6. 设置NTFS文件访问权限

    给你一个我自己收集整理的类: 例: C# code? 1 2 3 4 5 6 7 8 9 10 11 12 13 using System.Security.AccessControl;       ...

  7. linux文件访问权限,Linux文件权限和访问模式

    为了更加安全的存储文件,Linux为不同的文件赋予了不同的权限,每个文件都拥有下面三种权限: 所有者权限:文件所有者能够进行的操作 组权限:文件所属用户组能够进行的操作 外部权限(其他权限):其他用户 ...

  8. Android文件目录及文件访问权限等详解

    Android文件目录一次说清 说明 应用访问权限及范围 在app内创建文件演示 在其他app内访问上面的app创建的文件 说明 android 中获取目录的API有两种,一种是通过Environme ...

  9. 【netcore基础】wwwroot下静态资源文件访问权限控制

    本文参考如下博问 https://q.cnblogs.com/q/107836 业务要求 上传的资源文件(.mp3 .mp4等)只有购买了之后才能有权限访问,所以对上传的资源文件目录进行访问权限控制 ...

最新文章

  1. 图书借阅系统java_基于JAVAWEB的图书借阅系统
  2. 第五次作业——软件设计
  3. apigateway-kong(四)负载均衡理论及实现
  4. Hadoop 在关机重启后,namenode启动报错
  5. 破坏双亲委派机制的那些事
  6. bash ps1变量_在 Linux 中打扮你的冬季 Bash 提示符
  7. html中使浮动的字为行排列,CSS布局:float浮动
  8. 计算机组成原理 控制器.ppt,计算机组成原理(CPU的控制器部件)课件.ppt
  9. java 关闭守护线程_Java并发编程之线程生命周期、守护线程、优先级、关闭和join、sleep、yield、interrupt...
  10. [转载] C#面向对象设计模式纵横谈——11. Facede外观模式
  11. Kafka 异步消息也会阻塞?记一次 Dubbo 频繁超时排查过程
  12. RTN实时音视频传输网络
  13. python数据分析 活用pandas库_Python数据分析:活用Pandas库
  14. Windows通过IP地址向对方发送信息
  15. python调用R语言
  16. Linux服务器开发,开源框架log4cpp和日志模块实现
  17. Firefox火狐浏览器主页被360篡改了
  18. unrecongnized workspace file version : 未識別的工作空間文件版本
  19. [李宏毅机器学习笔记]
  20. 03 ffprobe工具详解【全】

热门文章

  1. validating project时间过长,解决办法
  2. Python获取优盘基本信息
  3. 万向区块链董事长肖风博士:2018年区块链技术将会进入3.0时代
  4. python可删除用户程序_linux-在Python中删除根权限
  5. auth模块进行验证登录,forms进行输入和后台进行渲染,novalidate前台不验证
  6. bullet physics SDK 简介
  7. [Java] 序列化(Serialization)的本质是什么?在Java中怎么实现?为什么要了解序列化技术?序列化技术选型要点是什么?
  8. linux 中切换用户指令,linux系统怎么用命令切换用户?
  9. 一道贝叶斯公式的小例子
  10. AI在医疗保健领域的应用:如何更好地管理患者的健康数据