Home Directory e pam.d usando LDAP


10

Background:
non ho troppa familiarità con i dettagli dell'autenticazione pam e LDAP sul lato della configurazione. Ho usato sistemi che usano pam ma ho lavorato solo su applicazioni, non su sistemi stessi.

Domande: l'
utilizzo di pam per controllare l'autenticazione tramite LDAP, significa che una home directory non verrà creata sul sistema?

In caso contrario, dovrei creare utenti sul server o in qualche modo spingere gli utenti al sistema da una fonte LDAP?


1
Questa domanda potrebbe essere correlata: unix.stackexchange.com/q/106391/34796
drs

Risposte:


13

Questo è esattamente ciò per cui è pam_mkhomedirstato creato.
Il pam_mkhomedirmodulo può creare la home directory dell'utente al momento dell'accesso se tale directory non esiste.

Come installarlo dipende dalla tua distribuzione. Ma dovresti inserirlo in uno o più file /etc/pam.d.
Ad esempio, sul mio sistema ho /etc/pam.d/system-loginincluso tutti gli altri servizi che eseguono il login (ssh, gdm, ecc.).
Vorrei mettere pam_mkhomedir.soin sessionpila, come ad esempio:

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

Il punto in cui lo metti dipende interamente da cos'altro è nello stack. Ma dovresti metterlo prima di ogni altra cosa che potrebbe aver bisogno della home directory.

Vedi man 8 pam_mkhomedirper le opzioni che supporta.


Eccezionale. Grazie per la risposta. I nostri utenti al momento non accedono al sistema, accedono a un'applicazione web ospitata sul sistema. Esiste un trigger che può creare la propria directory home al primo accesso dell'app Web?
Nicholas Anderson,

1
Se l'applicazione Web utilizza lo stack pam, funzionerebbe (anche se potrebbe essere necessario inserirlo nello authstack anziché session). Se l'app non utilizza lo stack pam, allora dovresti creare qualcosa nell'applicazione stessa.
Patrick,

Sembra che sia fornito solo il modulo di sessione, ho provato e, in effetti, pam_mkhomedir non funziona con il modulo di autenticazione. Ho lo stesso problema di Nicholas Anderson, ho un'applicazione web. Esiste un modo per risolvere questo problema nel modulo auth?
Fabiano Tarlao,

6

In Ubuntu 14.04 system-loginnon è presente, ma è presente un altro file chiamato come common-sessionè presente.

Sono andato lì e ho messo:

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

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

Questo creerà home directory se non esiste anche impostare l'autorizzazione su 700


La umask suggerita da help.ubuntu.com/community/LDAPClientAuthentication è umask=0022. Credo che il tuo rimuova TUTTE le funzionalità, incluso ciò readche potrebbe impedire ad alcuni meccanismi di autenticazione / affidabilità basati su chiave di funzionare in un sistema multiutente o in altri casi.
dragon788,

0

Consiglierei di usare oddjob-mkhomedir :

Per Centos 7 funziona:

yum install oddjob-mkhomedir

Aggiungi questo a /etc/pam.d/system-authe /etc/pam.d/password-auth:

session     optional      pam_oddjob_mkhomedir.so skel=/etc/skel

E infine:

systemctl enable oddjob; systemctl start oddjob

Questo è stato pubblicato originariamente qui: https://www.centos.org/forums/viewtopic.php?t=48631

Nota: se hai appena montato la /homepartizione, non dimenticare di farlorestorecon /home

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.