I'm having a problem getting pam_mkhomedir.so to make a user's home
directory when it's specified using an LDAP attribute. The backend
directory server is AD on Server 2008. The client is Ubuntu 12.04, sssd
version 1.11.1.
First, my sssd.conf:
[sssd]
config_file_version = 2
debug_level = 0
reconnection_retries = 3
sbus_timeout = 30
services = nss, pam
domains = domain
[pam]
debug_level = 0
[nss]
debug_level = 0
filter_users =
root,ldap,named,avahi,haldaemon,dbus,radvd,tomcat,radiusd,news,mailman,nscd,gdm
filter_groups =
root,ldap,named,avahi,haldaemon,dbus,radvd,tomcat,radiusd,news,mailman,nscd,gdm
reconnection_retries = 3
[domain/domain]
debug_level = 0
ad_domain = domain.local
id_provider = ad
auth_provider = ad
chpass_provider = ad
access_provider = ad
enumerate = true
cache_credentials = true
# Will check unixHomeDirectory LDAP attribute for a value first
fallback_homedir = /home/%u
ldap_user_home_directory = unixHomeDirectory
dyndns_update = true
dyndns_update_ptr = true
ldap_schema = ad
ldap_id_mapping = true
I'm testing using the Guest user.
Guest, unlike all my other users, has a home directory set in the
unixHomeDirectory attribute (/tmp/Guest). All other users rely on the
fallback_homedir option. When a normal user signs in and does not have a
home directory, I've configured pam to create one by adding this to the
common-session file:
session required pam_mkhomedir.so umask=077
This all works fine when ldap_user_home_directory is empty; the home
directory is created automatically upon logging in using the
fallback_homedir option.
However, when unixHomeDirectory actually contains a path, no home directory
is ever created and I'm always dropped in /.
Interestingly enough, "echo $HOME" as the Guest returns two different
values depending on if fallback_homedir is set. If it is set, $HOME =
/home/Guest. If it's commented out, $HOME = /tmp/Guest.
Any ideas? Thanks!
-Chris