Das Vervielfältigen der Kerberos-Datenbank vom Master-KDC auf die Slave-KDCs ist eine der wichtigsten Konfigurationsaufgaben. Wenn die Vervielfältigung nicht oft genug geschieht, geraten Master-KDC und Slave-KDCs in einen nicht synchronisierten Zustand, so dass im Falle eines Versagens des Master-KDCs die Slave-KDCs nicht über die aktuellsten Datenbankinformationen verfügen. Wenn außerdem ein Slave-KDC als Master zum Zweck der Lastverteilung konfiguriert worden ist, haben die Clients, welche diesen Slave als Master-KDC verwenden, nicht die neuesten Informationen. Daher ist es wichtig, sicherzustellen, dass die Vervielfältigung oft genug geschieht, was wiederum von der Häufigkeit abhängig ist, in der die Kerberos-Datenbank geändert wird.
Wenn Sie das Master-KDC konfigurieren, richten Sie kprop_script in einem cron-Job ein, um die Kerberos-Datenbank automatisch in die Ablagedatei /var/krb5/slave_datatrans zu sichern und bei den Slave-KDCs zu vervielfältigen. Wie das mit jeder Datei geschehen kann, kann jedoch auch die Kerberos-Datenbank beschädigt werden. Wenn das auf einem der Slave-KDCs geschieht, bemerken Sie das möglicherweise nie, da durch die nächste automatische Vervielfältigung eine neue Kopie der Datenbank installiert wird. Geschieht das jedoch auf dem Master-KDC, dann wird die beschädigte Datenbank bei der nächsten Vervielfältigung auf alle Slaves übertragen. Außerdem wird die vorherige, unbeschädigte Sicherungsdatei auf dem Master-KDC durch die beschädigte Sicherung überschrieben.
Da es in diesem Szenario keine "fehlerfreie" Sicherungskopie gibt, sollten Sie auch einen cron-Job einrichten, der die Ablagedatei slave_datatrans periodisch an eine andere Stelle kopiert oder mithilfe des Befehls dump aus kdb5_util eine weitere Sicherungskopie erstellt. Wenn dann die Datenbank beschädigt wird, können Sie die letzte Sicherung auf dem Master-KDC mithilfe des Befehls load aus kdb5_util wiederherstellen.
Ein weiterer wichtiger Hinweis: Da die Datenbank-Ablagedatei Hauptbenutzerschlüssel enthält, müssen Sie die Datei vor dem Zugriff durch unbefugte Benutzer schützen (standardmäßig hat die Ablagedatei nur als root Lese-/Schreibrechte). Das bedeutet auch, dass nur der Befehl kprop zur Vervielfältigung der Ablagedatei verwendet werden sollte, weil hierdurch die zu übertragenden Daten verschlüsselt werden. Außerdem vervielfältigt kprop die Daten nur auf den Slave-KDCs, wodurch die Wahrscheinlichkeit, dass der Datenbankauszug versehentlich an nicht autorisierte Hosts geschickt wird, sich auf ein Mindestmaß beschränkt.
Wenn die Kerberos-Datenbank nach ihrer Vervielfältigung aktualisiert wird und danach, noch vor der nächsten Vervielfältigung, beschädigt wird, dann enthalten die Slaves nicht die Aktualisierungen: Die Aktualisierungen gehen verloren. Wegen dieses Szenarios sollten Sie, wenn Sie vor einer normalerweise geplanten Vervielfältigung noch bedeutsame Aktualisierungen an der Datenbank vornehmen, die Datenbank manuell vervielfältigen, um einen Datenverlust zu vermeiden.
Diese Datei auf einem KDC enthält eine Liste von Host-Hauptbenutzernamen, die zeilenweise die Systeme angeben, von denen das KDC über den Vervielfältigungsmechanismus eine aktualisierte Datenbank empfangen kann. Wenn alle Slave-KDCs durch das Master-KDC vervielfältigt werden, dann darf die Datei kpropd.acl auf jedem Slave nur den Host-Hauptbenutzernamen des Masters enthalten.
Die in diesem Handbuch enthaltenen Schritte für die SEAM-Installation und nachfolgende Konfiguration weisen Sie jedoch an, dieselbe kpropd.acl-Datei auf Master- wie auch Slave-KDCs zu speichern. Die Datei enthält alle Host-Hauptbenutzernamen für das KDC. Diese Konfiguration erlaubt Ihnen, von jedem beliebigen KDC aus eine Vervielfältigung für den Fall vorzunehmen, dass ein vervielfältigendes KDC vorübergehend nicht zur Verfügung steht. Außerdem wird durch die Aufbewahrung identischer Kopien auf allen KDCs die Verwaltung vereinfacht.
Der Befehl kprop_script verwendet den Befehl kprop, um die Kerberos-Datenbank auf anderen KDCs zu vervielfältigen. (Wenn kprop_script auf einem Slave-KDC ausgeführt wird, wird dadurch die Slave-Kopie der Kerberos-Datenbank auf anderen KDCs vervielfältigt.) Das Skript kprop_script akzeptiert als Argumente eine Liste von Hostnamen, die durch Leerzeichen voneinander getrennt sind und KDCs bezeichnen, auf denen vervielfältigt werden soll.
Wenn kprop_script ausgeführt wird, erstellt das Skript eine Sicherung der Kerberos-Datenbank in der Datei /var/krb5/slave_datatrans und kopiert dann diese Datei auf die angegebenen KDCs. Die Kerberos-Datenbank wird solange gesperrt, bis die Vervielfältigung abgeschlossen ist.