Jeder Service anbietende Host muß über eine lokale Datei verfügen, die als Schlüsseltabelle bezeichnet wird und die den Hauptbenutzer für den geeigneten Service enthält, der als Serviceschlüssel bezeichnet wird. Serviceschlüssel werden von einem Service verwendet, um sich selbst für das KDC zu authentisieren. Sie sind nur Kerberos und dem Service selbst bekannt. Wenn Sie zum Beispiel einen Kerberos-NFS-Server besitzen, muß dieser Server über eine Schlüsseltabelle verfügen, die seinen Service-Hauptbenutzer nfs enthält.
Sie fügen den entsprechenden Service-Hauptbenutzer mit dem Befehl ktadd von kadmin zur Schlüsseltabelle eines Hosts hinzu, um einen Service zu einer Schlüsseltabelle hinzuzufügen. Da Sie einen Service-Hauptbenutzer zu einer Schlüsseltabelle hinzufügen, muß der Hauptbenutzer auch bereits in der Kerberos-Datenbank vorhanden sein, damit kadmin seine Existenz verifizieren kann. Für das Master-KDC befindet sich die Schlüsseltabellen-Datei standardmäßig unter /etc/krb5/kadm5.keytab. Für Anwendungs-Server, die Kerberos-Services bereitstellen, befindet sich die Schlüsseltabellen-Datei standardmäßig unter /etc/krb5/krb5.keytab.
Eine Schlüsseltabelle entspricht einem Benutzerpaßwort. Für Anwendungs-Server ist es gleichermaßen wichtig, ihre Schlüsseltabellen zu schützen, wie es auch für Benutzer wichtig ist, ihr Paßwort zu schützen. Sie sollten Schlüsseltabellen immer auf einem lokalen Datenträger speichern und den Lesezugriff nur für root zulassen. Außerdem sollten Sie eine Schlüsseltabelle niemals über ein ungesichertes Netzwerk senden.
Es gibt außerdem die Möglichkeit, einen root-Hauptbenutzer zur Schlüsseltabelle eines Hosts hinzuzufügen. Im Grunde müssen Sie den root-Hauptbenutzer des Clients zur Schlüsseltabelle des Clients hinzufügen, damit ein Benutzer des SEAM-Clients Kerberos-NFS-Dateisysteme automatisch mit der Kerberos-Authentisierung einhängen kann. Andernfalls müssen Benutzer den Befehl kinit als root ausführen, um Berechtigungsnachweise für den root-Hauptbenutzer des Clients bei jedem Einhängen eines Kerberos-NFS-Dateisystems zu empfangen, auch wenn der Automounter dazu verwendet wird. Weitere Informationen finden Sie unter "Einrichten der Root-Authentisierung für das Einhängen von NFS-Dateisystemen".
Beim Einrichten einer Master-KDC müssen Sie die Hauptbenutzer kadmind und changepw zur Datei kadm5.keytab hinzufügen, damit das KDC die Kerberos-Tickets des Verwalters entschlüssel kann, um zu ermitteln, ob diesem der Zugriff auf die Datenbank gewährt wird.
Einen weiteren Befehl zur Verwaltung von Schlüsseltabellen stellt ktutil dar. ktutil ist ein interaktives Dienstprogramm für die Befehlszeilen-Schnittstelle, mit dem Sie die Schlüsseltabelle eines lokalen Hosts verwalten können, ohne Kerberos-Verwaltungsberechtigungen zu besitzen, da ktutil nicht wie kadmin mit der Kerberos-Datenbank arbeitet. Nachdem somit ein Hauptbenutzer zur Schlüsseltabelle hinzugefügt wurde, können Sie ktutil verwenden, um die Schlüsselliste in einer Schlüsseltabelle anzuzeigen, oder um die Authentisierung temporär für einen Service zu deaktivieren.
Aufgabe |
Beschreibung |
Anweisungen erhalten Sie unter |
---|---|---|
Hinzufügen eines Service-Hauptbenutzers zu einer Schlüsseltabelle |
Verwenden Sie den Befehl ktadd von kadmin, um einen Service-Hauptbenutzer zu einer Schlüsseltabelle hinzuzufügen. |
"Hinzufügen eines Service-Hauptbenutzers zu einer Schlüsseltabelle" |
Entfernen eines Service-Hauptbenutzers aus einer Schlüsseltabelle |
Verwenden Sie den Befehl ktremove von kadmin, um einen Service-Hauptbenutzer aus einer Schlüsseltabelle zu entfernen. |
"Entfernen eines Service-Hauptbenutzers aus einer Schlüsseltabelle" |
Anzeigen der Schlüsselliste (Hauptbenutzer) in einer Schlüsseltabelle |
Verwenden Sie den Befehl ktutil, um die Schlüsselliste in einer Schlüsseltabelle anzuzeigen. |
"Anzeigen der Schlüsselliste (Hauptbenutzer) in einer Schlüsseltabelle" |
Temporäres Deaktivieren der Authentisierung für einen Service auf einem Host |
Mit dieser Prozedur können Sie die Authentisierung für einen Service auf einem Host schnell temporär deaktivieren, ohne kadmin-Berechtigungen zu besitzen. Bevor Sie ktutil zum Löschen des Service-Hauptbenutzers aus der Schlüsseltabelle des Servers verwenden, kopieren Sie die ursprüngliche Schlüsseltabelle an einen temporären Ort. Wenn Sie den Service wieder aktivieren möchten, kopieren Sie die ursprüngliche Schlüsseltabelle einfach wieder zurück. |
"Temporäres Deaktivieren der Authentisierung für einen Service auf einem Host" |
Stellen Sie sicher, daß der Hauptbenutzer bereits in der Kerberos-Datenbank vorhanden ist.
Weitere Informationen finden Sie unter "Anzeigen der Hauptbenutzerliste".
Melden Sie sich als Superuser auf dem Host an, für den ein Hauptbenutzer zur Schlüsseltabelle hinzugefügt werden soll.
Starten Sie den Befehl kadmin.
# /usr/krb5/sbin/kadmin |
Fügen Sie mit dem Befehl ktadd einen Hauptbenutzer zu einer Schlüsseltabelle hinzu.
kadmin: ktadd [-k Schlüsseltabelle] [-q] [Hauptbenutzer | -glob Hauptbenutzer_Ziel] |
-p Schlüsseltabelle |
Legt die Schlüsseltabellen-Datei fest. Standardmäßig wird /etc/krb5/krb5.keytab verwendet. |
-q |
Zeigt weniger ausführliche Informationen an. |
Hauptbenutzer |
Der zur Schlüsseltabelle hinzuzufügende Hauptbenutzer. Folgende Service-Hauptbenutzer können hinzugefügt werden: host, root, nfs und ftp |
-glob Hauptbenutzer_Ausdruck |
Alle mit dem Hauptbenutzer-Ausdruck übereinstimmenden Hauptbenutzer werden zur Schlüsseltabelle hinzugefügt. Die Regeln für Hauptbenutzer-Ausdrücke sind dieselben, wie für den Befehl list_principals von kadmin. |
Beenden Sie den Befehl kadmin.
kadmin: quit |
In dem folgenden Beispiel werden die Hauptbenutzer kadmin/admin und kadmin/changepw zur Schlüsseltabelle eines KDCs hinzugefügt. In diesem Beispiel muß die Schlüsseltabelle-Datei in der Datei kdc.conf angegeben sein.
kdc1 # /usr/krb5/bin/kadmin.local kadmin.local: ktadd -k /etc/krb5/kadm5.keytab kadmin/admin kadmin/changepw Eintrag für Hauptbenutzer kadmin/admin@ACME.COM mit kvno 3, Verschlüsselungstyp DES-CBC-CRC wurde zur Schlüsseltabelle WRFILE:/etc/krb5/kadm5.keytab hinzugefügt. Eintrag für Hauptbenutzer kadmin/changepw@ACME.COM mit kvno 3, Verschlüsselungstyp DES-CBC-CRC wurde zur Schlüsseltabelle WRFILE:/etc/krb5/kadm5.keytab hinzugefügt. kadmin.local: quit |
In folgendem Beispiel wird der Host-Hauptbenutzer von hannover zur Schlüsseltabellen-Datei von hannover hinzugefügt, damit die Netzwerkdienste von hannover vom KDC authentisiert werden können.
denver # /usr/krb5/bin/kadmin kadmin: ktadd host/hannover@acme.com@ACME.COM kadmin: Eintrag für Hauptbenutzer host/hannover@acme.com@ACME.COM mit kvno 2, Verschlüsselungstyp DES-CBC-CRC wurde zur Schlüsseltabelle WRFILE:/etc/krb5/krb5.keytab hinzugefügt. kadmin: quit |
Melden Sie sich auf dem Host als Superuser an, auf dem ein Hauptbenutzer aus dessen Schlüsseltabelle entfernt werden muß.
Starten Sie den Befehl kadmin.
# /usr/krb5/bin/kadmin |
Optional. Verwenden Sie den Befehl ktutil, um die aktuelle Hauptbenutzerliste (Schlüssel) in der Schlüsseltabelle anzuzeigen..
Weitere Anweisungen finden Sie unter "Anzeigen der Schlüsselliste (Hauptbenutzer) in einer Schlüsseltabelle".
Entfernen Sie einen Hauptbenutzer mit dem Befehl ktremove aus einer Schlüsseltabelle.
kadmin: ktremove [-k Schlüsseltabelle] [-q] Hauptbenutzer [kvno | all | old ] |
-k Schlüsseltabelle |
Legt die Schlüsseltabellen-Datei fest. Standardmäßig wird /etc/krb5/krb5.keytab verwendet. |
-q |
Zeigt weniger ausführliche Informationen an. |
Hauptbenutzer |
Der aus der Schlüsseltabelle zu entfernende Hauptbenutzer. |
kvno |
Entfernt alle Einträge für den angegebenen Hauptbenutzer, dessen kvno (Key Version Number, Schlüsselversionsnummer) mit kvno übereinstimmt. |
all |
Entfernt alle Einträge für den angegebenen Hauptbenutzer. |
old |
Entfernt alle Einträge für den angegebenen Hauptbenutzer, ausgenommen der Einträge mit der höchsten kvno. |
Beenden Sie den Befehl kadmin.
kadmin: quit |
Im folgenden Beispiel der Host-Principal von hannover aus der Schlüsseltabellen-Datei von hannover entfernt.
denver # /usr/krb5/bin/kadmin kadmin: ktremove host/hannover.acme.com@ACME.COM kadmin: Eintrag für Hauptbenutzer host/hannover.acme.com@ACME.COM mit kvno 3 wurde aus der Schlüsseltabelle WRFILE:/etc/krb5/krb5.keytab entfernt. kadmin: quit |
Melden Sie sich auf dem Host mit der Schlüsseltabelle als Superuser an.
Obwohl Sie Schlüsseltabellen erstellen können, die Eigentum anderer Benutzer sind, erfordert die Standardposition für die Schlüsseltabelle die root-Eigentümerrechte.
Starten Sie den Befehl ktutil.
# /usr/krb5/bin/ktutil |
Lesen Sie die Schlüsseltabelle mit dem Befehl read_kt in den Puffer für die Schlüssellisten ein.
ktutil: read_kt Schlüsseltabelle |
Zeigen Sie den Puffer für die Schlüssellisten mit dem Befehl list an.
ktutil: list |
Der aktuelle Schlüssellisten-Puffer wird angezeigt.
Beenden Sie den Befehl ktutil.
ktutil: quit |
Im folgenden Beispiel wird die Schlüsselliste in der Datei /etc/krb5/krb5.keytab auf dem Host hannover angezeigt.
denver # /usr/krb5/bin/ktutil ktutil: read_kt /etc/krb5/krb5.keytab ktutil: list slot KVNO Principal ---- ---- --------------------------------------- 1 5 host/hannover@ACME.COM ktutil: quit |
Es kann vorkommen, daß Sie den Authentisierungsmechanismus für einen Service, wie z. B. rlogin oder ftp, auf einem Netzwerk-Anwendungs-Server temporär deaktivieren müssen. Wenn Sie z. B. Benutzer davon abhalten möchten, sich auf einem System anzumelden, während Sie Verwaltungsaufgaben durchführen. Mit dem Befehl ktutil können Sie dies erreichen, indem Sie den Service-Hauptbenutzer aus der Schlüsseltabelle des Servers entfernen, ohne daß kadmin-Berechtigungen erforderlich sind. Wenn Sie die Authentisierung wieder aktivieren möchten, müssen Sie nur die zuvor gesicherte ursprüngliche Schlüsseltabelle wieder an die Ausgangsposition kopieren.
Die meisten Services sind so eingerichtet, daß die Authentisierung standardmäßig aktiviert ist. Wenn dies nicht der Fall sein sollte, kann der Service dennoch ausgeführt werden, auch wenn die Authentisierung für diesen Service deaktiviert wurde.
Melden Sie sich auf dem Host mit der Schlüsseltabelle als Superuser an.
Obwohl Sie Schlüsseltabellen erstellen können, die Eigentum anderer Benutzer sind, erfordert die Standardposition für die Schlüsseltabelle die root-Eigentümerrechte.
Speichern Sie die aktuelle Schlüsseltabelle in einer temporären Datei.
Starten Sie den Befehl ktutil.
# /usr/krb5/bin/ktutil |
Lesen Sie die Schlüsseltabelle mit dem Befehl read_kt in den Puffer für die Schlüssellisten ein.
ktutil: read_kt Schlüsseltabelle |
Zeigen Sie den Puffer für die Schlüssellisten mit dem Befehl list an.
ktutil: list |
Der aktuelle Schlüssellisten-Puffer wird angezeigt. Beachten Sie die Slot-Nummer für den zu deaktivierenden Service.
Entfernen Sie den bestimmten Service-Hauptbenutzer mit dem Befehl delete_entry aus dem Puffer für die Schlüssellisten, um den Service eines Hosts temporär zu deaktivieren.
ktutil: delete_entry slot_number |
Slot_Nummer |
Die Slot-Nummer des zu löschenden Hauptbenutzers, der vom Befehl list angezeigt wird. |
Schreiben Sie den Puffer für die Schlüsselliste mit dem Befehl write_kt in die Schlüsseltabelle.
ktutil: write_kt Schlüsseltabelle |
Beenden Sie den Befehl ktutil.
ktutil: quit |
Wenn Sie den Service wieder aktivieren möchten, kopieren Sie die temporäre (ursprüngliche) Schlüsseltabelle wieder an ihre ursprüngliche Position zurück.
Bei dem folgenden Beispiel wird der host-Service auf dem Host hannover deaktiviert. Um den Host-Service wieder auf hannover zu aktivieren, würden Sie die Datei krb5.keytab.temp zur Datei /etc/krb5/krb5.keytab kopieren.
denver # cp /etc/krb5/krb5.keytab /etc/krb5/krb5.keytab.temp denver # /usr/krb5/bin/ktutil ktutil:read_kt /etc/krb5/krb5.keytab ktutil:list slot KVNO Principal ---- ---- --------------------------------------- 1 8 host/hannover@ACME.COM 2 5 host/hannover@ACME.COM ktutil:delete_entry 2 ktutil:list slot KVNO Principal ---- ---- --------------------------------------- 1 8 root/hannover@ACME.COM ktutil:write_kt /etc/krb5/krb5.keytab ktutil: quit |