Newsgroup: it.comp.os.linux.sys
Titolo: ldap? qlc lo usa

salve ragassi
qlc ha installato in server ldap e lo sta usando?

 
Io per gestire gli addressbook (in lettura) con guardafuori.
Ciao Mei

 
Si io come addressbook (a sola lettura) per guardafuori.
Ciao Mei

 qlc ha installato in server ldap e lo sta usando?
Dai forza. Cerco anch'io qualcuno con cui scambiare esperienza a riguardo
... se ci aggreghiamo potremo fare una sorta di mailing list o chel che
ci pare.
-- 
Ciao ....
      Massimiliano ADAMO
   E-Mail: 
maxa...@iol.it

ci pare.
Io pure sono interessato. Postai una richiesta analoga un po' di tempo
fa', magari ora i tempi sono migliori.
-- 
There are two major products that come out of Berkeley: LSD and UNIX.
We don't believe this to be a coincidence.  -- Jeremy S. Anderson
Maurizio - Tannoiser - Lemmo
STIGE Srl Servizi Informatici
Founder Member of ERLUG (Emilia Romagna Linux User Group)
http://erlug.linux.it

 qlc ha installato in server ldap e lo sta usando?
Scusa, c'e` un motivo particolare per cui lo vuoi sapere?
-- 
*> GOD is real unless declared as integer <*
*>          s.rivoir at 
gts.it
            <*

 - ICQ# 92905138
http://www.mascanc.net/~skolem

 ci pare.
prego? la risposta è seria o ironica?
Se vuoi ho un insieme di istruzioni su come autenbtificare utenti in
rete
con openldap.
Io però vorrei sapere qualche altro utilizzo di ldap....
-- 
Non c'è più forza nella normalità, c'è solo monotonia.

macchine....
a me sembrava l'unica soluzione praticabile, una volta in cui mi
chiesero di sostituire un server Lotus Domino, con una soluzione linux.
Visto che veniva usato esclusivamente a fini postali, l'unica "feature"
di groupware da replicare in linux, ma ovviamente con client windows,
era quella dell'agenda comune. Avevo pensato a LDAP, e quindi alla sua
implementazione OpenLDAP, mi scaricai HOWTO e sorgenti, poi non se ne
fece nulla e non ci guardai piu'.
Ma la curiosita' mi rimase.
Nello specifico, ero curioso di sapere se avevo immaginato bene lo
csenario, se la soluzione era buona, se ce ne erano di migliori, se
c'erano particolari problemi.
Ciao
-- 
And on the seventh day, He exited from append mode.


 macchine....
per iol login che usi, NIS? perché non usi ldap?


Io però vorrei sapere qualche altro utilizzo di ldap....
io lo vorrei implementare x condividere le info degli utenti e 
tipo indirizzi email num telefono etc..

 Cosa usi?
A suo tempo Marco Andreini mi mandò una mail con le seguenti istruzioni
Beh, procediamo con ordine. Il micro howto non ce l'ho e, visto che la
problematica  l'ho affrontata  da un  punto di  vista diverso  dal tuo
(oltre ai  molti client, avevo  a che fare  con molti utenti)  ci sono
delle differenza  di impostazione... mentale. Comunque  il micro howto
lo scriviamo  insieme in queste email,  così approfitto dell'occasione
per chiarirmi le idee su alcune cose ;-)
Prova così:
- si installa almeno i pacchetti openldapd openldap-utils, i pacchetti
  libpam-ldap e  libnss-ldap (in questo  howto uso anche  mkpasswd che
  trovi nel pacchetto whois.deb  di md). Durante la configurazione con
  debconf  di openldapd  si mette  il nome  completo dell'host  che si
  vuole usare. Non serve che sia il nome reale, ma per coerenza... Per
  esempio: 
pluto.it
, ma può essere anche pippo.pluto.it...
  Nota:  sembra che  ci sia  un maledettissimo  bug che  ho incontrato
  nella  configurazione  con debconf  quando  questo  è impostato  per
  chiedere   i  parametri   per   l'installazione  _solamente_   prima
  dell'installazione  stessa; (s)fortunatamente  non  sono riuscito  a
  riprodurlo. Perciò  è meglio se  si verifica che  l'installazione di
  openldapd sia andata a buon  fine controllando almeno che ci sia una
  riga come questa in /etc/openldapd/slapd.conf:
        suffix          "dc=pluto,dc=it"
- all'interno  del   server  ldap  l'installazione   debian  crea  una
  gerarchia (basedn) che nel nostro caso sarà:
        dc=pluto,dc=it
  Per  visualizzare  il  contenuto   del  server  si  usa  il  comando
  ldapsearch. Prima  consiglio di impostare  i dati predefiniti  per i
  client ldap nel file /etc/openldapd/ldap.conf:
