![通过 SSH 使用 Kerberos 登录时 oddjob_mkhomedir 不运行](https://linux22.com/image/64934/%E9%80%9A%E8%BF%87%20SSH%20%E4%BD%BF%E7%94%A8%20Kerberos%20%E7%99%BB%E5%BD%95%E6%97%B6%20oddjob_mkhomedir%20%E4%B8%8D%E8%BF%90%E8%A1%8C.png)
我目前有一台具有 Kerberos/SSSD/Samba 的服务器来对 Windows 2012 AD 进行身份验证。
在/etc/pam.d/system-auth
oddjob_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_homedir
该DOMAIN
部分,否则 sssd 似乎会从 ldap 获取主目录信息。