为何我的 SELinux 没有记录任何内容?

为何我的 SELinux 没有记录任何内容?

我隐隐怀疑这与我对 rsyslog.conf 的乱搞有关,但我不是 100% 确定。

我运行的是 Centos 7,SELinux 一直运行良好。然而,我尝试遵循这些说明并且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

我怎样才能发现为什么这不能正确记录?

答案1

事实证明,kauditd!=auditdauditd是 SELinux 用于登录的服务。

systemctl start auditd失败时,您可以查看/var/log/messages。就我而言,我发现/var/log/audit/audit.log(我删除和编辑的文件touch)需要具有0600权限(我认为它说的0640也是可以的)。

这样做:

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

重新启用日志记录

相关内容