通过 SSH 使用 Kerberos 登录时 oddjob_mkhomedir 不运行

通过 SSH 使用 Kerberos 登录时 oddjob_mkhomedir 不运行

我目前有一台具有 Kerberos/SSSD/Samba 的服务器来对 Windows 2012 AD 进行身份验证。

/etc/pam.d/system-authoddjob_mkhomedir 中设置如下:

session     optional      pam_oddjob_mkhomedir.so umask=0077 skel=/etc/skel

这是通过运行设置的authconfig --enablesssdauth --enablesssd --enablemkhomedir --update

然而,当使用 AD 帐户通过 SSH 登录时,不会创建主目录,并且用户只是以 root 身份结束,/bin/sh而不是/bin/bash.

错误日志中没有任何内容表明 sssd 未按预期运行或 PAM 模块未被调用。

配置复制如下:

/etc/ssh/ssh_config

Port 22
ListenAddress x.x.x.x
Protocol 2
SyslogFacility AUTHPRIV
PermitRootLogin yes
PasswordAuthentication yes
ChallengeResponseAuthentication no
KerberosAuthentication yes
GSSAPIAuthentication yes
GSSAPICleanupCredentials yes
UsePAM yes
AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
AcceptEnv XMODIFIERS
X11Forwarding yes
Subsystem       sftp    /usr/libexec/openssh/sftp-server

/etc/sssd/sssd.conf

[sssd]
config_file_version = 2
debug_level = 7
domains = mydomain.co.uk
services = nss, pam

override_homedir = /home/%d/%u
default_shell = /bin/bash

[nss]

[pam]

[domain/mydomain.co.uk]
id_provider = ad
access_provider = ad
cache_credentials = true
debug_level = 7

答案1

对于未来的 googlers:我刚刚在 RHEL7 上遇到了非常类似的问题。

症状:

  • authconfig已使用“--enablesssd --enablesssdauth --enablemkhomedir --update”运行
  • sssd已经(重新)开始
  • oddjob-mkhomedir安装并oddjobd已(重新)启动
  • 使用 LDAP 用户登录时仍然没有创建目录。

事实证明,当我重新启动时,dbus一切都恢复正常 - 我认为 oddjob 使用 DBus 注册了未被拾取的东西。可能值得一试!

答案2

我会看几件事

  - is oddjobd running?
  - any messages related to this or PAM in authlog, messages
  - is SElinux enabled or enforced? check audit log for any AVC denial messages

再次查看 sssd.conf,您可能需要移至override_homedirDOMAIN部分,否则 sssd 似乎会从 ldap 获取主目录信息。

相关内容