Estos procedimientos deben utilizarse para facilitar el intercambio de un KDC maestro con un esclavo. Sólo deberían seguirse si el servidor KDC maestro fallara por algún motivo o si debiera reconfigurarse (por ejemplo, debido a hardware nuevo).
Este procedimiento debe llevarse a cabo en el servidor KDC esclavo que desea tener disponible para que se convierta en el maestro.
Durante la instalación, utilice nombres de alias para los servidores KDC maestro y esclavo intercambiables.
Al definir los nombres de sistema para los KDC, asegúrese de que cada sistema tenga incluido un alias en DNS y utilice los nombres de alias al definirlos en /etc/krb5/krb5.conf.
Instale el software de KDC maestro.
Al instalar el software de KDC maestro se proporcionan todos los binarios y otros archivos que serán necesarios durante un intercambio, cosa que incluye todos los archivos que necesita un servidor KDC esclavo. Cuando termine la instalación, no rearranque el sistema.
Siga los pasos para instalar un KDC esclavo.
Antes de realizar cualquier intercambio, este servidor debería funcionar al igual que cualquier otro KDC esclavo del ámbito. Véase "Configuración de un KDC esclavo" para obtener instrucciones. No instale el software de esclavo. Cuando se instale el software de maestro, se instalarán todos los archivos necesarios.
Mueva los comandos del KDC maestro.
Para evitar que se ejecuten los comandos del KDC maestro desde este esclavo, 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 |
Inhabilite el inicio de kadmind en /etc/init.d/kdc.master.
Para evitar que el esclavo maneje las solicitudes para cambiar la base de datos del KDC, convierta en comentario la línea que inicia kadmind en la secuencia:
kdc4 # cat /etc/init.d/kdc.master . . case "$1" in 'start') if [ -f $KDC_CONF_DIR/kdc.conf ] then # $BINDIR/kadmind fi ;; |
Convierta en comentario la línea kprop del archivo crontab de root.
Este paso evita que el esclavo propague su copia de la base de datos del KDC.
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 |
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 |