$ cat /etc/openldapd/ldap.conf
HOST 
pluto.it
PORT 389
BASE dc=pluto, dc=it
  E poi  una controllatina:  con -s sub  che indica di  mostrare tutto
  l'albero ldap, e -L usa il formato ldif (quello rfc):
$ ldapsearch -L -s sub objectclass=\*
dn: dc=pluto, dc=it
objectclass: top
objectclass: domain
dc: badhouse
dn: ou=People, dc=pluto, dc=it
objectclass: top
objectclass: organizationalUnit
ou: People
dn: cn=admin, ou=People, dc=pluto, dc=it
objectclass: top
cn: admin
dn: ou=Roaming, dc=pluto,dc=it
objectclass: top
objectclass: organizationalUnit
  Nota: le  ultime 3 righe dovrebbero riferirsi  al Netscape Directory
  Server che contiene gli indirizzi email (tipo bigfoot).
  Nota²: si può visualizzare  l'albero ldap con una maggiore chiarezza
  con il programma (gtk) `gq'.
- si  modifica  il   file  /etc/nsswitch.conf  aggiungendo  ldap  come
  servizio secondario  per i  nomi user, in  modo che dopo  aver letto
  /etc/passwd vada  a vedere  anche su ldap.  Per una  descrizione del
  «perché» rimando alla documentazione  di libnss-ldap. ALla righe con
  `passwd' e `shadow' si aggiunge ldap:
passwd:         compat ldap
group:          compat
shadow:         compat ldap
[...]
  Ovviamente se  non si usa  shadow password (incoscente! :)  la terza
  riga non  serve; i  gruppi non li  ho messi  sotto ldap e  quindi la
  seconda riga l'ho lasciata immutata, ma si può usare anche qui ldap.
- si modificano i  file /etc/pam_ldap.conf e /etc/libnss-ldap.conf. In
  particolare in entrambi i file occorrono queste righe:
# ip del server ldap, che qui è quello locale
host 127.0.0.0 
# nome dell'host ldap-izzato
base ,dc=pluto,dc=it
- si aggiunge ldap all'accounting e all'autenticazione ldap tramite la
  modifica del file /etc/pam.d/login:
# ecco la regola per l'autenticazione con ldap, _solo_ sufficiente
auth       sufficient pam_ldap.so
# qui si aggiunge try_first_pass in modo che vada prima in /etc/passwd
auth       required   pam_unix.so nullok try_first_pass
[...]
account    required   pam_ldap.so
[...]
password   required   pam_ldap.so 
# ancora: usa prima questa regola
password   required   pam_unix.so nullok obscure min=4 max=8
use_first_pass
  Nota: ho omesso gran parte del file, visto che nella maggioranza dei
  casi il  contenuto e dipendente  da pc a  pc. Se vuoi  modificare le
  password  degli utenti-virtuali-ldap  con  `passwd' devi  modificare
  anche /etc/pam.d/passwd con le righe `password ...' sopra.
  Nota²:  ogni   altro  servizio  che   fa  uso  di  pam   può  essere
  personalizzato  con   un  suo  file   /etc/pam.d/nome-servizio;  per
  maggiori dettagli  -che io non  so!- ti rimando  alla documentazione
  libpam-doc.
- si critta la password `diprova' per l'utente `diprova' per dopo:
$ mkpasswd diprova md # in onore del mitico :)
mdbhk7cG6ojsY
- si immette i  dati di un utente: chiamiamolo  `diprova'. Questa è la
  parte  che  *deve* essere  passata  a uno  script  perché  è la  più
  burocratica.  I dati necessari  li ho  presi dai  MigrationTools che
  trovi  sul sito  
www.padl.com
. Comunque  per prova  si può  usare il
  comando ldapadd  con un  file LDIF in  ingresso che contenga  i dati
  «giusti» per l'user `diprova':
