Auf unserer Box mit OpenSUSE 12.2 haben wir OpenLDAP und sssd
Daemon installiert . Wir verwenden diese beiden Dienste zur Benutzerauthentifizierung. Kürzlich haben wir ein Skript erstellt, das dynamisch neue Webbenutzer für unsere vhosts erstellt. Jetzt haben wir es mit einem Problem zu tun.
Es scheint, dass sssd eine Art Cache verwendet und dabei getent passwd
Benutzer zurückgibt, die aus LDAP gelöscht wurden. Manchmal wird der kürzlich erstellte Benutzer nicht sofort zurückgegeben, da dies im Skript weiter erforderlich ist (zum Festlegen von Berechtigungen mit setfacl
und chown
).
LDAP neu starten sssd
oder nscd
nicht helfen, Cache auch nicht leeren sss_cache -U
. Wir haben versucht, den Cache in der Konfiguration von zu verkleinern, sssd
aber es scheint, dass dies nichts beeinflusst.
Wir müssen den Cache nach dem Hinzufügen eines neuen Benutzers zu LDAP explizit aktualisieren oder den Cache überhaupt deaktivieren.
Hat jemand ein ähnliches Problem erlebt?
cache_credentials
? Deaktiviert das alle Caching- oder nur Anmeldeinformationen, wie der Name andeutet?Sie können versuchen, die Caching-Anmeldeinformationen zu deaktivieren, indem Sie der Anweisung /etc/sssd/sssd.conf eine Anweisung hinzufügen:
Sie können dann mit dem Konsolenbefehl überprüfen, ob sssd den Cache für Anmeldeinformationen verwendet:
quelle
Beachten Sie, dass cache_credentials = True in Fedora 30/31 einen Fehler verursacht, der eine Anmeldung mit LDAP-Benutzern unmöglich macht. Ich habe keinen dokumentierten Fehler gefunden, also schreibe ich ihn hier.
quelle