- 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) |
|
(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:-)
|