Zeitverzögerung nach LDAP Gruppenmitglieder Anpassung

Probleme mit Samba, NFS, FTP und Co.
joe2017
Beiträge: 299
Registriert: 07.08.2017 14:29:51

Zeitverzögerung nach LDAP Gruppenmitglieder Anpassung

Beitrag von joe2017 » 29.10.2018 14:51:04

Hallo zusammen,

Ich habe ein kleines Problem mit Berechtigungen. Ich habe ein LDAP/Kerberos Server (debian 9.5.0) und einen NFS Server. Ich habe auf meinem NFS Server alle Berechtigungen mit LDAP Gruppen konfiguriert. Das funktioniert auch alles wunderbar.

Wenn ich jetzt einen LDAP Benutzer in eine LDAP Gruppe hinzufüge, um auf den NFS Ordner zugreifen zu können, hab ich hier eine zeitliche Verzögerung bis diese Änderungen greifen.
Wenn ich auf meinem Client die Gruppenzugehörigkeit prüfe (getent group | grep user) sehe ich das der Benutzer bereits in der Gruppe vorhanden ist. Jedoch kann ich nicht auf die Ordner zugreifen. Ich habe jetzt nach ca 20 Minuten festgestellt, dass ich den Zugriff erhalten habe. Dies habe ich an einem zweiten Benutzer reproduzieren können. Auch ein Neustart des Clients hat nichts geholfen. Wie lange es dauert bis die Anpassungen aktiv werden, kann ich noch nicht genau sagen.

Muss ich evtl noch etwas an meinem Client bzw. LDAP Server oder NFS Server ausführen, damit diese Änderungen übernommen werden? Gibt es hierzu einen Befehl?

Vielen Dank für eure Tipps.

joe2017
Beiträge: 299
Registriert: 07.08.2017 14:29:51

Re: Zeitverzögerung nach LDAP Gruppenmitglieder Anpassung

Beitrag von joe2017 » 30.10.2018 08:37:21

Ich vermute das es mit einem Cache zu tun hat. Anscheinend prüft der Client bzw. NFS Server erst nach einer gewissen Zeit die Änderungen im LDAP.
Dies würde ich jedoch gerne beschleunigen. Das kann man doch mit Sicherheit manuel mit einem Befehl erledigen.

Hat jemand eine Idee hierzu?

Benutzeravatar
ThorstenS
Beiträge: 2806
Registriert: 24.04.2004 15:33:31

Re: Zeitverzögerung nach LDAP Gruppenmitglieder Anpassung

Beitrag von ThorstenS » 01.11.2018 22:00:05

das hilft bei mir:

Code: Alles auswählen

systemctl restart nslcd  &&  systemctl restart nscd 

joe2017
Beiträge: 299
Registriert: 07.08.2017 14:29:51

Re: Zeitverzögerung nach LDAP Gruppenmitglieder Anpassung

Beitrag von joe2017 » 05.11.2018 09:28:37

ThorstenS hat geschrieben: ↑ zum Beitrag ↑
01.11.2018 22:00:05
das hilft bei mir:

Code: Alles auswählen

systemctl restart nslcd  &&  systemctl restart nscd 
Wo genau führst du das aus? Auf dem Client oder dem Server?
Ich habe das gerade auf meinem Client, LDAP-Server und NFS-Server ohne Erfolg getestet.
PS. den Service nslcd gibt es bei mir nicht. Bei mir existiert nur der Service nscd.

Ich hatte ja bereits einen Neustart an meinem Client durchgeführt. Dies hatte nichts gebracht. bei meinem letzten Test habe ich über 60 Minuten warten müssen bis die Änderungen aktiv wurden.

Benutzeravatar
ThorstenS
Beiträge: 2806
Registriert: 24.04.2004 15:33:31

Re: Zeitverzögerung nach LDAP Gruppenmitglieder Anpassung

Beitrag von ThorstenS » 05.11.2018 16:37:45

Das Paket nslcd kommt bei mir noch von etch oder wheezy (habe den Server immer aktualisiert). Habe es nie entsorgt, da es nicht weh tut.
Ich führe den Befehl auf dem Client aus.

Du hast sicherlich NFSV4 mit kerberos am Start, oder? Kann hier vllt ein Zusammenhang mit dem ticket bestehen?
Bringt vllt. schon ein klist -R oder kdestroy ; kinit Erfolg? Ansonsten würde ich das Problem im Caching zw. LDAP und NFS Server sehen, nicht beim Client.
Testen kannst du das ja, indem du einen zwoten Client hochfährst und eine neue NFS Verbindung aufmachst.

joe2017
Beiträge: 299
Registriert: 07.08.2017 14:29:51

Re: Zeitverzögerung nach LDAP Gruppenmitglieder Anpassung

Beitrag von joe2017 » 06.11.2018 09:29:02

Schönen Guten Morgen,

Ja ich habe einen NFS4 Server mit Kerberos. Ich habe das ganze noch einmal am Client getestet.
kdestroy und kinit hat leider nicht geholfen.

