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 |