Linux 入门系列——ACL(linux文件acl)
ahcoder 2025-05-11 13:40 11 浏览
什么是ACL
ACL是access control list(访问控制列表)的缩写。主要的目的是提供在传统的owner,group,other的read,write,execute权限之外的更为细的权限控制。这和网络中的acl的作用是一样的,只是配置、对象不一样。
ACL主要针对以下几个方面来做权限控制:
- 使用者(user):可以针对使用者来配置权限,注意这个user并不一定指的是文件的属主;
- 群组(group):针对群组为对象来设置权限;
- 默认属性(mask):还可以针对在该目录下创建新文件/目录时,规范新数据的默认权限;
启用文件系统的ACL功能
由于ACL是传统的Unix-like操作系统权限的额外支持项目,因此要使用ACL必须要有文件系统的支持才行。目前大部分的文件系统都支持ACL的功能,如:ext2/ext3/ext4,jfs,xfs等。
可以使用如下的命令去查看文件系统是否启用了ACL功能:
[root@squid ~]# mount
/dev/sda3 on / type ext3 (rw)
proc on /proc type proc (rw)
上面并没有看到acl,那么就要使用下面这个命令来查看了:
[root@squid ~]# dumpe2fs /dev/sda3|grep acl
dumpe2fs 1.39 (29-May-2006)
Default mount options: user_xattr acl
[root@squid ~]#
如果使用dumpe2fs 还是没有看到acl的话,那就说明系统默认没有启用acl,那么就需要在/etc/fstab文件中做如下修改:
LABEL=/ / ext3 defaults,acl 1 1
在defaults的后面加上acl选项,然后执行# mount –a,来重新挂载文件系统。这样就可以生效了。
相关命令
setfacl:为指定文件设置ACL
getfacl:取得指定文件的ACL
setfacl命令用法:
-m:给指定的文件配置指定的acl;
-x:把指定文件的指定的acl删除;
-b:删除所有的acl配置项,这里只是删除文件的acl配置项,但是文件的基本权限还是在的;
-k:删除文件的默认的acl配置;
-R:递归配置指定目录的acl;
-d:配置指定文件的默认的acl
setfacl命令格式:
# setfacl -m u:[username]:[rwx] filename //为某用户设置某个文件的ACL
# setfacl -m g:[groupname]:[rwx] filename //为某用户 组设置某个文件的ACL
相应的取消facl:
# setfacl –x u:username filename
# setfacl –x g:groupname filename
设置文件的有效权限:
# setfacl –m m:[rwx] filename
如果某个文件设置了有效的权限,那么用户所拥有的权限都不会超出有效权限的范围的。也就是说,这个有效权限是一个保护机制,可以防止ACL配置错误而引起的权限问题;
案例
[root@squid ~]# touch test.acl
[root@squid ~]# ll test.acl
-rw-r--r-- 1 root root 0 01-05 16:43 test.acl
[root@squid ~]# setfacl -m u:xfzhou:rwx test.acl
[root@squid ~]# ll test.acl
-rw-rwxr--+ 1 root root 0 01-05 16:43 test.acl
//可以看出,设置了acl后,文件的基本权限后面多了个”+”
[root@squid ~]#
[root@squid ~]# getfacl test.acl
# file: test.acl //说明信息,文件名称;
# owner: root //文件的属主;
# group: root //文件的属组
user::rw- //如果用户 列表是空的,那么就代表的是文件属主的权限;
user:xfzhou:rwx //指定xfzhou用户的权限;
group::r-- //同user::rw-
mask::rwx //此文件默认的有效权限;
other::r-- //其他人拥有的权限;
[root@squid ~]#
Linux系统文件的权限查检次序
- 当没有给文件设置facl的时候,顺序为:
Owner group other
即:先检文件的属主是否与访问者的用户名或UID一致;如果不一致,则再检查文件的属组是否与访问者所属的组(包括附加组)一致,最后如果前面的两个都没有匹配,那么系统就会按照该文件的other位上的权限,来决定该用户是否有相关的操作;
- 如果给文件设置了facl的话,那么权限检查的顺序就为:
Owner facl:owner group facl:group other
相关推荐
- WordPress外贸站架构深度剖析:如何实现秒级页面响应?
-
在搭建WordPress外贸独立站时,性能往往是影响转化的隐形杀手。下面分享几点实战经验,帮助你把响应速度从3秒降到1秒以内:1精准PHP版本与扩展选择推荐使用PHP8.1+,并启用Opcache...
- nginx配置文件详解(nginx配置文档)
-
Nginx是一个强大的免费开源的HTTP服务器和反向代理服务器。在Web开发项目中,nginx常用作为静态文件服务器处理静态文件,并负责将动态请求转发至应用服务器(如Django,Flask,et...
- 网站总是受到攻击打不开怎么办(网站被攻击打不开)
-
最近我的网站流量呈上升的趋势,经常被同行恶意攻击,但是我的网站还是没有垮,我就详细给遇到和我同样问题的朋友们分享我的网站到底是如何防御住黑客攻击的,因为正常的情况下,我们的客户端发送请求到达服务器端,...
- 一文读懂限流算法及方案介绍(限流式的范围怎么算)
-
作者:京东科技康志兴应用场景现代互联网很多业务场景,比如秒杀、下单、查询商品详情,最大特点就是高并发,而往往我们的系统不能承受这么大的流量,继而产生了很多的应对措施:CDN、消息队列、多级缓存、异地...
- HTTP/1.1、HTTP/2、HTTP/3 演变(http的发展)
-
HTTP基本概念HTTP是超文本传输协议,也就是HyperTextTransferProtocol。HTTP常见的状态码有哪些?1xx类状态码属于提示信息,是协议处理中的一种中间状态,实际...
- Nginx负载均衡算法详解(5大主流算法)
-
关注△mikechen△,十余年BAT架构经验倾囊相授!大家好,我是mikechen睿哥。Nginx是大型架构的必备中间件,也是大厂经常考察的内容,下面我就全面来详解Nginx算法@mikechen轮...
- Nginx从安装到高可用,一篇搞定(nginx安装windows)
-
一、Nginx安装1、去官网http://nginx.org/下载对应的nginx包,推荐使用稳定版本2、上传nginx到linux系统3、安装依赖环境(1)安装gcc环境yuminstallgc...
- 一文搞懂!7种常见的限流方式!(限流措施有哪些)
-
在实际应用中,每个系统或者服务都有其处理能力的极限(瓶颈),即便是微服务中有集群和分布式的夹持,也不能保证系统能应对任何大小的流量,因此,系统为了自保,需要对处理能力范围以外的流量进行“特殊照顾”(比...
- 探索Apache HttpClient超时时间如何设定?
-
大家好,我是哪吒。最近在项目遇到了通过HTTP请求,调用第三方接口的问题。一、ApacheHttpClient模拟POST请求,调用第三方接口ApacheHttpClient是一个流行的Java库...
- Nginx 1.20.0 稳定版介绍(nginx1.21.0)
-
nginx最新稳定分支1.20已于2021年4月20日发布,新版本引入了来自1.19.x主线分支的新功能和错误修复,其中包括:使用OCSP进行客户端SSL证书验证引入ssl_rej...
- 图解常见的限流算法(计数器、滑动窗口计数、漏桶、令牌桶)
-
哈喽,大家好呀,我是呼噜噜,好久没有更新文章了,今天我们来聊聊在企业级项目中,常见的几种限流手段的原理及其实现什么场景需要限流随着互联网的业务发展,比如秒杀、双十一、618等这些我们耳熟能详,也有被人...
- 高并发场景下,Nginx性能如何提升10倍?
-
大家好,我是mikechen。在高并发场景,Nginx是流量入口的第一道防线,如果想拦截亿级流量,需要Nginx合理调优才能应对@mikechen。本文作者:陈睿|mikechen文章来源:mike...
- Sentinel源码—8.限流算法和设计模式总结
-
大纲1.关于限流的概述2.高并发下的四大限流算法原理及实现3.Sentinel使用的设计模式总结1.关于限流的概述保护高并发系统的三把利器:缓存、降级和限流。限流就是通过限制请求的流量以达到保护系统的...
- Nginx-性能优化(nginx性能优化)
-
前言这篇关于Nginx的性能优化,是我查阅资料研究所成,并没有用于实际生产环境,如若你想用于实践,请谨慎测试之后使用。Nginx性能优化,主要是减少磁盘io。请求头、请求体、响应体都在缓冲区操...
- 两步优化nginx,性能达到10万+并发
-
Nginx介绍nginx是一款来自俄罗斯开发人员开源的高性能的HTTP服务器和方向代理服务器,因为它的性能非常优秀,而且是免费,所以,在国内被广泛运用于web服务器、负载均衡服务器、邮件代理服务器。它...
- 一周热门
- 最近发表
- 标签列表
-
- linux 远程 (37)
- u盘 linux (32)
- linux 登录 (34)
- linux 路径 (33)
- linux 文件命令 (35)
- linux 是什么 (35)
- linux 界面 (34)
- 查看文件 linux (35)
- linux 语言 (33)
- linux代码 (32)
- linux 查看命令 (33)
- 关闭linux (34)
- root linux (33)
- 删除文件 linux (35)
- linux 主机 (34)
- linux与 (33)
- linux 函数 (35)
- linux .ssh (35)
- cpu linux (35)
- linux 防火墙 (33)
- linux 镜像 (34)
- linux ip地址 (34)
- linux 用户查看 (33)
- nginx配置 解析 (37)
- nginx 频率限制 (34)