$ cat > /tmp/diprova.ldif <<EOF
dn: uid=diprova,ou=People,dc=pluto,dc=it
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
uid: diprova
cn: diprova
userPassword: {crypt}mdbhk7cG6ojsY
shadowLastChange: 11232
shadowMax: 99999
shadowWarning: 7
loginShell: /bin/bash
uidNumber: 1200
gidNumber: 100
homeDirectory: /home/diprova
gecos: Utente di prova
EOF
  Nota: shadowlastchange è  la data di immissione di  questo utente in
  giorni  dal  1-1-1970  (mi  pare).  Per  il resto  non  so  un  gran
  che... chiedi  se non ti  è chiaro :-)  Poi si passa questo  file al
  server ldap per  mezzo del comando ldapadd con  -D nome-ldap-admin e
  -W per la password (quella di admin-ldap nell'installazione):
$ ldapadd -D cn=admin,ou=People,dc=pluto,dc=it -W -f \
 /tmp/diprova.ldif
Enter LDAP Password: 
adding new entry uid=diprova,ou=People,dc=pluto,dc=it
- a questo punto si prova  a fare SubstituteUser da root verso diprova
  in modo da saltare l'autenticazione (incrocia le dita):
# su - diprova
No directory, logging in with HOME=/
 (giustamente dice che gli manca la home dir, ma siamo entrati,
  esco con CTRL-D)
  Ok!  La parte  di libnss-ldap  funziona, adesso  proviamo a  fare il
  login vero per testare pam-ldap:
# login
happyland login: diprova
Password:
Last login: ....
Linux happyland 2.2.17 ...
 (esco con CTRL-D)
  Funziona! fiuuuu ;-)
 
  Nota: nell'ultimo  passaggio non ho  usato `su' perché questo  ha un
  suo file in /etc/pam.d/su in cui non ho inserito ldap.
- Finito! :-)
Come  avrai notato  ci sono  delle parti  abbastanza  fastidiose, però
escludendo la configurazione che va  fatta una sola volta, certi altri
compiti,   come   appunto  la   compilazione   di   quei  campi   come
«shadowlastchange»  oppure   la  ricerca  di  uid   vuoto  si  possono
automatizzare per mezzo di script o programmini(!) Alla fine si ha una
specie  di  useradd-ldap che  chiederà  gli  stessi  dati del  normale
useradd.
La parte che  più mi interessa di tutto questo  ambaradan è quella con
pam che permette  di virtualizzare praticamente tutti i  servizi di un
ISP. E già lo sto facendo ;-)
Conosci un poco di python?  Sto scrivendo un programma con interfaccia
per console/terminale  in python +  slang per immettere,  modificare e
cancellare gli  utenti per un server  di posta con  più domini gestiti
dinamicamente (postfix+un_pop3). Purtroppo non è ancora finito :-(
Forse sono stato lungo, ma ho scritto solo l'indispensabile :-!


 
...per quanto mi riguarda lo utilizzo per:
- autenticare utenti attraverso pam_ldap / nss_ldap
- virtual host di proftpd (mod_ldap)
- virtual host di apache con annessa autenticazione x suexec 
(apachemoduserdirldap)
- autenticazione di sottodirectory web (auth_ldap)
- autenticazione Qmail (QMAIL) ...in progress
- autenticazione IMAP (courier-imap)
...prossimamente mi piacerebbe estendere questo tipo di autenticazione 
anche ad altri servizi.
Christian
P.S. mi interesserebbe molto condividere esperienze / modifiche e 
quant'altro.

 writes:
Ottavio> nessuno wrote:
Ottavio> A suo tempo Marco Andreini mi mandò una mail con le seguenti
Ottavio> istruzioni
[...]
Le confermo ancora, anche se si deve precisare che dette indicazioni
non sono più completamente valide in caso di utilizzo della versione
corrente di openldap (la 2.X).
Saluti e baci
Marco

 corrente di openldap (la 2.X).
ah sì, cosa cambia?


> della versione corrente di openldap (la 2.X).
Ottavio> ah sì, cosa cambia?
Alcuni dettagli (schema...), ma non ho fatto che prove. Nelle macchine
di produzione non l'ho messo: le cose che funzionano non si toccano.
Vorrei provarlo per testarne la velocità visto che nell'uso che ne
faccio quello vecchio non è un fulmine [eufemismo].
Ciao
Marco

quant'altro.
perche nn pubblicare un howto in italiano?
con esempi pratici tratti dall'esperienza?

A suo tempo Marco Andreini mi mandò una mail con le seguenti istruzioni
............cut.......
mi spieghi il significato di objectclass
cosa vuol dire objectclass=top
o objectclass=person etc
dc e' la radice dell'albero o e' "o"
"ou" cosa rappresenta?
dn: ou=People, dc=pluto, dc=it
objectclass: top
objectclass: organizationalUnit
ou: People
perche ripeti ou sia nel dn che poi su una riga?
Forse saranno anche stupidate x te ma io sono un po arenato su queste
cose

nessuno wrote:

...non sarebbe male ...ripenso a questa proposta appena concludo alcuni 
lavori impegnativi (Agosto - Settembre)
Christian

A suo tempo Marco Andreini mi mandò una mail con le seguenti istruzioni
............cut.......
mi spieghi il significato di objectclass
cosa vuol dire objectclass=top
o objectclass=person etc
dc e' la radice dell'albero o e' "o"
"ou" cosa rappresenta?
dn: ou=People, dc=pluto, dc=it
objectclass: top
objectclass: organizationalUnit
ou: People
perche ripeti ou sia nel dn che poi su una riga?
