GNU/Linux >> Znalost Linux >  >> Cent OS

CentOS/RHEL:Příkaz „id“ neuvádí název skupiny oproti GID pro uživatele LDAP

Problém

Při spuštění příkazu „id“ proti uživatelům LDAP se zobrazí pouze gid pro nějakou sekundární skupinu a název skupiny se netiskne:

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

A níže uvedená chyba byla zaznamenána v /var/log/sssd/sssd_nss.log :

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

Řešení

Nová skupina byla přidána se stejným GID jako ta stávající.

# 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)

Stejné ID je mapováno na 2 skupiny, group5 a group6. Takže když uděláme id, jakmile dostaneme správný výsledek pro uživatele (zobrazí se všechny skupiny uživatelů). Poté spustíme getent group pro druhou skupinu:

# getent group group5

Ale poté se zdá, že skupina je vyřazena z výsledků id.

SSSD má v SysDB tvrdé omezení, že s konkrétním ID může existovat pouze jedna skupina. Když je skupina na serveru přejmenována, stává se problémem pořadí operací, zda s ní zacházíme správně nebo ne. Nepodporujeme více položek se stejným GID a to povede k neočekávanému chování.

Takže níže uvedená chyba byla zaznamenána v /var/log/sssd/sssd_nss.log :

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

Jakmile tedy opravíte záznam na serveru LDAP, sssd by měl být schopen jej znovu správně vybrat. Pokud ne, počkejte 300 sekund, protože výchozí doba pro vyprázdnění mezipaměti je 300 sekund (tj. pět minut). Můžete také použít níže uvedený příkaz k vyprázdnění mezipaměti sssd vhodnými možnostmi podle požadavku:

-E příznak lze použít ke zrušení platnosti všech položek uložených v mezipaměti. Výjimkou jsou pravidla sudo.

# sss_cache -E

Můžete také zneplatnit konkrétního uživatele pouze z mezipaměti pomocí -u příznak následovaný uživatelským jménem.

# sss_cache -u user1

Také můžete smazat soubor sss_cache z adresáře /var/lib/sss/db/.

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


Cent OS
  1. CentOS / RHEL 7 :Jak otevřít port firewallu pro server Samba pomocí FirewallD

  2. CentOS / RHEL 7 :Jak přejmenovat skupinu svazků pro root a swap

  3. CentOS / RHEL 5 :Jak používat příkaz faillog ke sledování neúspěšných pokusů o přihlášení

  1. CentOS / RHEL 7 :Jak upravit příkazový řádek jádra

  2. Jak provést příkaz Pstack na CentOS/RHEL

  3. SSH bez hesla nefunguje pro místní uživatele na serverech LDAP – CentOS/RHEL 7

  1. Jak prosadit složitost hesel pro všechny uživatele, včetně „root“, pomocí modulu PAM „passwdqc“ CentOS/RHEL

  2. CentOS / RHEL 6:Jak změnit název skupiny svazků pro zařízení s kořenovým diskem

  3. CentOS / RHEL :Jak nastavit chroot jail pro vsftp pro všechny uživatele