Ich habe jedoch einem User welcher noch nicht am Client angemeldet war in eine LDAP Gruppe gesteckt. Nach der Anmeldung konnte ich direkt darauf zugreifen.
Ein User welcher angemeldet ist und in eine Gruppe gesteckt wird hat wieder das Zeitverzögerungsproblem. Selbst nach einem Neustart.
Ein neu angelegter Benutzer hat ebenfalls direkt Zugriff auf die konfigurierten LDAP Gruppen.

Was mir gerade noch einfällt... Ich bin mir jedoch nicht sicher, ob dies etwas ausmacht. Meine Berechtigungen auf die Ordner werden mit ACL´s eingetragen.
Also dass es am NFS Server liegt glaube ich irgendwie nicht. Hier ändere ich ja keine Berechtigungen. Ich lege einen Ordner mit Berechtigungen an und füge im LDAP lediglich den User der Gruppe hinzu.
Entweder muss der LDAP Server alle neuen Berechtigungen den Clients mitteilt, oder der Client muss sich die neuen Berechtigunen ziehen?

Hier ist jetzt nur die Frage wie ich das anstelle?

hoosoomooloo
Beiträge: 1
Registriert: 30.11.2018 07:24:24

Re: Zeitverzögerung nach LDAP Gruppenmitglieder Anpassung

Beitrag von hoosoomooloo » 30.11.2018 07:56:57

Hallo in die Runde,

an iSCSI-Targets gibts ja nun ein paar, aktuell haben wir hier Debiantgt, was aber anscheinend alt und obsolet ist, stimmt das und wenn ja was sollte man dann nutzen?

Wir haben nämlich ein paar performanceprobleme mit tgt, der frisst ganz schön ressourcen wenn man da nen bissl was macht - und das liegt definitv nicht an den Platten, die können da noch einiges mehr rüber schaufeln.

schonmal danke für die hilfe!

joe2017
Beiträge: 299
Registriert: 07.08.2017 14:29:51

Re: Zeitverzögerung nach LDAP Gruppenmitglieder Anpassung

Beitrag von joe2017 » 12.12.2018 13:22:39

So leider gab es in der Zwischenzeit einige wichtigere Projekte weshalb ich dieses Thema jetzt noch mal aufgreifen möchte.

Ich hab hier irgendwie keinen Ansatzpunkt weshalb die Berechtigungen nicht sofort übernommen werden?

Ich habe einen LDAP/MIT Kerberos Server in welchem meine Benutzer und Gruppen angelegt sind.
Ich habe einen NFS4 Server mit Kerbereos Authentication auf welchem ich für meine Ordner mittels ACL Berechtigungen meiner LDAP Gruppen eintrage.

Wenn ich einen neuen Benutzer im LDAP anlege und mich am Client anmelde, erhalte ich direkt meinen gewünschten Zugriff.
Wenn ich einem bestehenden LDAP Benutzer die entsprechende Gruppenmitgliedschaft hinzufüge welche auf meinem NFS4 Server als Ordnerberechtigung eingetragen ist, gibt es eine aktuell unbestimmte Zeitverzögerung (diese variiert bis zu 2 Stunden) bis die Berechtigungen für diesen Benutzer aktiv werden. Ein Abmelden bzw. ein Neustart ändert bzw. beschleunigt leider auch nichts. Auch das löschen und neu anlegen des Kerberos Tickets ändert nichts.

Es muss doch eine Möglichkeit geben die zugehörigkeit der Gruppe am Client zu aktuallisieren? Die Frage ist, ob der Client, der NFS4 Server oder der LDAP Server für die Verzögerung verantwortlich ist.
Ich bin mir nicht sicher in welchen Logfiles ich das überprüfen müsste.

Ich hoffe mir kann hierzu jemand weiterhelfen.

Benutzeravatar
habakug
Moderator
Beiträge: 4120
Registriert: 23.10.2004 13:08:41
Lizenz eigener Beiträge: MIT Lizenz

Re: Zeitverzögerung nach LDAP Gruppenmitglieder Anpassung

Beitrag von habakug » 12.12.2018 13:52:35

Hallo,

durch den Neustart des nscd werden die Caches nicht geleert. Hierfür gibt es

Code: Alles auswählen

# nscd --invalidate=group
Du kannst die anderen Caches hier finden:

Code: Alles auswählen

