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.