使用LDAP的家庭目录和pam.d


10

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

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

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


1
这个问题可能涉及:unix.stackexchange.com/q/106391/34796
DRS

Answers:


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

您放置的位置完全取决于堆栈中的其他内容。但是您应该将其放在可能需要主目录的其他任何内容之前。

请参阅man 8 pam_mkhomedir以了解其支持的选项。


太棒了 感谢您的回答。我们的用户当前不登录系统,而是登录到系统上托管的Web应用程序。是否有触发器可以在首次登录Web应用程序时创建其主目录?
尼古拉斯·安德森

1
如果该Web应用程序使用了pam堆栈,那么它将起作用(尽管您可能必须将其放入auth堆栈中而不是session)。如果应用程序不使用pam堆栈,则您必须在应用程序本身中构建一些内容。
帕特里克

似乎只提供了会话模块,我已经尝试过了,实际上,pam_mkhomedir无法与auth模块一起使用。我有与Nicholas Anderson相同的问题,我有一个Web应用程序。有什么办法可以解决auth模块中的此问题?
Fabiano Tarlao

4

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

我去了那里:

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

#
session optional        pam_systemd.so skel=/etc/skel/ umask=0077

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


help.ubuntu.com/community/LDAPClientAuthentication建议的umask 为 umask=0022。我相信您会删除所有功能,包括read可能会阻止某些基于密钥的身份验证/信任机制在多用户系统或其他情况下起作用的功能。
dragon788

0

我建议使用oddjob-mkhomedir

对于Centos 7,此方法有效:

yum install oddjob-mkhomedir

将此附加到/etc/pam.d/system-auth/etc/pam.d/password-auth

session     optional      pam_oddjob_mkhomedir.so skel=/etc/skel

最后:

systemctl enable oddjob; systemctl start oddjob

该消息最初发布在这里:https//www.centos.org/forums/viewtopic.php?t = 48631

注意:如果您只是挂载了/home分区,请不要忘记这样做restorecon /home

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.