Tło:
Nie jestem zbyt zaznajomiony z tajnikami uwierzytelniania pam i LDAP po stronie konfiguracji. Korzystałem z systemów korzystających z pam, ale pracowałem tylko nad aplikacjami, a nie z samymi systemami.
Pytania:
Używając pam do kontrolowania uwierzytelnienia przez LDAP, czy to oznacza, że katalog domowy nie zostanie utworzony w systemie?
Jeśli nie, to czy utworzę użytkowników na serwerze, czy w jakiś sposób wypchnę użytkowników do systemu ze źródła LDAP?
Odpowiedzi:
Właśnie po to
pam_mkhomedir
został stworzony. Moduł może utworzyć katalogu domowego użytkownika podczas logowania, jeśli ten katalog nie istnieje.pam_mkhomedir
Sposób instalacji zależy od dystrybucji. Ale musisz umieścić go w co najmniej jednym pliku
/etc/pam.d
.Na przykład mam w swoim systemie,
/etc/pam.d/system-login
który jest zawarty we wszystkich innych usługach, które wykonują logowanie (ssh, gdm itp.).Chciałbym umieścić
pam_mkhomedir.so
nasession
stosie, takie jak:Miejsce, w którym stawiasz, zależy całkowicie od tego, co jeszcze znajduje się na stosie. Ale powinieneś umieścić go przed wszystkim innym, co może wymagać katalogu domowego.
Sprawdź
man 8 pam_mkhomedir
opcje, które obsługuje.źródło
auth
stosie zamiastsession
). Jeśli aplikacja nie korzysta ze stosu pam, musisz wbudować coś w samą aplikację.W Ubuntu 14.04
system-login
nie jest obecny, ale obecny jest inny plik o nazwie ascommon-session
.Poszedłem tam i umieściłem:
Spowoduje to utworzenie katalogu domowego, jeśli nie istnieje, również ustaw uprawnienie do
700
źródło
umask=0022
. Wierzę, że twoje usuwa WSZYSTKIE możliwości, w tymread
które mogą uniemożliwić działanie niektórych mechanizmów uwierzytelniania / zaufania opartych na kluczach w systemie dla wielu użytkowników lub w innych przypadkach.Poleciłbym użyć oddjob-mkhomedir :
W przypadku Centos 7 działa to:
Dołącz to
/etc/pam.d/system-auth
i/etc/pam.d/password-auth
:I w końcu:
Zostało to opublikowane pierwotnie tutaj: https://www.centos.org/forums/viewtopic.php?t=48631
Uwaga: Jeśli właśnie zamontowałeś
/home
partycję, nie zapomnij zrobićrestorecon /home
źródło