Centos

使用 Kerberos 通過 SSH 登錄時,oddjob_mkhomedir 不執行

  • December 20, 2016

我目前有一台伺服器,它具有 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

我會看幾件事

 - 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 獲取主目錄資訊。

對於未來的Google人:我在 RHEL7 上遇到了一個非常相似的問題。

症狀:

  • authconfig已使用 ‘–enablesssd –enablessdauth –enablemkhomedir –update’ 執行
  • sssd已經(重新)開始
  • oddjob-mkhomedir已安裝並oddjobd已(重新)啟動
  • 使用 LDAP 使用者登錄時仍然沒有創建目錄。

事實證明,當我重新啟動dbus時,一切都開始了——我認為oddjob 會向 DBus 註冊沒有被拾取的東西。可能值得一試!

引用自:https://unix.stackexchange.com/questions/203224