Linux的ACL(扩展权限)规划:setfacl、getfacl

news2024/11/28 4:45:38

目录

什么是ACL与如何支持启动ACL

ACL设置技巧:getfacl、setfacl 

getfacl命令用法

setfacl命令用法

最简单的【u:账号:权限】设置

使用默认权限设置目录未来文件的ACL权限继承


什么是ACL与如何支持启动ACL

ACL是Access Control List的英文缩写,中文译为访问控制列表,主要目的是提供传统的属主、所属群组、其他人的读、写、执行权限之外的详细权限设置。ACL可以直接针对单一用户、单一文件或目录来进行r、w、x的权限设置,对于需要特殊权限的使用状况非常有帮助

ACL主要针对这几个选项来控制权限:

  • 用户(user):可以针对用户来设置权限
  • 用户组(group):可以针对用户组为对象来设置权限
  • 默认属性(umask):还可以针对在该目录下建立新文件/目录时,规范新数据的默认权限

传统的Linux系统只能针对一个用户、一个用户组以及非此用户组的其他人设置权限而已,无法针对单一用户或个人来设置权限,而ACL就是为了解决此问题

ACL原本是UNIX-like操作系统的额外支持选项,但因为近年来Linux系统对权限设置的热烈需求,目前ACL几乎已经默认加入了所有常见的Linux文件系统的挂载参数中(ext2、ext3、ext4、xfs等),如果你不确认自己的系统是否真的支持ACL,可以检查一下内核挂载时显示的信息

ACL设置技巧:getfacl、setfacl 

设置与查看ACL的两个命令:

  • getfacl:获取某个文件/目录的ACL设置选项
  • setfacl:设置某个文件/目录的ACL规范

getfacl命令用法

getfacl filename

选项与参数:

-a:仅显示文件的ACL
-d:仅显示文件的ACL
-e:显示所有的有效权限
-E:显示没有的有效权限
-s:跳过文件,只具有基本条目
-R:递归查询
-L:按照逻辑路径,包括软链接
-P:按照物理路径,不包括软链接
-t,:使用表格输出格式
-n:显示用户的UID和组群的GID
-p:保留路径中开始的根"/"

第一行:说明此文件

第二行:说明此文件的拥有者

第三行:说明此文件的所属组

第四行:使用者列表栏是空,代表文件拥有者的权限

第五行:针对redhat用户的权限设置为rx,与拥有者并不同

第六行:针对文件用户组的权限设置仅有r

第七行:此文件默认的有效权限

第八行 :其他人拥有权限

显示数据前有#的表示这个文件的默认属性,包括文件名、文件拥有者与文件所属用户组。下面出现的user、group、mask、other则是属于不同用户、用户组与有效权限(mask)的设置值

setfacl命令用法

setfacl 【-bkRd】【 {-m | -x}  acl参数 】目标文件名

选项与参数:

-m:设置后续的ACL参数给文件使用,不可与-x合用

-x:删除后续的ACL参数,不可与-m合用

-b:删除【所有的】ACL设置参数

-k:删除【默认的】ACL参数

-R:递归设置ACL,即包括所有子目录都会被设置起来

-d:设置【默认ACL参数】的意思,只对目录有效,在该目录新建的数据会引用此默认值

最简单的【u:账号:权限】设置

设置规范为 【u/g/m:使用者账号/用户组名:rwx】

u:针对用户

g:针对用户组

m:针对有效权限

设置有效权限时,设置规范为 m:rwx 与设置g、u有些不同

有效权限(mask)的意思为规范最大允许范围,所以当mask的权限只有r时,redhat用户权限最大也只有r,x权限并不生效

我们看到的权限与实际权限可能会有点误差,所以我们需要通过getfacl来查看

针对单一用户的设置方式:针对redhat的权限规范rx

设置规范【u:使用者账号:rwx】

 

我们可以发现设置了ACL后,权限部分最后一位由 . 变成了+,且与原本的644权限看起来差异很大 

