GNU/Linux >> Znalost Linux >  >> Linux

Zobrazit všechny uživatele a jejich skupiny/naopak

Řešení 1:

Všichni uživatelé:

$ getent passwd

Všechny skupiny:

$ getent group

Všechny skupiny s konkrétním uživatelem:

$ getent group | grep username

Řešení 2:

Seznam uživatelů a jejich skupin:

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

Seznam skupin a jejich uživatelů:

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

Řešení 3:

Pokud se nestaráte o vzdálené uživatele, jako je LDAP nebo NIS, vyjmenujte uživatele a jejich přidružené skupiny jednoduchým způsobem:

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

Výstup;

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

Řešení 4:

Seznam všech uživatelů

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

Nebo

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

Zatímco cat /etc/passwd zobrazí všechny uživatele (a spoustu dalších věcí), cut -d ':' -f 1 je jednoduchý způsob, jak rozdělit každý řádek pomocí ':' jako oddělovače a extrahovat pouze první pole (uživatele). V podstatě stejné jako verze awk.

Vypsat všechny skupiny

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

Nebo

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

Hádejte co, velmi podobné seznamování uživatelů. Stačí analyzovat /etc/group místo toho.

Další zajímavý způsob, možná bližší tomu, co chtěl OP, je compgen . Nejste si však jisti problémy s kompatibilitou.

compgen -u
compgen -g

Linux
  1. Správa uživatelů Linuxu a skupin Linuxu

  2. Jak spravovat oprávnění Linuxu pro uživatele, skupiny a další

  3. Uživatelé a skupiny clusteru

  1. Jak nakonfigurovat SSH pro omezení uživatelů/skupin pomocí direktiv povolení a zakázání

  2. Python skript pro seznam uživatelů a skupin

  3. Upravte položku fstab, aby všichni uživatelé mohli číst a zapisovat na svazek EXT4

  1. Uživatelé a skupiny

  2. Zobrazení seznamu všech úloh „at“ a jejich příslušných příkazů

  3. Získejte všechny přípony a jejich příslušný počet souborů v adresáři