create 指令精准配置 0640 root syslog 并配合目录权限加固、chattr 防篡改及 postrotate 服务重载,方可满足等保/ISO 27001 审计要求。

create 指令是 logrotate 中控制轮转后新建日志文件权限、属主和属组的核心机制。它不作用于正在写入的活跃日志,而是在每次轮转时:先重命名旧日志(如 messages → messages.1),再新建一个空的 messages 文件——这个新文件的权限与归属,就由 create 明确指定。
要让它真正满足审计规范(如等保、ISO 27001 或内部安全策略),关键不是“加上 create”,而是精准配置其三个参数,并配合目录权限、服务重载与后续加固措施。
✅ 正确使用 create 设置合规权限
create 后必须跟三个字段:
create MODE USER GROUP
-
MODE:八进制权限(如
640、600),不能省略前导 0(640≠0640在部分老版本中可能出错,推荐写0640) -
USER:新建文件属主,审计日志必须为
root -
GROUP:新建文件属组,应为
syslog(Debian/Ubuntu)或adm(RHEL/CentOS),取决于系统日志组约定
✅ 推荐写法(以 /var/log/messages 为例):
/var/log/messages {
daily
rotate 30
missingok
notifempty
create 0640 root syslog # ← 关键:640权限,root:syslog
sharedscripts
postrotate
systemctl kill -s HUP rsyslog.service 2>/dev/null || true
endscript
}⚠️ 错误示例及后果:
-
create 644 root root→ 其他用户可读,违反最小权限原则 -
create 0600 root root→ 同组用户(如syslog组成员)无法读取,导致logrotate自身或rsyslog读取归档失败 -
create 0640 root wheel→wheel组通常无日志访问权,审计工具可能报错
? 目录权限必须同步加固
create 只管文件,不管父目录。若 /var/log 权限过松(如 777 或 775),攻击者可直接 touch 新日志覆盖、或 rm -f 删除后重建低权限文件。
✅ 必须执行:
chmod 0755 /var/log chown root:root /var/log
注:
755允许root写 +syslog/adm组读,其他用户仅可进入(不可列目录内容),符合审计基线。
? 配合 chattr 防止篡改与删除(深度合规)
即使 create 设了 0640,root 用户或提权进程仍可 chmod 或 rm。审计要求“不可抵赖、不可删改”,需叠加扩展属性:
-
对活跃日志(如
messages)加+a(仅追加):chattr +a /var/log/messages
→
rsyslog可继续写,但无法truncate、rm、mv。 -
对已归档日志(如
messages.1)在postrotate中加+i(完全不可变):postrotate [ -f /var/log/messages.1 ] && chattr +i /var/log/messages.1 2>/dev/null || true endscript
✅ 提示:
chattr +i后logrotate下次轮转会失败(因无法rename),所以只用于归档完成、不再轮转的“终态”日志;生产中更常用+a+ 远程同步 + 定期归档到只读存储。
⚙️ 验证与维护要点
-
检查是否生效:手动触发一次轮转并验证
logrotate -f /etc/logrotate.d/rsyslog ls -l /var/log/messages lsattr /var/log/messages
避免被全局配置覆盖:
若/etc/logrotate.conf含create 0644 root root,它会作为默认值生效。务必在具体配置块中显式重写create,覆盖全局设置。服务重载不可少:
create新建文件后,rsyslog/syslog-ng仍往旧 inode 写(因文件描述符未更新)。必须通过postrotate发送HUP信号,让服务fclose()+fopen()新文件。auditd 日志需单独处理:
/var/log/audit/audit.log由auditd自管理,不走rsyslog,其create应设为0600 root root,且目录/var/log/audit/必须chmod 0700。
不复杂但容易忽略:create 是起点,不是终点。权限合规 = create 精准 + 目录锁死 + chattr 加固 + 服务重载闭环。


















