Linux 运维中怎么使用 setfacl 赋予审计员对所有业务日志目录的只读 ACL 权限

阿伟同学_2304

阿伟同学_2304

2026-09-28

147人浏览

原创

核心是批量设置默认acl(d:u:auditor:r-x)以确保新日志目录/文件自动继承,同时对现有目录设u:auditor:r-x、对日志文件设u:auditor:r--,并用find递归应用;需注意logrotate等工具可能破坏acl继承,应配置create参数或触发式更新。

linux 运维中怎么使用 setfacl 赋予审计员对所有业务日志目录的只读 acl 权限

在 Linux 运维中,用 setfacl 为审计员赋予所有业务日志目录的只读 ACL 权限,核心是:**批量设置默认 ACL(default ACL)+ 显式只读权限(r-x 或 r--)+ 递归应用到现有文件和子目录**。关键在于区分“目录”和“文件”的权限语义,避免审计员误删或写入。

明确审计员所需的实际权限组合

只读 ≠ 单纯加 r。对目录需可进入、可列出内容(r-x),对普通日志文件只需读取(r--)。ACL 不会自动区分类型,所以推荐:

  • 对日志目录设 u:auditor:r-x(允许 cd 和 ls)
  • 对日志文件设 u:auditor:r--(仅 cat/tail 查看)
  • 同时加 d:u:auditor:r-x(默认 ACL),确保新创建的日志目录/文件自动继承

一次性批量设置现有日志目录及其内容

假设所有业务日志目录统一在 /var/log/app/ 下(如 /var/log/app/order、/var/log/app/payment):

先给每个日志目录设默认 ACL 和当前权限:

find /var/log/app -type d -exec setfacl -m u:auditor:r-x,d:u:auditor:r-x {} \;

再给已存在的日志文件设只读(跳过目录):

linux-sysadmin
linux-sysadmin

Linux系统管理专家,覆盖12大模块:用户权限、SSH、存储、网络、systemd、防火墙、日志监控、备份恢复、TLS证书、Ansible、容器、IaC。提供配置、验证、加固、监控、备份、自动化、故障排查、回滚闭环。关键词:useradd、sudo、sshd_config、chmod、SEL...

下载
find /var/log/app -type f -exec setfacl -m u:auditor:r-- {} \;

✅ 这样既生效于当前结构,又保证后续新建日志文件/子目录自动获得对应权限。

验证与日常维护要点

检查是否生效:

  • getfacl /var/log/app/order/ —— 看是否有 user:auditor:r-x 和 default:user:auditor:r-x
  • getfacl /var/log/app/order/app.log —— 看是否有 user:auditor:r--
  • 切到 auditor 用户测试:ls /var/log/app/order/(应成功)、cat app.log(应成功)、touch test.log(应 Permission denied)

⚠️ 注意:若日志轮转工具(如 logrotate)以 root 身份创建新文件,且未保留 ACL,则新文件可能丢失 auditor 权限 —— 此时需在 logrotate 配置中添加 create 644 root root 并确认 copytruncate 或 nocopy 行为不影响 ACL 继承。

补充:如果日志路径不固定,建议用配置驱动方式

运维中路径常变动,硬编码 find 不可持续。更稳妥的做法是:

  • 维护一个清单文件 /etc/log-dirs-audit.list,每行一个日志目录路径
  • 写小脚本定期执行(例如加入 cron):
while IFS= read -r dir; do
  [ -d "$dir" ] || continue
  setfacl -Rm u:auditor:r-x,d:u:auditor:r-x "$dir" 2>/dev/null
  find "$dir" -type f -exec setfacl -m u:auditor:r-- {} \;
done <p>配合 <code>inotifywait</code> 或 systemd path unit 可实现变更触发式更新,适合合规性要求高的环境。</p>

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

相关标签:

linux

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
服务器是什么
服务器是什么

服务器是一种计算机硬件设备或软件程序,它具有强大的计算和存储能力,用请求、存储数据和提供服务。它在互联网中着关重要的作用,为用户提供各种服务和资源。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.15

417

5

连接apple id服务器时出错
连接apple id服务器时出错

连接apple id服务器时出错的原因包括网络连接问题、服务器问题、Apple ID账户问题、设备问题、防火墙或安全软件问题、时间和日期设置问题、Apple服务器维护等。本专题为大家提供apple id相关的文章、下载、课程内容,供大家免费下载体验。

2023.09.08

840

5

搭建互联网服务器
搭建互联网服务器

搭建互联网服务器需要:1、选择合适的硬件和操作系统,第一步是选择合适的硬件和操作系统;2、安装和配置操作系统,是搭建互联网服务器的关键步骤;3、安装和配置服务器软件,是搭建互联网服务器的下一步,常见的服务器软件包括Apache、Nginx、Tomcat等;4、配置防火墙和安全性,是搭建互联网服务器的重要步骤;5、域名解析和配置,是搭建互联网服务器的最后一步。

2023.09.19

2492

5

如何查看服务器状态
如何查看服务器状态

查看服务器状态的方法有使用命令行工具、图形界面工具、监控工具、日志文件和远程管理工具等。本专题为大家提供服务器状态相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.09

836

5

服务器域名转接慢怎么解决
服务器域名转接慢怎么解决

服务器域名转接慢的解决办法有DNS优化、服务器优化、CDN加速、前端优化和网络优化等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.17

749

5

服务器评测软件
服务器评测软件

服务器评测软件有PassMark Software、CPU-Z、GPU-Z、CrystalDiskMark、IOmeter、JMeter、LoadRunner、Apache Bench等等。详细介绍:1、PassMark Software是一款综合性的服务器性能测试软件,可以评估服务器在各种负载条件下的性能;2、CPU-Z是一款可以提供服务器CPU详细信息的软件等等。

2023.10.17

394

3

如何开启TFTP服务器
如何开启TFTP服务器

开启TFTP服务器的步骤包括选择TFTP服务器软件、下载和安装软件、配置TFTP服务器以及启动和测试服务器等。本专题为大家提供服务器相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.18

2236

4

服务器负载不兼容怎么解决
服务器负载不兼容怎么解决

解决方法:1、增加服务器资源;2、负载均衡;3、优化应用程序;4、增加缓存机制;5、分布式架构;6、限流和熔断;7、自动化扩容。想知道更详细服务器负载不兼容的解决方法,可以访问本专题下面的文章。

2023.10.20

4132

4

宽带如何接入服务器
宽带如何接入服务器

宽带接入服务器的方法有ADSL宽带接入服务器、光纤接入服务器、无线接入服务器和以太网接入服务器等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023.10.20

667

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Buffalo框架快速入门指南
Buffalo框架快速入门指南

共0课时 | 0人学习

Valgrind支持平台说明
Valgrind支持平台说明

共0课时 | 0人学习