Linux中/etc/sysctl.conf及/etc/sysctl.d/*.conf文件须严格权限控制:/etc/sysctl.conf应为600且属主root;/etc/sysctl.d/目录为755,其下.conf文件至少644、禁止world-writable;符号链接目标须受控;需定期审计与修复。

Linux系统中/etc/sysctl.conf及其包含的配置文件(如/etc/sysctl.d/*.conf)直接影响内核运行行为,若权限不当,可能被普通用户篡改,导致安全策略失效或系统不稳定。必须严格限制其访问权限。
核心配置文件的默认权限要求
以下路径需满足最小权限原则:
-
/etc/sysctl.conf:建议权限为600(仅root读写),属主和属组均为root -
/etc/sysctl.d/目录:建议权限为755,属主属组为root;目录内所有.conf文件应为644或更严格(如600),禁止 world-writable - 任何被
sysctl -p加载的配置文件,若存在符号链接,需确保链接目标同样受权限控制,且不指向用户可写路径
快速检查权限是否合规
执行以下命令逐项验证:
检查主配置文件:ls -l /etc/sysctl.conf
确认输出类似 -rw------- 1 root root ... /etc/sysctl.conf
检查配置目录及内容:ls -ld /etc/sysctl.d/find /etc/sysctl.d/ -type f -name "*.conf" -ls | awk '{print $3,$4,$1,$5,$NF}'
确保无 2(write by group)或 3(write by other)权限位出现在文件权限字段中
修复不合规权限的操作建议
发现异常时,按需执行:
- 收紧主配置文件:
sudo chmod 600 /etc/sysctl.conf && sudo chown root:root /etc/sysctl.conf - 修复目录权限:
sudo chmod 755 /etc/sysctl.d/ && sudo chown root:root /etc/sysctl.d/ - 统一重置 conf 文件权限:
sudo find /etc/sysctl.d/ -type f -name "*.conf" -exec chmod 644 {} \;(若业务允许);如需更高安全性,可改为600 - 禁用非 root 用户加载自定义配置:避免在启动脚本或定时任务中使用
sysctl -p /path/to/user.conf类调用
审计与持续监控要点
权限问题易被忽略,建议纳入基线检查:
- 将上述
ls和find命令封装为简单脚本,加入定期安全巡检(如 cron 每日执行) - 结合 AIDE、Tripwire 或 systemd 的
systemd-sysctl服务状态,确认配置加载未被绕过 - 关注
/proc/sys/下关键参数(如net.ipv4.ip_forward、kernel.modules_disabled)是否被意外修改,反向追溯是否源于配置文件权限失控

