# ls /var/db/nscd/
group hosts netgroup passwd services
Gruss, habakug
( # = root | $ = user | !! = mod ) (Vor der PN) (Debianforum-Wiki) (NoPaste)

joe2017
Beiträge: 299
Registriert: 07.08.2017 14:29:51

Re: Zeitverzögerung nach LDAP Gruppenmitglieder Anpassung

Beitrag von joe2017 » 12.12.2018 15:10:06

habakug hat geschrieben: ↑ zum Beitrag ↑
12.12.2018 13:52:35
Hallo,

durch den Neustart des nscd werden die Caches nicht geleert. Hierfür gibt es

Code: Alles auswählen

# nscd --invalidate=group
Das habe ich soeben auf meinem Client ausgeführt. Das hat leider nichts gebacht
habakug hat geschrieben: ↑ zum Beitrag ↑
12.12.2018 13:52:35
Du kannst die anderen Caches hier finden:

Code: Alles auswählen

# ls /var/db/nscd/
group hosts netgroup passwd services
Gruss, habakug
Ich habe kein Verzeichnis /db unter /var?

Das lustige daran ist, wenn ich am Client folgendes abfrage [getent group | grep "mein-username"] sehe ich, dass mein User bereits der Gruppe zugeordnet ist?
Ich habe jetzt sogar alles neu gestartet LDAP Server, NFS4 Server, Client. Und die Änderungen greifen noch immer nicht!

joe2017
Beiträge: 299
Registriert: 07.08.2017 14:29:51

Re: Zeitverzögerung nach LDAP Gruppenmitglieder Anpassung

Beitrag von joe2017 » 17.12.2018 17:59:57

Hat hier niemand eine Idee wo ich noch suchen könnte?
Gibt es keinen Update Befehl am LDAP/Kerberos Server, NFS4 Server oder am Client?
  • Ich besitze einen LDAP/Kerberos Server mit meinen Benutzern und Gruppen.
  • Ich füge den LDAP Benutzer "testUser" zu der LDAP Gruppe "testGruppe" hinzu.
  • Im NFS4 Server habe ich nichts verändert. Hier haben alle Ordner in meiner Freigabe bereits die Berechtigungen erhalten. Z.b. hat die LDAP Gruppe "testGruppe" Zugriff auf den Ordner "Test".
  • Die LDAP Abfrage am Client (getent group | grep "testUser") zeigt mir, dass mein "testUser" Mitglied der "testGruppe" ist.
  • Ebenfalls die Abfrage groups zeigt mir an, dass mein "testUser" Mitglied der "testGruppe" ist.
  • Auch ein Neustart des LDAP/Kerberos Server, NFS4 Server und meines Clients hat nichts geholfen.
  • Ich habe auch bereits mein Kerberos Ticken neu erstellt (kdestroy && kinit)
  • Zusätzlich habe ich die Befehle (sudo nscd -i passwd/group/services) durchgeführt und den NSCD Service neu gestartet.
  • Jedoch erhalte ich keinen Zugriff auf den Ordner "Test".
Hier muss es doch eine Möglichkeit geben dies zu beschleunigen?

joe2017
Beiträge: 299
Registriert: 07.08.2017 14:29:51

Re: Zeitverzögerung nach LDAP Gruppenmitglieder Anpassung

Beitrag von joe2017 » 02.01.2019 15:59:44

Nachdem ein Neustart aller beteiligten Server/Clients nicht hilft, müssen die Informationen ja noch irgendwo in einem Cache stehen.
Kann man am Client oder LDAP Server evtl. sämtliche Caches clearen?
Nach einer bestimmten Zeit PLUS eines Neustarts des Clients werden die Änderungen ja aktiv.

Ich befürchte, dass mit dem Befehl (getent groups | grep "USER") nur die LDAP Informationen am Server abgefragt werden. Jedoch hat der Client diese noch nicht übernommen und hat lokal noch veraltete Informationen. Vielleicht kann man diese auch updaten?

Benutzeravatar
ThorstenS
Beiträge: 2806
Registriert: 24.04.2004 15:33:31

Re: Zeitverzögerung nach LDAP Gruppenmitglieder Anpassung

Beitrag von ThorstenS » 03.01.2019 11:47:50

Bei einem UCS System steht u.a. das hier in der /etc/nsswitch.conf:

Code: Alles auswählen

passwd:        compat ldap
group:         compat extrausers
shadow:        compat ldap
Dazu ist das Paket Debianlibnss-extrausers installiert. In der Beschreibung steht:
If this option is activated, all group data is exported to a cache file and included using the NSS module extrausers. This results to significant performance improvements in large environments. If the variable isn't set, the cache file is activated.

joe2017
Beiträge: 299
Registriert: 07.08.2017 14:29:51

Re: Zeitverzögerung nach LDAP Gruppenmitglieder Anpassung

Beitrag von joe2017 » 03.01.2019 12:08:14

Hallo

in meiner Datei (/etc/nsswitch.conf) steht folgendes:

Code: Alles auswählen

passwd:         compat ldap
group:          compat ldap
shadow:         compat ldap
gshadow:        files

hosts:          files dns
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

Benutzeravatar
ThorstenS
Beiträge: 2806
Registriert: 24.04.2004 15:33:31

Re: Zeitverzögerung nach LDAP Gruppenmitglieder Anpassung

Beitrag von ThorstenS » 03.01.2019 12:13:23

probiers dochmal mit den extrausers - Versuch macht gluch. die ganze nsswitch.conf schaut bei mir so aus:

Code: Alles auswählen

# egrep -v "^$|^#" /etc/nsswitch.conf
passwd:        compat ldap
group:         compat extrausers
shadow:        compat ldap
hosts:          files dns # special comment for libnss-mdns: mdns4 (Bug: #12240)
networks:       files
protocols:      db files
services:       db files
ethers:         db files
rpc:            db files
netgroup:       nis
Ich habe keinen gshadow Eintrag.

Antworten