Is er een commando om alle Unix groepsnamen op te sommen?
Ik weet dat er een /etc/group
bestand is met een lijst van alle gebruikersgroepen.
Ik zou graag willen weten of er een eenvoudig commando is om een lijst te maken van alle gebruikersgroepen, ondanks dat ik het wereld leesbare /etc/group
bestand moet parsen. Ik wil een beheerder webpagina maken die een lijst maakt van Linux accounts' groepsnamen.
597
3
Om een lijst te maken van alle lokale groepen waaraan gebruikers zijn toegewezen, gebruikt u dit commando:
Voor meer info- > Unix groepen, Cut commando, sorteer commando
Als je alle groepen bekend wilt hebben in het systeem, zou ik aanraden om
getent
te gebruiken in plaats van/etc/group
te parsen. Op netwerk systemen, kunnen groepen niet alleen uit/etc/group
bestand gelezen worden, maar ook verkregen via LDAP of Gouden Gids, d.w.z. de lijst van bekende groepen komt uit het lokale groepsbestand plus groepen ontvangen via LDAP of YP.getent group
geeft je een lijst van alle groepen in hetzelfde formaat als het/etc/group
bestand gebruikt.Als je alleen de namen van de groepen wilt hebben, kun je
getent group | cut -d: -f1
gebruiken (hetzelfde als hierboven).Op Linux, macOS en Unix om de groepen weer te geven waartoe u behoort, gebruikt u:
wat gelijkwaardig is aan
groups
utility die op Unix verouderd is (volgens Unix manual).Op macOS en Unix, wordt het commando
id -p
voorgesteld voor normaal interactief.Uitleg van de parameters: