Il pinguino simbolo di NIS+

INSTALLARE IL SUPPORTO NIS+ IN LINUX (RH 6.0):


  • Procurarsi tutti i componenti necessari, con versioni pari o superiori a quelle qui sotto elencate:
    • glibc 2.1.1
    • glibc-crypt 2.1
    • glibc-linuxthread 2.1
    • pam_keylogin 1.2
    • nisutils 1.0
    • pam 0.64 (già presente in Caldera e RedHat)
  • ricompilare glibc 2.1.1 (può non essere sempre necessario) in modo da supportare glib-crypt & glibc-linuxthreads. Per far ciò configurare con "./configure --prefix=/usr --enable-add-ons=yes"


  • installare il tutto e dare "ldconfig" per aggiornare la configurazione delle librerie


  • prendere pam_keylogin, compilare e installare


  • NOTA 1: ci sono conflitti tra pam_pwdb.so e pam_keylogin.so: pam_pwdb NON usa le funzioni getpwnam() & Co., e quindi non può sfruttare NIS+: occorre riscrivere i file in /etc/pam.d perché usino pam_unix_* al suo posto


  • NOTA 2: molte applicazioni possono dare problemi se non si controlla in anticipo come si comportano con PAM: ad es. xlock, klock, kdm, kcheckpass, ecc.; inoltre, non tutte seguono uno standard comune nel decidere quale servizio usare per PAM (kde, xdm, login...), anche per compiti tra loro analoghi (ossia controllare la password dell’utente, in questo caso)


  • esempio: /etc/pam.d/login dopo la modifica:


    #%PAM-1.0
    auth required /lib/security/pam_securetty.so
    auth required /lib/security/pam_keylogin.so
    auth required /lib/security/pam_nologin.so
    auth required /lib/security/pam_unix_auth.so
    account required /lib/security/pam_unix_acct.so
    password required /lib/security/pam_unix_passwd.so
    session required /lib/security/pam_unix_session.so


  • analogamente vanno modificati i file ftp, gdm, passwd, kde, xdm, xlock, ecc., e tutti quelli i cui servizi vanno forniti da NIS+ anziché dai file locali e in cui appare pam_pwbd.so invece di pam_unix_*


  • preparare gli script di boot per impostare il dominio NIS+ e lanciare nscd, nis_cachemgr e keyserv (più eventualmente automount: v. sotto):


  • per il dominio NIS+ e keyserv: il file va in /etc/rc.d/init.d/nisplus


  • in /etc/rc.d/rc2.d:

    ln -s ../init.d/nscd S15nscd

    ln -s ../init.d/nisplus S16nisplus


  • creare le credenziali del client sul server NIS+ (e occhio che le tabelle DNS/hosts siano corrette!); i secure-RPC-netname sono nella forma "unix.<UID>@’domainname’" (senza il punto finale), mentre i NIS+-principal-name sono nella forma "<hostname>.’domainname’." (con il punto finale; l’hostname non deve avere la parte relativa al dominio DNS):

    nisaddcred -p <secure-RPC-netname> -P <NIS+-principal-name> des


  • impostare il domainname con "domainname <dominio-NIS+>"


  • editare /etc/nsswitch.conf


  • se non è già installato, installare nscd e farlo partire (o ripartire): non è indispensabile, ma una cache per i name service può far comodo, specie con NIS+ (sveltisce di molto certe operazioni)


  • terminare (se c’è) NIS cachemgr sul nuovo client; ripulire eventuali "residui" di NIS+ preesistenti in /var/NIS con "rm -rf /var/nis/*";


  • inizializzare il client con uno dei tre metodi seguenti:
  • nisinit -c -H <NIS+ server>
(prende le informazioni dal server <NIS+ server>)
  • nisinit -c -C <coldstart file>
(prende le informazioni da un file di coldstart che può essere stato copiato da un altro client già attivo)
  • nisinit -c -B
(effettua un broadcast sulla subnet locale per cercare un server NIS+: in genere non è consigliabile usare questa opzione, in quanto non si sa chi risponderà)
  • terminare keyserv; rimuovere il file /etc/.rootkey; far ripartire keyserv


  • dare keylogin -r per rigenerare /etc/.rootkey (inserire la password di root della macchina)


  • effettuare il reboot del client


COROLLARIO: LINUX AUTOMOUNTER E NIS+:


  • compilare il kernel col supporto per AUTOFS e NFS


  • prendere autofs da ftp://ftp.kernel.org/pub/linux/daemons/autofs o mirror vari, compilare e installare


  • verificare che sotto /home non ci sia nulla di essenziale (per default, Linux ha la pessima abitudine -- dal punto di vista degli automounter -- di metterci le home directory degli utenti definiti localmente, root escluso...)


  • lanciare "automount /home nisplus auto_home"


  • preparare lo script di boot da mettere in /etc/rc.d/init.d e i relativi link simbolici da mettere in /etc/rc2.d


  • divertirsi:-)