运行 RHEL-8.9 时selinux= enforcing
无需在 selinux 中进行任何定制,这是通过 rhel-8.9-x86_64-dvd.iso 进行全新安装的基本设置。
我相信问题源于这样做:
semanage login -a -s user_u <username>
- 和
semanage login -m -S targeted -s "user_u" -r s0 __default__
我们注意到[其他]问题,因此我们通过 Redhat 文章将其回滚,指出semanage login -m -S targeted -s "unconfined_u" -r s0-s0:c0.c1023 __default__
semanage login -l
当前显示的内容是从 iso 全新安装 RHEL-8.9 时看到的内容:
Login Name SELinux User MLS/MCS Range Service
__default__ unconfined_u s0-s0:c0.c1023 *
root unconfined_u s0-s0:c0.c1023 *
在使用 NICE-DCV 时,vnc 客户端与selinux=enforcing
用户可以dcv create-session
成功执行操作,但是当他们尝试通过 Nice-dcv-client 从 Windows 客户端连接到其会话时,它将失败,并在客户端报告失败的用户名/密码 {这不一定是真的,密码输入正确}。另外值得注意的是,when__default__
映射到user_u
then 会导致dcv create-session
任何人完全停止工作,因此我们将其全部回滚,然后dcv create-session
then 可以工作。
- 如果我这样做,
setenforce 0
那么问题就会立即解决,一切都会正常。 - 如果我将用户名放入,
wheel:
那么/etc/group
也可以解决selinux=enforcing
.
/var/log/audit/audit.log
下面是实际上的一行setenforce 1
,它似乎是围绕特别是从 Windows 到 Linux 中现有 dcv 会话失败的连接尝试生成的所有噪音中最相关的一行:
# formatted to multiple lines here for easier reading
node=linux type=USER_AVC msg=audit(): pid=2850 uid=81 auid=4294967295
subj=system_u:system:r:system_dbusd_t:s0-s0:c0.c0123
msg='avc: denied {send_msg } for msgtype=method_return dest=:1.1072 spid=1 tpid=6521
scontext=system_u:system_r:init_t:s0
tcontext=system_u:system_r:dcvserver_t:s0
tclass=dbus
permissive=0
exe="/usr/bin/dbus-daemon" sauid=81 hostname=? addr=? terminal=?'
UID="dbus"
AUID="unset"
SAUID="dbus"
# 81 is "dbus" in /etc/passwd and /etc/group
任何人都可以理解这一点,除了重新安装 Linux 之外,是否有解决方案来解决此问题(我不能执行 selinux=permissive 或将每个用户放入wheel组)?并能查明造成这种情况的原因吗?我认为这是由于弄乱了 引起的semanage login
,因为在另一台从 iso 干净安装 rhel-8.9 的服务器上,具有默认的 selinux=enforcing 布局以及 50+ 用户不在轮子中,这个问题不会发生。