Discussion:
Autenticazione su OpenLDAP.
(too old to reply)
GigaBytes
2004-04-29 18:16:19 UTC
Permalink
Ciao a tutti.
In una rete di 10 pc woody + 1 server sid, sto cercando di mettere su un
server OpenLDAP per l'autenticazione usando account centralizzati sul server.
Ho trovato a proposito un howto che tratta proprio della configurazione di
LDAP per questo scopo in ambiente debian:
www.firenze.linux.it/~piccardi/ldap.pdf
Ho pero` un problema.
Ho settato il server in modo corretto (almeno sembra), ho migrato
il /etc/passwd e /etc/shadow con lo script migrate_passwd.pl indicato
nell'howto (preso dal pacchetto migrationtools), e il comando `getent passwd`
vede correttamente gli utenti che sono sul database. Il problema sono pero`
le password. Se io uso il comando `./migrate_passwd.pl /etc/passwd
passwd.ldif` e vado a vedere nel file passwd.ldif appena generato, trovo la
sezione:
[cut]
userPassword: {crypt}<stringa cifrata>
[cut]

pero` dopo se aggiungo il file passwd.ldif al database con i comando `ldapadd
-x -D"cn=admin,dc=server_e07" -W -f passwd.ldif, e vado a guardare nel
database con il comando `ldapsearch -x`, le password sono sparite!

Dopo di che` tolgo la voce relativa agli utenti dal file /etc/passwd.
Dopo se faccio `getent shadow`, nell'output riferito ad uno qualsiasi dei miei
utenti, trovo due voci:
Una che ritrovo nel file /etc/shadow, dove c'e` effettivamente la stringa
della password cifrata;
Una che invece rispecchia la voce del db dove pero` la password e` settata a
'x'.
Se faccio il login a questo punto con uno di quegli utenti, la password viene
riconosciuta ma la shell mi dice "I've no name!" al prompt, il che non mi
sembra un buon segno.
Se tolgo la voce relativa a quell'utente dal file /etc/shadow, dal comando
`getent shadow` compare solo la voce *senza* password.
Penso che questo sia dovuto al fatto che in effetti l'ouput di `ldapsearch -x`
non mi mostra nessuna entry userPassword negli utenti.
Come mai dal file .ldif al database, la voce delle password sparisce dagli
utenti? Sbaglio qualcosa?
Spero di essere stato abbastanza chiaro nell'esporre il problema. Se qualcuno
puo` aiutarmi gli sarei molto grato.

Ciao,
Nicola.
Matteo Mancini
2004-04-29 20:30:24 UTC
Permalink
Post by GigaBytes
pero` dopo se aggiungo il file passwd.ldif al database con i comando `ldapadd
-x -D"cn=admin,dc=server_e07" -W -f passwd.ldif, e vado a guardare nel
database con il comando `ldapsearch -x`, le password sono sparite!
ldapserach -x fa una ricerca come utente anonimo...e di default le acl
di ldap non permette al suddetto utente di vedere le passwd ma sono di
autenticarsi
prova cosi':
ldapsearch -x -D"cn=MIOADMIN,dc=test,dc=com" -h ldapserver
Post by GigaBytes
Dopo di che` tolgo la voce relativa agli utenti dal file /etc/passwd.
Dopo se faccio `getent shadow`, nell'output riferito ad uno qualsiasi dei miei
Una che ritrovo nel file /etc/shadow, dove c'e` effettivamente la stringa
della password cifrata;
Una che invece rispecchia la voce del db dove pero` la password e` settata a
'x'.
Se faccio il login a questo punto con uno di quegli utenti, la password viene
riconosciuta ma la shell mi dice "I've no name!" al prompt, il che non mi
sembra un buon segno.
Se tolgo la voce relativa a quell'utente dal file /etc/shadow, dal comando
`getent shadow` compare solo la voce *senza* password.
Penso che questo sia dovuto al fatto che in effetti l'ouput di `ldapsearch -x`
non mi mostra nessuna entry userPassword negli utenti.
Come mai dal file .ldif al database, la voce delle password sparisce dagli
utenti? Sbaglio qualcosa?
Anche qua...bisogna vedere che DN hai messo nel file /etc/libnss-ldap.conf
come DN devi avere messo un utente che possa leggere le passwd e non
solo che abbia l'autorizzazione di di autentificarsi...

Per inizarre ti consiglio di usare sempre il DN
dell'amministratore..cosi' ti faciliti la vita, poi stringi i permessi


Ciao