当设置规范【u:使用者账号:rwx】没有使用者账号时,默认为该文件拥有者

删除全部ACL的属性:

补充:当我们给一个目录设置了ACL后,在此目录内新建的文件或目录都不会继承该目录的ACL设置(新建文件权限最后不是+),但是我们可以使用默认权限来设置目录未来文件的ACL权限继承

使用默认权限设置目录未来文件的ACL权限继承

设置规范【d:[ug]:使用者列表:rwx】

 

此时再建立一个文件看看

 通过这个针对目录来设置的默认ACL权限设置值的选项,我们可以让这些属性继承到子目录下面

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/345221.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【基础篇】7 # 队列:队列在线程池等有限资源池中的应用

说明 【数据结构与算法之美】专栏学习笔记 什么是队列? 队列是一种操作受限的线性表数据结构,特点是先进先出,最基本的操作有:入队 enqueue(),放一个数据到队列尾部;出队 dequeue(),从队列头…

综合保税区快速发展,卖家抓紧瞄准跨境电商

综合保税区指的是我国设立在内陆地区的海关特殊监管区域,具有报税港区的功能,这是由海关参照有关规定对综合保税区进行管理,执行保税港区的外汇政策和税收,集合众多功能于一身,包括保税区、保税物流区、出口加工区、港…

JNI开发之-CMake方式调用第三方so

CMake方式调用第三方so背景CMake工程配置工程配置配置CMakeLists.txt配置build.gradle调用第三方so中的方法背景 最近一个项目是对接自研团队的个so库,因为之前都是用ndk来编译自己的so库,一直没有问题,但是用到这个自研的的so库一直有问题&…

usbmon+tcpdump+wireshark USB抓包

文章目录usbmon抓包及配合wireshark解析usbmon抓包及配合wireshark解析 usbmon首先编译为内核模块,然后通过modprobe usbmon加载到linux sys文件系统中 rootroot-PC:~# modprobe usbmon​ 而后 linux系统下安装 tcpdump rootroot-PC:~# apt-get install tcpdump​…

如何开发一个好用的公共组件

写在前面 当你对某一个业务场景有自己的理解,想提炼开发了一个很好用的组件,想开放给别的同学使用,或者甚至放在社区给任何一个人使用,你应该会产生以下疑问: 一个标准的组件是怎么样的,在开发过程中有哪…

android-java同步方法和异步方法

接口 Java接口是一系列方法的声明,是一些方法特征的集合,一个接口只有方法的特征没有方法的实现,因此这些方法可以在不同的地方被不同的类实现,而这些实现可以具有不同的行为(功能)。 两种含义&#xff1a…

中文编程发展不起来,无代码开发能否打个翻身仗

中文编程夹缝里生存众所周知,易语言开创了中文编写程序的先河,最早可追溯到2000年。当时易语言风靡一时,背后积攒了大批的用户,承载着那一代人的青春。也帮助了很多普通的初学者能够在短时间的入门。如今的易语言早已失去了往日的…

大咖说·图书分享|狼书(卷3):Node.js高级技术

Node.js都有哪些需要掌握的高级技术?前端为什么同样需要学习? Node.js未来的发展趋势究竟如何?本期大咖说,Node布道师桑世龙携新作《狼书(卷3):Node.js高级技术》展开分享。 ● 嘉宾介绍 桑世龙:Node布道…

博客系统 SSM 超强硬核良心推荐之第一弹 - 预备工作

硬核 ! 从 0 到 1 完美实现 SSM 版本的博客系统 , 学会保准不吃亏!一 . SSM 版本相比于 Servlet 版本的亮点二 . 初始化数据库三 . 前端页面3.1 注册页面3.2 登录功能3.3 文章总列表页3.4 自己的文章列表页3.5 文章详情页3.6 编写博客页面大家好 , 这是新的专栏 , 博客系统 SSM…

嵌入式Linux学习经典书籍-学完你就是高手

