이 프로시저를 수행하려면 슬레이브 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 |