GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

CentOS/RHEL:Der Befehl „id“ listet den Gruppennamen nicht gegen die GID für LDAP-Benutzer auf

Das Problem

Beim Ausführen des Befehls „id“ für LDAP-Benutzer wird nur die gid für einige sekundäre Gruppen angezeigt und der Gruppenname wird nicht gedruckt:

# id user1
uid=48254(user1) gid=100(users) groups=100(users),5002(group1),5001(group2),41257(group3),856(group4),56971

Und der folgende Fehler wurde in /var/log/sssd/sssd_nss.log protokolliert:

(Tue Mar 14 05:40:09 2020) [sssd[nss]] [nss_cmd_getgrgid_search] (0x0010): getgrgid call returned more than one result !?!

Die Lösung

Die neue Gruppe wurde mit derselben GID wie die der bestehenden hinzugefügt.

# id user1
uid=48254(user1) gid=100(users) groups=100(users),5002(group1),5001(group2),41257(group3),856(group4),56971(group6)

# getent group group5
group5:*:56971:

# id user1
uid=48254(user1) gid=100(users) groups=100(users),5002(group1),5001(group2),41257(group3),856(group4)

Dieselbe ID wird 2 Gruppen zugeordnet, Gruppe5 und Gruppe6. Wenn wir dies also einmal tun, erhalten wir ein korrektes Ergebnis für den Benutzer (alle Benutzergruppen werden angezeigt). Dann führen wir getent group für die andere Gruppe aus:

# getent group group5

Aber danach scheint die Gruppe aus den ID-Ergebnissen gelöscht zu werden.

SSSD hat eine harte Einschränkung in der SysDB, dass nur eine Gruppe mit einer bestimmten ID existieren kann. Wenn eine Gruppe auf dem Server umbenannt wird, wird es zu einer Frage der Arbeitsreihenfolge, ob wir damit richtig umgehen oder nicht. Wir unterstützen nicht mehrere Einträge mit derselben GID und dies führt zu unerwartetem Verhalten.

Der folgende Fehler wurde also in /var/log/sssd/sssd_nss.log protokolliert:

(Tue Mar 14 05:40:09 2020) [sssd[nss]] [nss_cmd_getgrgid_search] (0x0010): getgrgid call returned more than one result !?!

Sobald Sie also den Eintrag im LDAP-Server korrigiert haben, sollte der sssd in der Lage sein, ihn wieder korrekt aufzunehmen. Wenn dies nicht der Fall ist, warten Sie 300 Sekunden, da die Standardzeit, in der sich dieser Cache selbst leert, 300 Sekunden (d. h. fünf Minuten) beträgt. Sie können auch den folgenden Befehl verwenden, um den SSD-Cache mit geeigneten Optionen gemäß den Anforderungen zu leeren:

Das -E Flag kann verwendet werden, um alle zwischengespeicherten Einträge ungültig zu machen. Ausnahme sind sudo-Regeln.

# sss_cache -E

Mit dem -u können Sie auch nur einen bestimmten Benutzer aus dem Cache ungültig machen Flag, gefolgt vom Benutzernamen.

# sss_cache -u user1

Außerdem können Sie die Datei sss_cache aus dem Verzeichnis /var/lib/sss/db/ löschen.

# service sssd stop
# rm -rf /var/lib/sss/db/*
# service sssd start


Cent OS
  1. CentOS / RHEL 7 :So aktivieren Sie Telnet für eine Gruppe von Benutzern

  2. CentOS / RHEL 5 :So verwenden Sie den Befehl faillog, um fehlgeschlagene Anmeldeversuche nachzuverfolgen

  3. So führen Sie den Pstack-Befehl unter CentOS/RHEL aus

  4. Passwortloses SSH funktioniert nicht für lokale Benutzer auf LDAP-Servern – CentOS/RHEL 7

  5. So erzwingen Sie die Kennwortkomplexität für alle Benutzer, einschließlich „root“, durch Verwendung des „passwdqc“-PAM-Moduls CentOS/RHEL

So listen Sie installierte Pakete unter RHEL 8 / CentOS 8 Linux auf

Installieren Sie nmap auf RHEL 8 / CentOS 8

So aktivieren Sie die Proxy-Einstellungen für den Yum-Befehl auf RHEL-/CentOS-Servern

Konfigurieren Sie OpenLDAP mit SSL auf CentOS 7 / RHEL 7

Die 50 besten YUM-Befehlsbeispiele für RHEL- oder CentOS-Benutzer

So listen Sie alle Benutzer einer Gruppe in Linux auf