插件窝 干货文章 如何设置CentOS系统以限制用户对系统日志的修改

如何设置CentOS系统以限制用户对系统日志的修改

sudo 权限 log var 673    来源:    2025-04-16

CentOS系统限制用户修改系统日志的设置方法

要限制普通用户对系统日志的修改权限,可以通过以下几种方法实现:

1. 设置日志文件权限

# 设置日志目录权限
sudo chmod 750 /var/log
sudo chown root:root /var/log

# 设置重要日志文件权限
sudo chmod 640 /var/log/messages
sudo chmod 640 /var/log/secure
sudo chmod 640 /var/log/audit/audit.log

2. 使用ACL扩展权限控制

# 安装ACL工具
sudo yum install -y acl

# 设置ACL权限
sudo setfacl -Rm u:root:rwx /var/log
sudo setfacl -Rm d:u:root:rwx /var/log
sudo setfacl -Rm g:root:rx /var/log
sudo setfacl -Rm d:g:root:rx /var/log

3. 配置SELinux策略

# 检查当前SELinux状态
sudo getenforce

# 如果未启用,启用SELinux
sudo setenforce 1

# 设置SELinux上下文
sudo chcon -t var_log_t /var/log
sudo restorecon -Rv /var/log

4. 使用auditd审计系统

# 安装auditd
sudo yum install -y audit

# 配置审计规则
sudo echo "-w /var/log -p wa -k logs" >> /etc/audit/rules.d/audit.rules
sudo systemctl restart auditd

5. 限制sudo权限

编辑sudoers文件(visudo),确保普通用户没有以下权限: - 没有对日志文件的写权限 - 没有使用journalctl的--flush或--rotate选项 - 没有使用logrotate的强制执行权限

6. 配置日志轮转权限

编辑/etc/logrotate.conf,确保配置中包含:

create 0640 root root

验证设置

# 检查日志目录权限
ls -ld /var/log

# 检查重要日志文件权限
ls -l /var/log/messages /var/log/secure /var/log/audit/audit.log

# 检查SELinux上下文
ls -Z /var/log

# 检查auditd规则
sudo auditctl -l | grep /var/log

这些设置将确保只有root用户和特定系统进程能够修改系统日志,同时允许普通用户读取日志内容(如有需要)。