Wiem, że istnieje plik /etc/group
, który zawiera listę wszystkich grup użytkowników.
Chciałbym się dowiedzieć, czy istnieje prosta komenda do wylistowania wszystkich nazw grup użytkowników pomimo parsowania czytelnego dla świata pliku /etc/group
. Jestem gotów stworzyć stronę administratora, która będzie zawierała listę kont' grup.
Aby wyświetlić listę wszystkich grup lokalnych, do których przypisani są użytkownicy, użyj tego polecenia:
cut -d: -f1 /etc/group | sort
Aby uzyskać więcej info- > Grupy uniksowe, polecenie cut, polecenie sort.
Jeśli chcesz aby wszystkie grupy były znane w systemie, zalecałbym użycie getent
zamiast parsowania /etc/group
. W systemach sieciowych, grupy mogą być nie tylko odczytywane z pliku /etc/group
ale także otrzymywane poprzez LDAP lub Yellow Pages, tzn. lista znanych grup pochodzi z lokalnego pliku grup plus grupy otrzymywane poprzez LDAP lub YP.
getent group
da ci listę wszystkich grup w tym samym formacie, w jakim używa plik /etc/group
.
Jeśli chcesz tylko nazwy grup, getent group | cut -d: -f1
wykona to zadanie (tak samo jak powyżej).
W systemach Linux, macOS i Unix, aby wyświetlić grupy, do których należysz, użyj:
id -Gn
co jest odpowiednikiem narzędzia groups
, które zostało przestarzałe w Uniksie (zgodnie z Unix manual).
Na macOS i Uniksie, polecenie id -p
jest sugerowane dla normalnej interakcji.
Objaśnienie parametrów:
-G
,--groups
- drukuj wszystkie identyfikatory grup.
-n
,--name
- drukuj nazwę zamiast liczby, dla-ugG
.
-p
- Sprawia, że wyjście jest czytelne dla człowieka.