Dieses Verfahren verlangt, daß der Slave-KDC-Server als austauschbarer Slave eingerichtet worden ist (siehe "So wird ein austauschbares Slave-KDC konfiguriert "). Der Master-Server, der ausgetauscht wird, heißt hier kdc1, und der Slave, der zum neuen Master wird, heißt kdc4.
Deaktivieren Sie Sie auf dem alten Master den Prozeß kadmind.
Durch Beenden des kadmind-Prozesses wird verhindert, daß an der KDC-Datenbank irgendwelche Änderungen vorgenommen werden.
kdc1 # /etc/init.d/kdc.master stop |
Kommentieren Sie auf dem alten Master die kprop-Zeile in der crontab-Datei für root aus.
Dieser Schritt verhindert, daß der alte Master seine Kopie der KDC-Datenbank vervielfältigt.
kdc1 # crontab -e #ident "@(#)root 1.19 98/07/06 SMI" /* SVr4.0 1.1.3.1 */ # # root crontab sollte zur Sammlung von Buchungsdaten verwendet werden. # # Der rtc-Befehl wird ausgeführt, um die Echtzeituhr anzupassen, wenn ggf. # der Wechsel zwischen Sommer- und Winterzeit stattfindet. # 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 |
Deaktivieren Sie das Starten von kadmind in /etc/init.d/kdc.master .
Um zu verhindern, daß der Master kadmind startet, wenn der Server neu hochgefahren wird, kommentieren Sie im folgenden Skript die Zeile aus, die kadmind startet:
kdc1 # cat /etc/init.d/kdc.master . . case "$1" in 'start') if [ -f $KDC_CONF_DIR/kdc.conf ] then # $BINDIR/kadmind fi ;; |
Führen Sie auf dem alten Master kprop_script aus, um die Datenbank zu sichern und zu vervielfältigen.
kdc1 # /usr/krb5/lib/kprop_script kdc4.acme.com Datenbankvervielfältigung auf kdc4.acme.com: ERFOLGREICH |
Verschieben Sie auf dem alten Master die Master-KDC-Befehle.
Um zu verhindern, daß die Master-KDC-Befehle ausgeführt werden, verschieben Sie kprop, kadmind und kadmin.local an eine reservierte Stelle.
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 |
Ändern Sie auf dem DNS-Server die Aliasnamen für den Master.
Um die Server zu ändern, bearbeiten Sie die Zonendatei acme.com und ändern Sie den Eintrag für masterkdc.
masterkdc IN CNAME kdc4 |
Starten Sie auf dem DNS-Server den Internet-Domainnamen-Server neu.
Führen Sie den folgenden Befehl auf beiden Servern aus, um die neuen Alias-Informationen zu erhalten:
# pkill -1 in.named |
Verschieben Sie auf dem neuen Master die Master-KDC-Befehle.
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 |
Erstellen Sie auf dem neuen Master eine Schlüsseltabellendatei für kadmin unter Verwendung von kadmin.local.
Diese Befehlsfolge erstellt eine spezielle Schlüsseltabellendatei mit Hauptbenutzereinträgen für admin und changepw . Diese Hauptbenutzer werden für den kadmind-Service benötigt.
kdc4 # /usr/krb5/sbin/kadmin.local kadmin.local: ktadd -k /etc/krb5/kadm5.keytab kadmin/kdc4.acme.com Eintrag für Hauptbenutzer kadmin/kdc4.acme.com mit kvno 3, Verschlüsselungstyp DES-CBC-CRC zur Schlüsseltabellendatei WRFILE:/etc/krb5/kadm5.keytab hinzugefügt. kadmin.local: ktadd -k /etc/krb5/kadm5.keytab changepw/kdc4.acme.com Eintrag für Hauptbenutzer changepw/kdc4.acme.com mit kvno 3, Verschlüsselungstyp DES-CBC-CRC zur Schlüsseltabellendatei WRFILE:/etc/krb5/kadm5.keytab hinzugefügt. kadmin.local: quit |
Aktivieren Sie auf dem neuen Master das Starten von 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 ;; |
Starten Sie auf dem Master-KDC kadmin.
kdc4 # /etc/init.d/kdc.master start |
Aktivieren Sie die kprop-Zeile in der crontab-Datei von root.
kdc4 # crontab -e #ident "@(#)root 1.19 98/07/06 SMI" /* SVr4.0 1.1.3.1 */ # # root crontab sollte zur Sammlung von Buchungsdaten verwendet werden. # # Der rtc-Befehl wird ausgeführt, um die Echtzeituhr anzupassen, wenn ggf. # der Wechsel zwischen Sommer- und Winterzeit stattfindet. # 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 |