Zeitverzögerung nach LDAP Gruppenmitglieder Anpassung

Probleme mit Samba, NFS, FTP und Co.
Antworten
Benutzeravatar
joe2017
Beiträge: 1125
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.

Benutzeravatar
joe2017
Beiträge: 1125
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: 2875
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 

Benutzeravatar
joe2017
Beiträge: 1125
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: 2875
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.

Benutzeravatar
joe2017
Beiträge: 1125
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?

Benutzeravatar
joe2017
Beiträge: 1125
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: 4313
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)

Benutzeravatar
joe2017
Beiträge: 1125
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!

Benutzeravatar
joe2017
Beiträge: 1125
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?

Benutzeravatar
joe2017
Beiträge: 1125
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: 2875
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.

Benutzeravatar
joe2017
Beiträge: 1125
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: 2875
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.

Benutzeravatar
joe2017
Beiträge: 1125
Registriert: 07.08.2017 14:29:51

Re: Zeitverzögerung nach LDAP Gruppenmitglieder Anpassung

Beitrag von joe2017 » 04.01.2019 10:29:53

Ich denke nicht das es notwendig ist zusätzliche komponenten zu installieren. Das ist in den Standard Installationen fü eine LDAP Verbindung nicht notwendig.

Es muss doch eine Möglichkeit geben einem Client mitzuteilen, das Änderungen im LDAP/Kerberos Server vorgenommen wurden und diese aktuallisiert werden müssen.
Weshalb ein Neustart nicht hilft verstehe ich under anderem auch nicht. Das würde ja bedeuten, das der Client die Informationen vom LDAP nicht erneut prüft.

Evtl ist das Problem auch nicht bei dem Client, sondern bei dem NFS4 Server zu suchen.

Trotzdem Danke für den Tipp. :-)

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

Re: Zeitverzögerung nach LDAP Gruppenmitglieder Anpassung

Beitrag von ThorstenS » 04.01.2019 19:57:48

du hast keinen sssd auf dem Client oder Server, oder?
In dem Fall würde sss_cache helfen den Cache zu invalidieren (-u, -g, -N)

Benutzeravatar
joe2017
Beiträge: 1125
Registriert: 07.08.2017 14:29:51

Re: Zeitverzögerung nach LDAP Gruppenmitglieder Anpassung

Beitrag von joe2017 » 07.01.2019 12:24:12

Nein ich habe kein sssd im Einsatz.

Noch eine andere Idee?

Benutzeravatar
joe2017
Beiträge: 1125
Registriert: 07.08.2017 14:29:51

Re: Zeitverzögerung nach LDAP Gruppenmitglieder Anpassung

Beitrag von joe2017 » 14.02.2019 10:51:38

Jetzt hab ich das ganze noch einmal unter der Debian Buster (testing) aufgesetzt. Hier habe ich nachwievor das selbe Problem.

Es muss doch eine Möglichkeit geben, einem LDAP Benutzer mittels LDAP Gruppen ALC Berechtigungen auf einem NFS Server zuzuweisen und diese umgehend zu aktivieren.
Hier wird an irgendeiner Stelle ein Cache verwendet, welcher die Änderung im LDAP (hinzufügen von Benutzern zu einer Gruppe) nicht bereitstellt.

Mit getent group | grep "user" sehe ich am Server und am Client auch direkt die Zugehörigkeit des Benuters in der neuen Gruppe. Der Benutzer hat jedoch noch keinen Zugriff auf den NFS Ordner.
Muss man hier evtl. noch etwas am NFS Server ausführen?

Ich komme hier einfach nicht weiter. Das ist echt ein ziemlich großes Problem.

Benutzeravatar
joe2017
Beiträge: 1125
Registriert: 07.08.2017 14:29:51

Re: Zeitverzögerung nach LDAP Gruppenmitglieder Anpassung

Beitrag von joe2017 » 31.10.2019 10:26:26

Hallo zusammen,

ich habe das Thema die letzte Zeit etwas vernachlässigt und noch mal aufgegriffen.

Auch in der aktuellen Debian Buster Version habe ich nach wie vor das selbe Problem.
  • Benutzer wird in die neue Gruppe gesteckt
  • Auf dem Client die Zugehörigkeit geprüft: "getend group"
  • Kein Zugriff auf den NFS4 Folder
Ich hab so langsam keine Idee mehr wonach ich suchen könnte. Hat jemand eine Idee an wen ich mich zu diesem Thema noch wenden kann?
Auf welcher Seite ist das Problem zu suchen?
  • NFS4 mit ACL´s
  • LDAP User/Group
  • Client
Gibt es vielleicht eine Möglichkeit die effektiven Berechtigungen meines Users abzufragen? Ohne getent group?

mludwig
Beiträge: 793
Registriert: 30.01.2005 19:35:04

Re: Zeitverzögerung nach LDAP Gruppenmitglieder Anpassung

Beitrag von mludwig » 31.10.2019 12:40:41

Funktioniert das NFS4 mit ACL über Kerberos Tickets? Die werden bei der Anmeldung ausgestellt und beinhalten die Nutzerrechte für die Resource, und bis zum Ablauf werden die auch nicht erneuert. Weitere Infos z B unter http://www.rcg.sfu.ca/workstations/kerberos.html
Für dich vermutlich ab Q #12 interessant.

Benutzeravatar
joe2017
Beiträge: 1125
Registriert: 07.08.2017 14:29:51

Re: Zeitverzögerung nach LDAP Gruppenmitglieder Anpassung

Beitrag von joe2017 » 31.10.2019 15:36:27

Hallo mludwig,

ja das hatte ich auch schon vermutet.
Jedoch habe ich bereits mit kdestroy und kinit mein kerberos Ticket neu erstellt. Auch das hat nicht geholfen.
Das seltsame ist, dass es nach einer Zeit irgendwann funktioniert. Daher tippe ich ja immer noch auf einen Cache. Aber alles was ich mit nscd unternommen habe hat nicht funktioniert.

Noch mal für mein Verstätndnis.
  • Am NFS4 Server habe ich ja nichts verändert. Die LDAP Gruppe A hat zugriff auf den Ordner A.
  • Ich sorge lediglich dafür das Benutzer xy in die LDAP Gruppe A aufgenommen wird.
  • Wenn ich am Client mit getent group | grep "Benutzer xy" meine LDAP Zugehörigkeit prüfe, sehe ich das ich Mitglied der Gruppe A bin.
  • Jedoch habe ich noch keine Berechtigung auf den NFS4 Ordner A.
Dies sollte den NFS4 Server eigentlich ausschließen.

Antworten