为什么启用 SELinux 时 NetworkManager 会忽略配置文件?

为什么启用 SELinux 时 NetworkManager 会忽略配置文件?

我正在尝试建立一个基于 AlmaLinux 9.2 的系统,以使用 SELinux 和 NetworkManager,以及只读 rootfs。由于各种原因,我想将我的“密钥文件”保存在单独的分区上。我添加了一个小配置文件/etc/NetworkManager/conf.d/20-system-connections.conf,其中包含:

[keyfile]
path=/data/etc/NetworkManager/system-connections/

只要 SELinux 是“宽容的”,它就可以很好地工作。

,一旦我有 SELinux“强制”,NetworkManager 就拒绝读取配置文件。看看journalctl -u NetworkManager | grep 'Read config'我发现它没有读取配置文件:

SELinux 强制执行:

Feb 05 16:34:23 almatest NetworkManager[39809]: <info>  [1707147263.6083] Read config: /etc/NetworkManager/NetworkManager.conf (run: 15-carrier-timeout.conf)

(注 - 否20-system-connections.conf

SELinux 许可:

Feb 05 16:40:59 almatest NetworkManager[43518]: <info>  [1707147659.1304] Read config: /etc/NetworkManager/NetworkManager.conf (run: 15-carrier-timeout.conf) (etc: 20-system-connections.conf)

(注意 - 就在那里!)

我已经使用 - 设置了 SELinux 上下文semanage fcontext -a -e /etc/NetworkManager/NetworkManager.conf /etc/NetworkManager/conf.d/20-system-connections.conf,它显示为带有semanage fcontext --list, 和的“本地 fcontext 等效项”

# ls -lZ /etc/NetworkManager/conf.d/20-system-connections.conf /etc/NetworkManager/NetworkManager.conf
-rw-r--r--. 1 root root system_u:object_r:NetworkManager_etc_rw_t:s0 2291 Feb  5 16:34 /etc/NetworkManager/NetworkManager.conf
-rw-r--r--. 1 root root system_u:object_r:NetworkManager_etc_rw_t:s0  275 Feb  5 15:06 /etc/NetworkManager/conf.d/20-system-connections.conf

这全部基于 AlmaLinux 9.2,使用NetworkManager-1.42.2-1.el9.x86_64.

我究竟做错了什么?

我尝试过添加

[logging]
domains=ALL:TRACE

/etc/NetworkManager/NetworkManager.conf- 但它没有添加任何有趣的东西。

答案1

部分答案:

某些 SELinux 策略可能被设置为dontaudit- 这意味着它们将不是登录/var/log/audit/audit-log。可以使用semodule --build --disable_dontauditsemodule -DB简称)禁用此功能。

这在审计报告中提供了更多信息,其中一些与我的问题相关。

相关内容