Android

Jak wyświetlić listę grup w systemie Linux

Tworzenie grup i użytkowników w Linux

Tworzenie grup i użytkowników w Linux

Spisu treści:

Anonim

W systemie Linux grupa to zbiór użytkowników. Głównym celem grup jest zdefiniowanie zestawu uprawnień, takich jak uprawnienia do odczytu, zapisu lub wykonywania dla danego zasobu, które mogą być współużytkowane przez użytkowników w grupie. Użytkownicy mogą być dodawani do istniejącej grupy w celu korzystania z uprawnień, które przyznaje.

W tym samouczku wyjaśniono, jak pokazać wszystkie grupy, których członkiem jest użytkownik. Wyjaśnimy również, jak wyświetlić listę wszystkich członków grupy.

Grupy Linux

Istnieją dwa typy grup, do których użytkownik może należeć:

  • Grupa podstawowa lub grupa logowania - to grupa przypisana do plików tworzonych przez użytkownika. Zwykle nazwa grupy podstawowej jest taka sama jak nazwa użytkownika. Każdy użytkownik musi należeć do dokładnie jednej grupy podstawowej.

    Grupa drugorzędna lub dodatkowa - służy do nadawania określonych uprawnień zestawowi użytkowników. Użytkownik może być członkiem zerowej lub większej liczby grup drugorzędnych.

Lista wszystkich grup, których członkiem jest użytkownik

Istnieje wiele sposobów na znalezienie grup, do których należy użytkownik.

Grupa głównego użytkownika jest przechowywana w /etc/passwd , a dodatkowe grupy, jeśli istnieją, są wymienione w /etc/group .

Jednym ze sposobów znajdowania grup użytkowników jest wyświetlenie zawartości tych plików przy użyciu cat , less lub grep . Inną łatwiejszą opcją jest użycie polecenia, którego celem jest dostarczenie informacji o użytkownikach i grupach systemu.

Korzystanie z polecenia groups

Najbardziej zapadającym w pamięć poleceniem listy wszystkich grup, do których należy użytkownik, jest polecenie groups . Wykonane bez argumentu polecenie wydrukuje listę wszystkich grup, do których należy aktualnie zalogowany użytkownik:

groups

Pierwsza grupa jest grupą podstawową.

john adm cdrom sudo dip plugdev lpadmin sambashare

Aby uzyskać listę wszystkich grup, do których należy dany użytkownik, podaj nazwę użytkownika jako polecenie groups :

groups linuxize

Tak jak poprzednio pierwsza grupa jest grupą podstawową.

linuxize: linuxize sudo

Za pomocą polecenia id

Komenda id informacje o określonym użytkowniku i jego grupach. Jeśli nazwa użytkownika zostanie pominięta, pokazuje informacje dla bieżącego użytkownika.

Na przykład, aby uzyskać informacje o linuxize użytkownika, wpisz:

id linuxize

Polecenie wyświetli nazwę użytkownika ( uid ), grupę podstawową użytkownika ( gid ) i grupy pomocnicze użytkownika ( groups )

uid=1001(linuxize) gid=1001(linuxize) groups=1001(linuxize), 27(sudo)

Aby wydrukować tylko nazwy bez identyfikatora użytkownika i grupy, użyj opcji -n . Opcja -g spowoduje wydrukowanie tylko grupy podstawowej i -G wszystkich grup.

Następujące polecenie wyświetli nazwy grup, do których należy bieżący użytkownik:

id -nG

john adm cdrom sudo dip plugdev lpadmin sambashare

Lista wszystkich członków grupy

Aby wyświetlić listę wszystkich członków grupy, użyj polecenia getent group a następnie nazwy grupy.

Na przykład, aby znaleźć członków grupy z developers nazw, użyj następującego polecenia:

getent group developers

Jeśli grupa istnieje, polecenie wydrukuje grupę i wszystkich jej członków:

developers:x:126:frank, mary

Jeśli nie ma danych wyjściowych, oznacza to, że grupa nie istnieje.

Wyświetl wszystkie grupy

Aby wyświetlić wszystkie grupy obecne w systemie, wystarczy otworzyć /etc/group . Każda linia w tym pliku reprezentuje informacje dla jednej grupy.

less /etc/group

Inną opcją jest użycie komendy getent która wyświetla wpisy z baz danych skonfigurowanych w pliku /etc/nsswitch.conf , w tym bazy danych group których możemy użyć do zapytania o listę wszystkich grup.

Aby uzyskać listę wszystkich grup, wpisz następujące polecenie:

getent group

Dane wyjściowe są takie same jak podczas wyświetlania zawartości /etc/group . Jeśli używasz LDAP do uwierzytelnienia użytkownika, getent wyświetli wszystkie grupy z /etc/group i bazy danych LDAP.

Możesz także użyć awk lub cut aby wydrukować tylko pierwsze pole zawierające nazwę grupy:

getent group | awk -F: '{ print $1}'

getent group | cut -d: -f1

Wniosek

W tym samouczku nauczyłeś się znajdować grupy, do których należy użytkownik. Te same polecenia dotyczą każdej dystrybucji Linuksa, w tym Ubuntu, CentOS, RHEL, Debian i Linux Mint.

Jeśli masz jakieś pytania, zostaw komentarz.

terminal