我最近在 32 位 RHEL 6.9 机器上对我的文件进行了更改audit.rules
,并且我知道由于文件末尾必须-e 2
使文件不可变,因此需要重新启动才能使新规则生效。
因此,计算机已重新启动,auditd
服务已正确启动,并且运行命令auditctl -l
可验证是否已加载预期规则。
但是,在重新启动并确认审核规则正确加载后,每当我运行命令时:
service auditd restart
输出如下:
Stopping auditd: [ OK ]
Error deleting rule (Operation not permitted)
Error sending enable request (Operation not permitted)
Starting auditd: [ OK ]
audit.rules
我想知道的问题是为什么自重新启动后没有将新规则添加到文件中为什么会出现这些错误?
根据我的理解,只有当文件设置为不可变并且您尝试在运行时加载新规则时,它们才应该弹出。
答案1
通过设置“-e 2”,您将启用并锁定auditd的配置,因此它无法更改。因此,它不允许您停止它,就像重新启动时会发生的那样。停止审计将是一种改变——你已指示它不允许发生这种情况。这就是为什么在尝试重新启动它时会出现该错误。设置“-e 1”并重新启动以启用auditd并且不使其不可变,或者重新启动以在仍然设置“-e 2”的情况下进行任何更改。
答案2
您可以使用“auditctl -a”添加审核规则,该规则将立即生效,但不会在重新启动后保留。为了使其持久化,将其写入audit.rules文件,以便运行时和持久化变得同步。 auditd 服务的经验法则是,您无法使用 serviceauditdstart/restart 来启动auditd。必须重新启动才能启动/重新启动auditd。