Este procedimiento requiere que se haya configurado el servidor KDC esclavo como un esclavo intercambiable (véase "Configuración de un KDC esclavo intercambiable"). En él, el servidor maestro que se intercambia tiene el nombre kdc1 y el esclavo que se convertirá en el nuevo maestro tiene el nombre kdc4.
En el maestro antiguo: elimine el proceso kadmind.
La eliminación del proceso kadmind evita que se haga algún cambio en la base de datos del KDC.
kdc1 # /etc/init.d/kdc.master stop |
En el maestro antiguo: convierta en comentario la línea kprop del archivo crontab de root.
Este paso evita que el maestro antiguo propague su copia de la base de datos de KDC.
kdc1 # crontab -e #ident "@(#)root 1.19 98/07/06 SMI" /* SVr4.0 1.1.3.1 */ # # El crontab de root se debe utilizar para realizar la recopilación de los # datos de contabilidad. # # El comando rtc se ejecuta para ajustar el reloj de tiempo real # cuando cambie la hora de verano, en caso de que cambie. # 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.acme.sun.com #SUNWkr5ma |
En el maestro antiguo: Inhabilite el inicio de kadmind en /etc/init.d/kdc.master.
Para evitar que el maestro reinicie kadmind si se reinicia el servidor, convierta en comentario la línea que inicia kadmind en la secuencia:
kdc1 # cat /etc/init.d/kdc.master . . case "$1" in 'start') if [ -f $KDC_CONF_DIR/kdc.conf ] then # $BINDIR/kadmind fi ;; |
En el maestro antiguo: ejecute kprop_script para hacer una copia de la base de datos y propagarla.
kdc1 # /usr/krb5/lib/kprop_script kdc4.acme.com Propagación de base de datos a kdc4.acme.com: SATISFACTORIA |
En el maestro antiguo: mueva los comandos del KDC maestro.
Para evitar que se ejecuten los comandos del KDC maestro, mueva kprop, kadmind y kadmin.local a un lugar reservado.
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 |
En el servidor de DNS: cambie los nombres de alias para el maestro.
Para cambiar los servidores, edite el archivo de zona de acme.com y cambie la entrada para masterkdc.
masterkdc IN CNAME kdc4 |
En el servidor de DNS: reinicie el servidor de nombres de dominio de Internet.
Ejecute el comando siguiente en ambos servidores para obtener la información de los alias nuevos:
# pkill -1 in.named |
En el maestro nuevo: mueva los comandos del KDC maestro.
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 |
En el maestro nuevo: cree un archivo de tabla de claves para kadmin mediante kadmin.local.
Esta secuencia de comandos crea un archivo de tabla de claves especial con entradas de principal para admin y changepw. Estos principales son necesarios para el servicio kadmind.
kdc4 # /usr/krb5/sbin/kadmin.local kadmin.local: ktadd -k /etc/krb5/kadm5.keytab kadmin/kdc4.acme.com Entrada para el principal kadmin/kdc4.acme.com con kvno 3, tipo de codificación DES-CBC-CRC agregado a la tabla de claves WRFILE:/etc/krb5/kadm5.keytab. kadmin.local: ktadd -k /etc/krb5/kadm5.keytab changepw/kdc4.acme.com Entrada para el principal changepw/kdc4.acme.com con kvno 3, tipo de codificación DES-CBC-CRC agregado a la tabla de claves WRFILE:/etc/krb5/kadm5.keytab. kadmin.local: quit |
En el maestro nuevo: habilite el inicio de kadmind en /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 ;; |
En el maestro nuevo: inicie kadmind.
kdc4 # /etc/init.d/kdc.master start |
Habilite la línea de kprop en el archivo crontab de root.
kdc4 # crontab -e #ident "@(#)root 1.19 98/07/06 SMI" /* SVr4.0 1.1.3.1 */ # # El crontab de root se debe utilizar para realizar la recopilación de los # datos de contabilidad. # # El comando rtc se ejecuta para ajustar el reloj de tiempo real # cuando cambie la hora de verano, en caso de que cambie. # 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.acme.sun.com #SUNWkr5ma |