为什么我的SELinux不能logging任何东西?

我有一个偷偷摸摸的怀疑,它与我的rsyslog.conf有关,但我不是100%确定的。

我正在运行Centos 7,而SELinux一直在运行A-OK。 不过,我试图按照这些说明 ,SELinux并没有否认。

我做了以下几点:

useradd fnord echo "fnord:user_u:s0-s0:c0.c1023" >> /etc/selinux/targeted/seusers setsebool user_exec_content off sudo su - fnord cp /bin/ls /tmp /tmp/ls 

/tmp/ls命令工作得很好。 我尝试了和没有-P标志,但它没有任何区别。

我试图触发一些SELinux日志消息,因为无论我做什么,/ /var/audit/audit.log都是空的。 我知道SELinux是强制执行的,因为rsyslog被设置为将某些日志发送到/company/var/log/ ,但这些日志不会被写入。 如果我将SELinux更改为宽容,而不是强制它们被写入。 但是没有东西写到/var/audit/audit.log了。 它绝对用于 – 我有audit.log.1和其他翻转文件。

我最初以为它可能是/etc/rsyslog.d/listen.conf ,我已经将$SystemLogSocketName /run/systemd/journal/syslog的内容更改为$SystemLogSocketName /dev/log但我已经将其更改回重新启动rsyslog。 在audit.log仍然没有任何显示。

我怎么能发现为什么这不logging正确?

事实certificate, kauditd != auditd ,而auditd是SELinux用来login的服务。

systemctl start auditd失败时,您可以查看/var/log/messages 。 在我的情况下,我发现/var/log/audit/audit.log (我删除和touch文件)需要有0600权限(我认为它说0640也行)。

这样做:

 # chmod 600 /var/log/audit/audit.log # systemctl start auditd 

重新启用日志logging