GNU/Linux >> Linux Esercitazione >  >> Linux

Mostra tutti gli utenti e i loro gruppi/viceversa

Soluzione 1:

Tutti gli utenti:

$ getent passwd

Tutti i gruppi:

$ getent group

Tutti i gruppi con un utente specifico:

$ getent group | grep username

Soluzione 2:

Elenca gli utenti ei loro gruppi:

for user in $(awk -F: '{print $1}' /etc/passwd); do groups $user; done

Elenca gruppi e relativi utenti:

cat /etc/group | awk -F: '{print $1, $3, $4}' | while read group gid members; do
    members=$members,$(awk -F: "\$4 == $gid {print \",\" \$1}" /etc/passwd);
    echo "$group: $members" | sed 's/,,*/ /g';
done

Soluzione 3:

Se non ti interessano gli utenti remoti come LDAP o NIS, per elencare gli utenti e i loro gruppi associati in modo semplice:

cut -d: -f1 /etc/passwd | xargs groups

Uscita;

root : root
myuser : root www-data fuse 
anotheruser : anotheruser   cdrom floppy audio dip video plugdev scanner bluetooth netdev

Soluzione 4:

Elenca tutti gli utenti

cut -d':' -f 1 /etc/passwd

Oppure

awk -F ':' '{print $1}' /etc/passwd

Mentre cat /etc/passwd mostra tutti gli utenti (e un sacco di altre cose), cut -d ':' -f 1 è un modo semplice per dividere ogni riga con ':' come delimitatore ed estrarre solo il primo campo (utenti). Praticamente uguale alla versione awk.

Elenca tutti i gruppi

cut -d':' -f 1 /etc/group

Oppure

awk -F ':' '{print $1}' /etc/group

Indovina un po', molto simile all'elenco degli utenti. Basta analizzare /etc/group invece.

Un altro modo interessante, forse più vicino a ciò che voleva OP, è compgen . Non sono sicuro dei problemi di compatibilità però.

compgen -u
compgen -g

Linux
  1. Utenti e Gruppi

  2. Cluster utenti e gruppi

  3. Converti tutto il testo da maiuscolo a minuscolo e viceversa?

  4. Come elencare tutti gli utenti che hanno effettuato l'accesso

  5. Come configurare SSH per limitare utenti/gruppi con direttive di autorizzazione e di negazione

Utenti e gruppi LDAP

Come elencare utenti e gruppi su Linux

Quali caratteristiche ci sono in Zsh e mancano da Bash o viceversa?

Come creare utenti e gruppi in CentOS7?

Crea, gestisci ed elimina utenti e gruppi in Active Directory

Puoi mostrare/elencare tutti gli attributi estesi e come?