Matteo
Fabio Tranchitella
2004-04-30 08:32:21 UTC
Permalink
Post by Matteo Mancini
Anche qua...bisogna vedere che DN hai messo nel file /etc/libnss-ldap.conf
come DN devi avere messo un utente che possa leggere le passwd e non
solo che abbia l'autorizzazione di di autentificarsi...
Per inizarre ti consiglio di usare sempre il DN
dell'amministratore..cosi' ti faciliti la vita, poi stringi i permessi
Sto scrivendo un how-to completo per usare OpenLDAP su Debian, è
disponibile su http://www.kobold.it/ldap/ e si chiama "Usare OpenLDAP su
Debian GNU/Linux.rtf" ...

E' in stato embrionale, ma secondo me ti puo' esserti utile per
risolvere il problema..
Post by Matteo Mancini
Ciao
Ciao :)

Fabio.
--
Fabio Tranchitella

<!> kobold.it, Turin, Italy - Free is better!

-----------------------------------------------------------------------
<http://www.kobold.it>, <***@kobold.it>, <***@jabber.linux.it>
-----------------------------------------------------------------------
GPG Key fingerprint: 5465 6E69 E559 6466 BF3D 9F01 2BF8 EE2B 7F96 1564
Daniele Cortesi
2004-04-30 08:59:55 UTC
Permalink
Post by GigaBytes
www.firenze.linux.it/~piccardi/ldap.pdf
Ti consiglio invece i due articoli che trovi su www.securityfocus.com .
Supponendo che tu conosca l'inglese io li ho trovati molto migliori
dell'how-to di Piccardi (anche se quello mi ha dato un po' di basi).

Ciao,
Daniele
--
JID: ***@jabber.linux.it (http://www.jabber.org) Free your mind
GigaBytes
2004-04-30 19:05:23 UTC
Permalink
Post by Matteo Mancini
Post by GigaBytes
pero` dopo se aggiungo il file passwd.ldif al database con i comando
`ldapadd -x -D"cn=admin,dc=server_e07" -W -f passwd.ldif, e vado a
guardare nel database con il comando `ldapsearch -x`, le password sono
sparite!
ldapserach -x fa una ricerca come utente anonimo...e di default le acl
di ldap non permette al suddetto utente di vedere le passwd ma sono di
autenticarsi
ldapsearch -x -D"cn=MIOADMIN,dc=test,dc=com" -h ldapserver
Post by GigaBytes
Dopo di che` tolgo la voce relativa agli utenti dal file /etc/passwd.
Dopo se faccio `getent shadow`, nell'output riferito ad uno qualsiasi dei
Una che ritrovo nel file /etc/shadow, dove c'e` effettivamente la stringa
della password cifrata;
Una che invece rispecchia la voce del db dove pero` la password e`
settata a 'x'.
Se faccio il login a questo punto con uno di quegli utenti, la password
viene riconosciuta ma la shell mi dice "I've no name!" al prompt, il che
non mi sembra un buon segno.
Se tolgo la voce relativa a quell'utente dal file /etc/shadow, dal
comando `getent shadow` compare solo la voce *senza* password.
Penso che questo sia dovuto al fatto che in effetti l'ouput di
`ldapsearch -x` non mi mostra nessuna entry userPassword negli utenti.
Come mai dal file .ldif al database, la voce delle password sparisce
dagli utenti? Sbaglio qualcosa?
Anche qua...bisogna vedere che DN hai messo nel file /etc/libnss-ldap.conf
come DN devi avere messo un utente che possa leggere le passwd e non
solo che abbia l'autorizzazione di di autentificarsi...
Per inizarre ti consiglio di usare sempre il DN
dell'amministratore..cosi' ti faciliti la vita, poi stringi i permessi
Allora.. 2 cose:
1) Ho fatto il comando `ldapsearch -x -D"cn=admin,dc=server_e07" -W`, e ho
constatato che, effettivamente, le password ci sono. Pero` se uso getent
shadow non le vedo!
2) Non ho capito in che parte della configurazione dico a PAM di usare
l'utente authuser (quello descritto nell'how-to) o l'admin o qualsiasi altro.
Forse e` questo il problema?
Matteo Mancini
2004-04-30 21:37:59 UTC
Permalink
Ciao
Post by GigaBytes
2) Non ho capito in che parte della configurazione dico a PAM di usare
l'utente authuser (quello descritto nell'how-to) o l'admin o qualsiasi
altro. Forse e` questo il problema?
nel file libpam_ldap , ma per il momento puoi mettere il tuo admin.
L'utente authuser del howto non e' altro che un utente di "lettura" delle
passwd, per usarlo devi mettere le relative acl nel file slapd.conf per
potergli permettere di leggere l'attributo password nella'albero di ldap

Byexx


Matteo
--
To UNSUBSCRIBE, email to debian-italian-***@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact ***@lists.debian.org
Continue reading on narkive:
Loading...