openssh-lpk - 无法获取 ldapuser 的默认 SELinux 安全上下文

openssh-lpk - 无法获取 ldapuser 的默认 SELinux 安全上下文

我正在尝试使用 hardened-gentoo 源 openssh(使用 openssh-lpk,我认为这是 gentoo 上的 ldap 标志)并启用 selinux 来设置一个 ssh 服务器。

在 Ldap-Server 上,我添加了一个带有公钥的用户“ldapuser”。当 selinux 完全禁用时,登录功能可以完美运行。

在/etc/selinux/配置

SELINUX=disabled

但是,当我将 selinux 设置为宽容或强制模式时,客户端上会发生以下情况:

ssh -v ldapuser@server
debug1: Entering interactive session.
Write failed: Broken pipe

我看到公钥已被接受。

在服务器上我发现的唯一有趣的日志条目是:

server sshd[]: error: ssh_selinux_getctxbyname: Failed to get default SELinux security context for ldapuser

这是有道理的,因为该用户在 LDAP 服务器上(但 pam_ldap 和 nsswitch.conf 已正确配置为使用 ldap 服务器)。

我发现的有关此错误的所有报告,https://bugzilla.mindrot.org/show_bug.cgi?id=1325例如,似乎已关闭或与我的问题无关。

我正在使用 Openssh 5.9_p1-r4,并启用了 bindist、hpn、ldap、pam、selinux 和 tcpd 使用标志

Linux server 3.7.4-hardened-r1 #2 SMP Fri Feb 8 13:26:25 CET 2013 x86_64 AMD A4-3300 APU with Radeon(tm) HD Graphics AuthenticAMD GNU/Linux

现在的问题是:这是一个错误吗?我应该提交错误报告吗?还是我的配置错误?(我想通过宽容模式慢慢进入 selinux)

编辑:

 mediaserv-gentoo ~ # ps -eZ | grep sshd
 kernel                          17017 ?        00:00:01 sshd
 kernel                          25179 ?        00:00:00 sshd

答案1

你能显示输出吗

ps -eZ | grep sshd

那么问题就有两种:

  • 如果它的上下文与系统不同 - 它只需要从正确的上下文启动。

  • 或者,您只需要为您的用户创建正确的上下文。

相关内容