GNU/Linux >> Linux Esercitazione >  >> Cent OS

CentOS/RHEL:il comando "id" non elenca il nome del gruppo rispetto al GID per gli utenti LDAP

Il problema

Durante l'esecuzione del comando "id" sugli utenti LDAP, viene visualizzato solo il gid per alcuni gruppi secondari e il nome del gruppo non viene stampato:

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

E l'errore seguente è stato registrato in /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 !?!

La soluzione

Il nuovo gruppo è stato aggiunto con lo stesso GID di quello esistente.

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

Lo stesso ID è mappato a 2 gruppi, gruppo5 e gruppo6. Quindi, quando facciamo id una volta otteniamo un risultato corretto per l'utente (vengono mostrati tutti i gruppi di utenti). Quindi eseguiamo getent group per l'altro gruppo:

# getent group group5

Ma dopodiché, sembra che il gruppo sia stato eliminato dai risultati dell'ID.

SSSD ha una restrizione rigida nel SysDB che può esistere un solo gruppo con un ID particolare. Quando un gruppo viene rinominato sul server, diventa un problema di ordine delle operazioni indipendentemente dal fatto che lo gestiamo correttamente o meno. Non supportiamo più voci con lo stesso GID e ciò comporterà un comportamento imprevisto.

Quindi l'errore seguente è stato registrato in /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 !?!

Pertanto, una volta corretta la voce nel server LDAP, sssd dovrebbe essere in grado di riprenderla correttamente. In caso contrario, attendere 300 secondi poiché il tempo predefinito per lo svuotamento della cache è di 300 secondi (ovvero cinque minuti). Inoltre puoi utilizzare il comando seguente per svuotare la cache sssd con opzioni adeguate secondo il requisito:

La -E flag può essere utilizzato per invalidare tutte le voci memorizzate nella cache. L'eccezione sono le regole sudo.

# sss_cache -E

Puoi anche invalidare un utente specifico solo dalla cache con -u flag, seguito dal nome utente.

# sss_cache -u user1

Inoltre, puoi eliminare il file sss_cache dalla directory /var/lib/sss/db/.

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


Cent OS
  1. Come aggiungere ed eliminare utenti su CentOS, RHEL e Fedora

  2. CentOS / RHEL 7:come aprire la porta del firewall per il server Samba utilizzando FirewallD

  3. CentOS / RHEL 7:come abilitare telnet per un gruppo di utenti

  4. SSH senza password non funziona per utenti locali su server LDAP – CentOS/RHEL 7

  5. CentOS / RHEL 6:come modificare il nome del gruppo di volumi per il dispositivo del disco di root

Come elencare i pacchetti installati su RHEL 8 / CentOS 8 Linux

Installa nmap su RHEL 8 / CentOS 8

Come abilitare le impostazioni proxy per il comando Yum sui server RHEL / CentOS

Configura OpenLDAP con SSL su CentOS 7 / RHEL 7

I 50 migliori esempi di comandi YUM per utenti RHEL o CentOS

Come elencare tutti gli utenti di un gruppo in Linux