很多刚入门的朋友一直都有人问我要学习资料,嵌入式实在太杂,网上很多人写的太不负责了,本书单综合了本人以及一些朋友多年的经验整理而成。 本人见识和阅读量有限,本书单可能有不对的地方,欢迎朋友指正,交…

SCI写作,一定要避开这些“雷点”!

SCI论文写作中,除了要符合各部分的写作要求,还有许多细节问题需要我们注意,不然可能一不小心就会“踩雷”。 今天我们就来和大家分享SCI各个部分写作时的注意事项。 下面就进入正题! SCI写作注意事项 01 标题的拟定 1.避免使用无…

[Vivado那些事儿]将自定义 IP (HDL)添加到 Vivado 模块设计(Block Design)

绪论使用Vivado Block Design设计解决了项目继承性问题,但是还有个问题,不知道大家有没有遇到,就是新设计的自定义 RTL 文件无法快速的添加到Block Design中,一种方式是通过自定义IP,但是一旦设计的文件有问题就需要重…

短信链接跳转微信小程序

短信链接跳转微信小程序1 实现方案1.1 通过URL Scheme实现1.2 通过URL Link实现1.3 通过云开发静态网站实现2 实现方案对比3 实践 URL Schema 方案3.1 获取微信access_token3.2 获取openlink3.3 H5页面(模拟短信跳转,验证ok)4 问题小节4.1 io…

机器视觉_HALCON_示例实践_1.检测圆形

文章目录一、引言二、检测圆形三、总结一、引言 前面的文(用户指南/快速向导)差不多已经把HALCON的基本内容讲完了,并且在学习过程中还跑过一个简单示例——在单一背景下定位回形针。示例跑过,顿时觉得自己行了,但如果…

当make执行遇到 Arguments too long

1. 问题 Ubuntu20.04上make编译生成so的时候报错: make[1]:execvp:/bin/sh:Arguments too long对应makefile中的报错位置,仅仅是生成so的时候报错,伪代码如下 ${build_tool} -shared -fpic -o "$" ${OBJ_FILE} ${LDFLAGS}然而如…

Linux基础 - NTP时间同步

‍‍🏡博客主页: Passerby_Wang的博客_CSDN博客-系统运维,云计算,Linux基础领域博主 🌐所属专栏:『Linux基础』 🌌上期文章: Linux基础 - DNS服务进阶 📰如觉得博主文章写的不错或对你有所帮助…

IP地址在网络安全行业有哪些应用?

随着我国网络安全法律的颁布实施、制度的细化落实以及标准体系的制定,为我国产业数字化和数字产业化铺平了道路。近几年,数据将对网络安全行业产生巨大影响,包括行业数据的采集、共享,智能算法的演进以及算力资源的复用&#xff0…

ContextCapture Master 倾斜摄影测量实景三维建模技术应用

查看原文>>>https://mp.weixin.qq.com/s?__bizMzAxNzcxMzc5MQ&mid2247582483&idx3&sn38b94b4415ff29531e1619afe0c4df87&chksm9be29c03ac951515c28be526c987b19aedc1a5b3ad98ada5676e8c548f0f229665f495a0f281&token10630879&langzh_CN#rdCo…

Windows 11 绕过 TPM 方法总结,通用无 TPM 镜像下载 (2023 年 1 月更新)

在虚拟机、Mac 电脑和 TPM 不符合要求的旧电脑上安装 Windows 11 的通用方法总结 请访问原文链接:https://sysin.org/blog/windows-11-no-tpm/,查看最新版。原创作品,转载请保留出处。 作者主页:www.sysin.org 本文要解决的问题…

Qt 不规则窗口,不规则按钮,不规划控件 不规则界面

有一些特殊情况,需要使用不规则窗口或按钮,看起来非常炫酷。 类似: Qt 实现 不规则样式设置,不是视觉欺骗,是真正的不规则 ,点击外面不会触发按钮的点击信号. Part1:不规则窗口 效果&#xf…