이 절차를 통해 마스터 KDC를 슬레이브 KDC와 쉽게 스와핑할 수 있습니다. 이 절차는 마스터 KDC 서버가 어떤 이유로 인해 실패하거나 마스터를 다시 설치하는 경우(하드웨어를 새로 설치하는 경우 등)에만 수행합니다.
다음 절차는 마스터로 사용 가능한 슬레이브 KDC 서버에서 수행해야 합니다.
설치 시 마스터 및 스왑 가능한 슬레이브 KDC 서버의 별명을 사용합니다.
KDC의 호스트 이름을 정의할 때는 모든 시스템의 별명이 DNS에 포함되어 있는지 확인하고 /etc/krb5/krb5.conf에 호스트를 정의할 때 별명을 사용합니다.
마스터 KDC 소프트웨어를 설치합니다.
마스터 KDC 소프트웨어를 설치하면 스왑 시 슬레이브 KDC 서버에 필요한 모든 파일이 포함된 이진 파일 및 기타 파일들이 작성됩니다. 설치가 끝난 후 시스템을 재부팅하지 마십시오.
슬레이브 KDC 설치 단계를 수행합니다.
스왑하기 전까지 이 서버는 영역 내의 다른 슬레이브 KDC와 동일하게 작동해야 합니다. 자세한 내용은 "슬레이브 KDC 구성 방법"을 참고하십시오. 슬레이브 소프트웨어는 설치하지 않습니다. 필요한 모든 파일은 마스터 소프트웨어를 설치할 때 이미 설치되었습니다.
마스터 KDC 명령을 이동합니다.
마스터 KDC 명령이 슬레이브에서 실행되지 않도록 kprop, kadmind, kadmin.local을 지정된 위치로 옮깁니다.
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 |
/etc/init.d/kdc.master에서 kadmind가 실행되지 않도록 설정합니다.
슬레이브에서 KDC 데이터베이스 변경 요청을 처리할 수 없도록 하려면 스크립트에서 kadmind를 시작하는 행이 실행되지 않도록 주석행으로 변경합니다.
kdc4 # cat /etc/init.d/kdc.master . . case "$1" in 'start') if [ -f $KDC_CONF_DIR/kdc.conf ] then # $BINDIR/kadmind fi ;; |
root crontab 파일의 kprop 행이 실행되지 않도록 합니다.
이 단계는 슬레이브가 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.acme.sun.com #SUNWkr5ma |
이 프로시저를 수행하려면 슬레이브 KDC 서버가 스왑 가능한 슬레이브로 설정되어 있어야 합니다("스왑 가능한 슬레이브 KDC 구성 방법" 참고). 이 프로시저에서 스왑될 마스터 서버의 이름은 kdc1이며 새로운 마스터가 될 슬레이브의 이름은 kdc4입니다.
기존의 마스터에서 kadmind 프로세스를 종료합니다.
kadmind 프로세스를 종료하면 KDC 데이터베이스를 변경할 수 없습니다.
kdc1 # /etc/init.d/kdc.master stop |
기존의 마스터에서 다음을 수행합니다. root crontab 파일에서 kprop 행이 실행되지 않도록 합니다.
이 단계는 기존의 마스터가 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.acme.sun.com #SUNWkr5ma |
기존의 마스터에서 다음을 수행합니다. /etc/init.d/kdc.master에서 kadmind가 실행되지 않도록 설정합니다.
서버를 재부팅할 때 마스터가 kadmind를 재시작하지 않게 하려면 스크립트에서 kadmind를 시작하는 행이 실행되지 않도록 설정합니다.
kdc1 # cat /etc/init.d/kdc.master . . case "$1" in 'start') if [ -f $KDC_CONF_DIR/kdc.conf ] then # $BINDIR/kadmind fi ;; |
기존의 마스터에서 다음을 수행합니다. kprop_script를 실행해서 데이터베이스를 백업 및 전파합니다.
kdc1 # /usr/krb5/lib/kprop_script kdc4.acme.com kdc4.acme.com(으)로의 데이터베이스 전파: 성공함 |
기존의 마스터에서 다음을 수행합니다. 마스터 KDC 명령을 이동합니다.
마스터 KDC 명령이 실행되지 않도록 하려면 kprop, kadmind, kadmin.local을 지정된 위치로 옮깁니다.
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 |
DNS 서버에서 다음을 수행합니다. 마스터의 별명을 변경합니다.
서버를 변경하려면 acme.com 영역 파일의 masterkdc 항목을 변경합니다.
masterkdc IN CNAME kdc4 |
DNS 서버에서 다음을 수행합니다. 인터넷 도메인 이름 서버(DNS)를 재시작합니다.
기존의 마스터와 DNS 서버에서 다음 명령을 실행하여 새로운 별명에 대한 정보를 얻습니다.
# pkill -1 in.named |
새로운 마스터에서 다음을 수행합니다. 마스터 KDC 명령을 이동합니다.
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 |
새로운 마스터에서 다음을 수행합니다. kadmin.local을 사용하여 kadmin의 키 테이블 파일을 작성합니다.
이 명령은 admin과 changepw 주체의 항목이 있는 특수 키 테이블 파일을 작성합니다. 이들 주체는 kadmind 서비스에 필요합니다.
kdc4 # /usr/krb5/sbin/kadmin.local kadmin.local: ktadd -k /etc/krb5/kadm5.keytab kadmin/kdc4.acme.com kvno가 3인 kadmin/kdc4.acme.com 주체의 항목, DES-CBC-CRC 암호화 유형이 WRFILE:/etc/krb5/kadm5.keytab. 키 테이블에 추가되었습니다. kadmin.local: ktadd -k /etc/krb5/kadm5.keytab changepw/kdc4.acme.com kvno가 3인 changepw/kdc4.acme.com 주체의 항목, DES-CBC-CRC 암호화 유형이 WRFILE:/etc/krb5/kadm5.keytab. 키 테이블에 추가되었습니다. kadmin.local: quit |
새로운 마스터에서 다음을 수행합니다. /etc/init.d/kdc.master에서 kadmind이 실행되도록 설정합니다.
kdc4 # cat /etc/init.d/kdc.master . . case "$1" in 'start') if [ -f $KDC_CONF_DIR/kdc.conf ] then $BINDIR/kadmind fi ;; |
새로운 마스터에서 kadmind을 시작합니다.
kdc4 # /etc/init.d/kdc.master start |
root crontab 파일에서 kprop 행이 실행되도록 설정합니다.
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.acme.sun.com #SUNWkr5ma |