使用 LDAP 的主目录和 pam.d

Nic*_*son 12 users ldap pam home

背景:
我不太熟悉配置方面的 pam 和 LDAP 身份验证的来龙去脉。我使用过使用 pam 的系统,但我只在应用程序上工作,而不是系统本身。

问题:
使用pam通过LDAP控制身份验证,这是否意味着不会在系统上创建主目录?

如果没有,我会在服务器上创建用户还是以某种方式将用户从 LDAP 源推送到系统?

phe*_*mer 13

这正是pam_mkhomedir为此而生的。如果该目录不存在
pam_mkhomedir模块可以在登录时创建用户的主目录。

如何安装它取决于您的发行版。但是你需要把它放在一个或多个文件中/etc/pam.d
例如,在我的系统上/etc/pam.d/system-login,所有其他执行登录的服务(ssh、gdm 等)都包含它。
我把pam_mkhomedir.sosession堆栈,如:

session     optional    pam_loginuid.so
session     required    pam_env.so 
session     optional    pam_lastlog.so 
session     include     system-auth
session     optional    pam_mkhomedir.so # <<< right here
session     optional    pam_ck_connector.so nox11
session     optional    pam_gnome_keyring.so auto_start
session     optional    pam_motd.so motd=/etc/motd
Run Code Online (Sandbox Code Playgroud)

你把它放在哪里完全取决于堆栈中的其他内容。但是你应该把它放在其他任何可能需要主目录的东西之前。

查看man 8 pam_mkhomedir它支持的选项。


小智 6

在 Ubuntu 14.04system-login中不存在,但存在另一个名为 as 的文件common-session

我去了那里,把:

root@GW:~# vim /etc/pam.d/common-session

#
session optional        pam_systemd.so skel=/etc/skel/ umask=0077
Run Code Online (Sandbox Code Playgroud)

如果不存在,这将创建主目录也将权限设置为 700