Newsgroup: it.comp.os.linux.software
Titolo: esiste un pacchetto deb per NIS ?

Esiste un pacchetto deb con il software necessario per settare un server
nis?
-- 
Non c'è più forza nella normalità, c'è solo monotonia.

nis?
ovviamente si':
nis
-- 
"This message transmitted on 100% recycled electrons."

 server nis?
Sì, ovviamente, però come ti è già venuto in mente (altro post) ci
sono alternative. IMHO la migliore è LDAP di 
www.openldap.com
 che
supporterà la crittazione a breve (non ho guardato recentemente, ma
già lo fa?); immancabili gli howto LDAP-HOWTO e altra buona
documentazione, anche sul sito openldap, che ti permette di fare un
NIS senza le noie del NIS. Tra l'altro per debian ci sono i pacchetti:
libpam-ldap e libnss-ldap nei quali trovi anche i dettagli su come far
passare gli utenti da /etc/passwd a LDAP. Poi c'è il supporto diretto
per molti servizi (proftpd, apache, postfix, cyrus,...) a LDAP in modo
da minimizzare la configurazione sui file e rendere il sistema più
replicabile possibile. Oops, ma sto esagerando :-)
Ciao,
Marco che te avevi chiesto del NIS ;-)

 nis
sembrava banale, ma nel mio dselect non l'ho visto. Sarà che mi devo
scaricare il pacchetto.


 Oops, ma sto esagerando :-)
ti va di continuare ad esagerare in mailbox? Non ho ancora scelta tra
nis e ldap, mi farebbe piacere se mi volessi illuminare ancora un po'.
L'indirizzo e quello che c'è negli headers


L'indirizzo e quello che c'è negli headers
Mi interessa molto anche a me... perche' non continuare la discussione su
icol.software?
Antonio


 icol.software?
per me... Però oltre a porre domande non so cos'altro potrei fare... :-)


 icol.software?
Troppo tardi? Boh ho scritto un accrocchio che spero non venga
additato come howto. Mi sa che è lunghetto per i ng.
Ciao
Marco

additato come howto. Mi sa che è lunghetto per i ng.
Be', dicci come fare a vedere questo Non-HOWTO :-)
Io sono interessato all'argomento LDAP perche' ODIO profondamente il portmap
e tutti i servizi RPC, per cui voglio provare un'alternativa.
LDAP+CODA sulla carta potrebbe avere dei vantaggi, ma non li conosco bene.
Se su LDAP hai delle informazioni interessanti (in italiano)[1] perfavore
dammele. 
[1]
Quelle in inglese le trovo sul sito :-)
Ciao


 additato come howto. Mi sa che è lunghetto per i ng.
Quale? questo potente howto? :-)
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! :-)


 writes:
bott> Quale? questo potente howto? :-)
[...]
Ok, sono stato smascherato.
Ciao
Marco sempre con supercite