Diese Verfahren sollten angewendet werden, um den Austausch eines Master-KDCs mit einem Slave-KDC einfacher zu machen. Dies sollte nur getan werden, wenn der Master-KDC-Server aus irgendeinem Grund ausfällt, oder wenn der Master neu installiert werden muss (zum Beispiel bei neuer Hardware).
Dieses Verfahren sollte auf dem Slave-KDC-Server durchgeführt werden, den Sie dazu bereitstellen möchten, Master zu werden.
Verwenden Sie während der Installation für Master- und austauschbaren Slave-KDC-Server Aliasnamen.
Wenn Sie für die KDCs Hostnamen definieren, stellen Sie sicher, dass jedes System im DNS über einen Alias verfügt, und verwenden Sie die Aliasnamen bei der Host-Definition in /etc/krb5/krb5.conf.
Deaktivieren Sie die Überprüfung des Host-Namens im KDC-Startskript für den Master und den austauschbaren Slave.
Werden für den Master und die austauschbaren Slave-KDC-Server Aliasnamen verwendet, dann bedeutet dies, dass die Prüfung fehlschlägt, mit der vor dem Starten des KDC-Servers sichergestellt werden soll, dass der aktuelle Knotenname in /etc/krb5/krb5.conf vorhanden ist. Wenn Sie die Aliasnamen verwenden, um den Austausch zu erleichtern, müssen Sie zwei Zeilen in /etc/init.d/kdc auskommentieren. Siehe dazu das folgende Beispiel:
if [ -f $KDC_CONF_DIR/kdc.conf ] then # node=`uname -n` # if grep -i "kdc.*=.*$node" /etc/krb5/krb5.conf > /dev/null 2>&1 ; then $BINDIR/krb5kdc fi fi ;; |
Installieren Sie die Master-KDC-Software.
Die Installation der Master-KDC-Software stellt Binärdateien und andere Dateien zur Verfügung, die während eines Austauschs benötigt werden, unter anderen alle Dateien, die ein Slave-KDC-Server benötigt. Starten Sie das System nicht neu, wenn die Installation abgeschlossen ist.
Befolgen Sie die Schritte zur Installation eines Slave-KDCs.
Vor jeglichem Austausch sollte dieser Server wie jedes andere Slave-KDC im Bereich funktionieren. Weitere Informationen erhalten Sie unter "So wird ein Slave-KDC konfiguriert". Installieren Sie nicht die Slave-Software. Alle benötigten Dateien werden installiert, wenn die Master-Software installiert wird.
Verschieben Sie die Master-KDC-Befehle.
Um zu verhindern, dass die Master-KDC-Befehle von diesem Slave ausgeführt werden, verschieben Sie kprop, kadmind und kadmin.local an eine reservierte Stelle.
kdc4 # mv /usr/lib/kprop /usr/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 |
Deaktivieren Sie das Starten von kadmind in /etc/init.d/kdc.master .
Um zu verhindern, dass der Slave Anforderungen zur Änderung der KDC-Datenbank bearbeitet, kommentieren Sie im folgenden Skript die Zeile aus, die kadmind startet:
kdc4 # cat /etc/init.d/kdc.master . . case "$1" in 'start') if [ -f $KDC_CONF_DIR/kdc.conf ] then # $BINDIR/kadmind fi ;; |
Kommentieren Sie die kprop-Zeile in der crontab-Datei für root aus.
Dieser Schritt verhindert, dass der Slave seine Kopie der KDC-Datenbank vervielfältigt.
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 |
Dieses Verfahren verlangt, dass 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.
Auf dem vorherigen Master: Beenden Sie den Prozess kadmind.
Durch Beenden des kadmind-Prozesses wird verhindert, dass an der KDC-Datenbank irgendwelche Änderungen vorgenommen werden.
kdc1 # /etc/init.d/kdc.master stop |
Auf dem vorherigen Master: Kommentieren Sie die Zeile kprop in der crontab-Datei für root aus.
Dieser Schritt verhindert, dass 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 |
Auf dem vorherigen Master: Deaktivieren Sie das Starten von kadmind in /etc/init.d/kdc.master .
Um zu verhindern, dass 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 ;; |
Auf dem vorherigen Master: Führen Sie 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 |
Auf dem vorherigen Master: Verschieben Sie die Master-KDC-Befehle.
Um zu verhindern, dass die Master-KDC-Befehle ausgeführt werden, verschieben Sie kprop, kadmind und kadmin.local an eine reservierte Stelle.
kdc4 # mv /usr/lib/kprop /usr/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 |
Auf dem DNS-Server: Ändern Sie 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 |
Auf dem DNS-Server: Starten Sie den Namensserver der Internet-Domäne neu.
Führen Sie den folgenden Befehl auf beiden Servern aus, um die neuen Alias-Informationen zu erhalten:
# pkill -1 in.named |
Auf dem neuen Master: Verschieben Sie die Master-KDC-Befehle.
kdc4 # mv /usr/lib/kprop.save /usr/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 |
Auf dem neuen Master: Erstellen Sie eine Schlüsseltabellendatei für kadmin mithilfe 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 |
Auf dem neuen Master: Aktivieren Sie 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 ;; |
Auf dem neuen Master: Starten Sie 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 |