Le procedure qui descritte permettono di sostituire un KDC master con un KDC slave. Si consiglia di utilizzarle solo in caso di guasto del KDC master o quando il KDC master debba essere reinstallato (ad esempio per l'adozione di un nuovo hardware).
Questa procedura deve essere eseguita sul KDC slave da rendere disponibile in sostituzione del master.
Durante l'installazione, usare un alias sia per il KDC master che per il KDC slave da configurare per la sua sostituzione.
Nel definire i nomi host per i KDC, includere un alias per ogni sistema nel DNS e usare questi alias nel definire gli host in /etc/krb5/krb5.conf.
Installare il software del KDC master.
Insieme al software del KDC master vengono installati i file binari e gli altri file che saranno necessari per la sostituzione, inclusi tutti i file che saranno richiesti dal KDC slave. Al termine dell'installazione, non riavviare il sistema.
Seguire la procedura per l'installazione di un KDC slave.
Prima della sostituzione, questo server dovrebbe funzionare esattamente come gli altri KDC slave del settore. Per le relative istruzioni, vedere "Configurare un KDC slave". Non installare il software slave. Tutti i file necessari vengono installati durante l'installazione del software master.
Spostare i comandi del KDC master.
Per evitare che i comandi del KDC master vengano eseguiti dallo slave, spostare kprop, kadmind e kadmin.local in una posizione riservata.
kdc4 # mv /usr/krb5/lib/kprop /usr/krb5/lib/kprop.save kdc4 # mv /usr/krb5/lib/kadmind /usr/krb5/lib/kadmind.save kdc4 # mv /usr/krb5/sbin/kadmin.local /usr/krb5/sbin/kadmin.local.save |
Disabilitare l'avvio di kadmind in /etc/init.d/kdc.master.
Per evitare che lo slave gestisca le richieste di modifica del database del KDC, commentare la riga per l'avvio di kadmind nello script:
kdc4 # cat /etc/init.d/kdc.master . . case "$1" in 'start') if [ -f $KDC_CONF_DIR/kdc.conf ] then # $BINDIR/kadmind fi ;; |
Commentare la riga kprop nel file crontab di root.
Questa operazione impedirà allo slave di propagare la sua copia del database del KDC.
kdc4 # crontab -e #ident "@(#)root 1.19 98/07/06 SMI" /* SVr4.0 1.1.3.1 */ # # The root crontab should be used to perform accounting data collection. # # The rtc command is run to adjust the real time clock if and when # daylight savings time changes. # 10 3 * * 0,4 /etc/cron.d/logchecker 10 3 * * 0 /usr/lib/newsyslog 15 3 * * 0 /usr/lib/fs/nfs/nfsfind 1 2 * * * [ -x /usr/sbin/rtc ] && /usr/sbin/rtc -c > /dev/null 2>&1 30 3 * * * [ -x /usr/lib/gss/gsscred_clean ] && /usr/lib/gss/gsscred_clean #10 3 * * * /usr/krb5/lib/kprop_script kdc1.spa.it |
Questa procedura richiede che il KDC slave sia stato configurato per la sostituzione del master (vedere "Configurare un KDC slave come sistema di backup"). In questa procedura, il server master che viene sostituito è denominato kdc1, mentre lo slave che lo sostituisce è denominato kdc4.
Sul vecchio master: Arrestare il processo kadmind.
L'arresto del processo kadmind impedisce che il database del KDC venga modificato.
kdc1 # /etc/init.d/kdc.master stop |
Sul vecchio master: Commentare la riga kprop nel file crontab di root.
Questa operazione impedisce che il vecchio master propaghi la sua copia del database del KDC.
kdc1 # crontab -e #ident "@(#)root 1.19 98/07/06 SMI" /* SVr4.0 1.1.3.1 */ # # The root crontab should be used to perform accounting data collection. # # The rtc command is run to adjust the real time clock if and when # daylight savings time changes. # 10 3 * * 0,4 /etc/cron.d/logchecker 10 3 * * 0 /usr/lib/newsyslog 15 3 * * 0 /usr/lib/fs/nfs/nfsfind 1 2 * * * [ -x /usr/sbin/rtc ] && /usr/sbin/rtc -c > /dev/null 2>&1 30 3 * * * [ -x /usr/lib/gss/gsscred_clean ] && /usr/lib/gss/gsscred_clean #10 3 * * * /usr/krb5/lib/kprop_script kdc2.spa.it |
Sul vecchio master: Disabilitare l'avvio di kadmind in /etc/init.d/kdc.master.
Per impedire che il master riavvii kadmind in caso di riavvio del server, commentare la riga per l'avvio di kadmind nello script:
kdc1 # cat /etc/init.d/kdc.master . . case "$1" in 'start') if [ -f $KDC_CONF_DIR/kdc.conf ] then # $BINDIR/kadmind fi ;; |
Sul vecchio master: Eseguire kprop_script per eseguire il backup e la propagazione del database.
kdc1 # /usr/krb5/lib/kprop_script kdc4.spa.it Propagazione del database su kdc4.spa.it: OPERAZIONE ESEGUITA |
Sul vecchio master: Rinominare i comandi del KDC master.
Per impedire che vengano eseguiti i comandi del KDC master, rinominare kprop, kadmind e kadmin.local usando un nome differente.
kdc4 # mv /usr/krb5/lib/kprop /usr/krb5/lib/kprop.save kdc4 # mv /usr/krb5/lib/kadmind /usr/krb5/lib/kadmind.save kdc4 # mv /usr/krb5/sbin/kadmin.local /usr/krb5/sbin/kadmin.local.save |
Sul server DNS: Cambiare l'alias per il master.
Per scambiare i server, aprire con un editor il file di zona spa.it e cambiare la voce relativa a masterkdc.
masterkdc IN CNAME kdc4 |
Sul server DNS: Riavviare il server di denominazione del dominio Internet.
Eseguire il comando seguente su entrambi i server per ottenere le informazioni sul nuovo alias:
# pkill -1 in.named |
Sul nuovo master: Rinominare i comandi del KDC master.
kdc4 # mv /usr/krb5/lib/kprop.save /usr/krb5/lib/kprop kdc4 # mv /usr/krb5/lib/kadmind.save /usr/krb5/lib/kadmind kdc4 # mv /usr/krb5/sbin/kadmin.local.save /usr/krb5/sbin/kadmin.local |
Sul nuovo master: Creare una tabella di chiavi per kadmin usando kadmin.local.
Questa sequenza di comandi crea una speciale tabella di chiavi con i nomi principali per admin e changepw. Questi nomi principali sono necessari per il servizio kadmind.
kdc4 # /usr/krb5/sbin/kadmin.local kadmin.local: ktadd -k /etc/krb5/kadm5.keytab kadmin/kdc4.spa.it Voce per nome principale kadmin/kdc4.spa.it con kvno 3, tipo di cifratura DES-CBC-CRC aggiunta alla tabella di chiavi WRFILE:/etc/krb5/kadm5.keytab. kadmin.local: ktadd -k /etc/krb5/kadm5.keytab changepw/kdc4.spa.it Voce per nome principale changepw/kdc4.spa.it con kvno 3, tipo di cifratura DES-CBC-CRC aggiunta alla tabella di chiavi WRFILE:/etc/krb5/kadm5.keytab. kadmin.local: quit |
Sul nuovo master: Abilitare l'avvio di kadmind in /etc/init.d/kdc.master.
kdc4 # cat /etc/init.d/kdc.master . . case "$1" in 'start') if [ -f $KDC_CONF_DIR/kdc.conf ] then $BINDIR/kadmind fi ;; |
Sul nuovo master: Avviare kadmind.
kdc4 # /etc/init.d/kdc.master start |
Abilitare la riga kprop nel file crontab di root.
kdc4 # crontab -e #ident "@(#)root 1.19 98/07/06 SMI" /* SVr4.0 1.1.3.1 */ # # The root crontab should be used to perform accounting data collection. # # The rtc command is run to adjust the real time clock if and when # daylight savings time changes. # 10 3 * * 0,4 /etc/cron.d/logchecker 10 3 * * 0 /usr/lib/newsyslog 15 3 * * 0 /usr/lib/fs/nfs/nfsfind 1 2 * * * [ -x /usr/sbin/rtc ] && /usr/sbin/rtc -c > /dev/null 2>&1 30 3 * * * [ -x /usr/lib/gss/gsscred_clean ] && /usr/lib/gss/gsscred_clean 10 3 * * * /usr/krb5/lib/kprop_script kdc1.spa.it |