Ich schreibe derzeit ein Puppet-Modul, um den Prozess des Verbindens von RHEL-Servern mit einer AD-Domäne mit Unterstützung für Kerberos zu automatisieren.
Derzeit habe ich Probleme beim automatischen Abrufen und Zwischenspeichern von Kerberos-Tickets über kinit
. Wenn dies manuell erfolgen würde, würde ich Folgendes tun:
kinit [email protected]
Dies fordert zur Eingabe des AD-Benutzerkennworts auf, daher gibt es ein Problem bei der Automatisierung.
Wie kann ich das automatisieren? Ich habe einige Beiträge gefunden, in denen kadmin
die Erstellung einer Datenbank mit dem darin enthaltenen AD-Benutzerkennwort erwähnt wird, aber ich hatte kein Glück.
echo -n "$PASS" | kinit "$USER"
keine nachgestellte Newline ausgebenWährend Sie das Kennwort nur fest in Ihre Automatisierung codieren können, besteht die korrektere Kerberos-Methode darin, eine Keytab für den Principal zu erstellen und diese dann zur Authentifizierung zu verwenden.
kinit
unterstützt die Authentifizierung von einem Keytab mithilfe der-k -t <keytab-path>
Optionen.Der Hauptvorteil einer Keytab besteht darin, dass sie die Anmeldeinformationen in einer separaten Datei isoliert und direkt von verschiedenen Kerberos-Programmen verwendet werden kann (Sie müssen also keinen Code hinzufügen, um ein Kennwort aus einer separaten Datei zu lesen). Es kann auch mit Standardbefehlen erstellt werden (mit einem AD KDC verwenden
ktpass
). Wenn Sie ein Linux-KDC haben, gibt es einige weitere Vorteile, z. B. die einfache Zufallsauswahl von Schlüsseln, die in der Keytab gespeichert sind, anstatt ein schwächeres Kennwort zu verwenden.quelle
-norandkey
Flag in ktadd verwenden, wenn Sie das vorhandene Kennwort nicht ungültig machen möchten.Entsprechend der Manpage könnten Sie verwenden:
Sie können Ihr Passwort also einfach über eine Datei eingeben.
quelle