10.2. SELinux 和 journald


systemd 中,journald 守护进程(也称为 systemd-journal)是 syslog 工具的替代选择,它是一个收集和存储日志数据的系统服务。它根据从内核接收的日志信息、使用 libc syslog () 函数、系统服务的标准和错误输出,或使用其原生 API 来创建和维护结构化和索引日志。它以安全的方式为每个日志消息隐式收集大量元数据字段。
systemd-journal 服务可与 SELinux 一起使用以提高安全性。SELinux 控制进程仅允许进程执行它们所设计的操作;有时,根据策略编写者的安全目标,有时更少一些。例如,SELinux 可防止被破坏的 ntpd 进程执行除处理网络时间以外的操作。但是,ntpd 进程会发送 syslog 消息,以便 SELinux 允许被入侵的进程继续发送这些消息。被破坏的 ntpd 可能会格式化 syslog 消息以匹配其他守护进程,并可能会出错管理员甚至更糟糕的实用程序,读取 syslog 文件以破坏整个系统。
systemd-journal 守护进程会验证所有日志消息,另外还添加了 SELinux 标签。然后可以轻松地检测日志消息中的不一致情况,并在发生之前防止这种类型的攻击。您可以使用 journalctl 实用程序查询 systemd 日志的日志。如果没有指定命令行参数,则运行此实用程序会列出日志的完整内容,从最旧的条目开始。要查看系统上生成的所有日志,包括系统组件的日志,请以 root 用户身份执行 journalctl。如果您以非 root 用户身份执行它,则输出将仅限于与当前登录用户相关的日志。

例 10.2. 使用 journalctl列出日志

可以使用 journalctl 列出与特定 SELinux 标签相关的所有日志。例如,以下命令列出了 system_u:system_r:policykit_t:s0 标签下记录的所有日志:
~]# journalctl _SELINUX_CONTEXT=system_u:system_r:policykit_t:s0
Oct 21 10:22:42 localhost.localdomain polkitd[647]: Started polkitd version 0.112
Oct 21 10:22:44 localhost.localdomain polkitd[647]: Loading rules from directory /etc/polkit-1/rules.d
Oct 21 10:22:44 localhost.localdomain polkitd[647]: Loading rules from directory /usr/share/polkit-1/rules.d
Oct 21 10:22:44 localhost.localdomain polkitd[647]: Finished loading, compiling and executing 5 rules
Oct 21 10:22:44 localhost.localdomain polkitd[647]: Acquired the name org.freedesktop.PolicyKit1 on the system bus Oct 21 10:23:10 localhost polkitd[647]: Registered Authentication Agent for unix-session:c1 (system bus name :1.49, object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8) (disconnected from bus)
Oct 21 10:23:35 localhost polkitd[647]: Unregistered Authentication Agent for unix-session:c1 (system bus name :1.80 [/usr/bin/gnome-shell --mode=classic], object path /org/freedesktop/PolicyKit1/AuthenticationAgent, locale en_US.utf8)
Copy to Clipboard Toggle word wrap
有关 journalctl 的更多信息,请参阅 journalctl(1) 手册页。
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat