Podręcznik FreeBSD
Poprzedni | Rozdział 13. Użytkownicy i podstawy zarządzania kontami | Następny

# 13.8. Grupy

Grupa jest po prostu listą użytkowników. Grupy identyfikowane są na podstawie nazwy grupy oraz numeru GID (ang. Group ID). We FreeBSD (i w większości innych systemów UNIX®), dwoma czynnikami wykorzystywanymi przez jądro do określenia czy dany proces jest uprawniony do danej czynności jest identyfikator użytkownika (UID) oraz lista grup, do których użytkownik należy. W przeciwieństwie do UID, proces dysponuje listą grup powiązanych z nim. W różnych źródłach możemy przeczytać, że pewne rzeczy odnoszą się do “identyfikatora grupy” użytkownika bądź procesu; w większości przypadków oznacza to po prostu pierwszą grupę na liście.

Odwzorowanie nazwy grupy na identyfikator grupy znajduje się w pliku `/etc/group`. Jest to prosty plik tekstowy z czterema polami oddzielonymi dwukropkiem. Pierwsze pole zawiera nazwę grupy, drugie zaszyfrowane hasło, trzecie identyfikator grupy a czwarte listę członków grupy oddzielonych przecinkami. Plik ten można śmiało edytować ręcznie (zakładając oczywiście, że nie popełnimy żadnych błędów składniowych!). Szczegółowy opis składni pliku znaleźć można na stronie podręcznika systemowego group(5).

Jeśli nie chcemy ręcznie edytować pliku `/etc/group`, by dodawać i usuwać grupy, możemy wykorzystać polecenie pw(8). Przykładowo, by dodać grupę o nazwie `teamtwo` a następnie potwierdzić, że została dodana możemy użyć:

Przykład 13-7. Dodawanie grupy za pomocą pw(8)

    # pw groupadd teamtwo
    # pw groupshow teamtwo
    teamtwo:*:1100:

Numer `1100` powyżej jest identyfikatorem grupy `teamtwo`. W chwili obecnej grupa ta nie zawiera żadnych członków i tym samym jest raczej bezużyteczna. Zmieńmy to zapraszając do grupy użytkownika `jru`.

Przykład 13-8. Dodawanie użytkownika do grupy za pomocą pw(8)

    # pw groupmod teamtwo -M jru
    # pw groupshow teamtwo
    teamtwo:*:1100:jru

Parametrem opcji `-M` jest lista użytkowników oddzielonych przecinkami, którzy są członkami grupy. Z poprzednich sekcji wiemy, że plik haseł również zawiera przypisaną grupę dla każdego użytkownika. Jest to grupa, do której użytkownik został automatycznie dodany przez system. Taki użytkownik nie zostanie wyświetlony jako członek grupy gdy wykorzystamy polecenie pw(8) `groupshow`, jednakże wciąż będzie wyświetlany przy użyciu polecenia id(1) bądź innego podobnego narzędzia. Innymi słowy, pw(8) manipuluje jedynie plikiem `/etc/group` i nigdy nie spróbuje odczytać dodatkowych informacji z pliku `/etc/passwd`.

Przykład 13-9. Wykorzystanie id(1) do określenia członkostwa w grupach

    % id jru
    uid=1001(jru) gid=1001(jru) groups=1001(jru), 1100(teamtwo)

Jak widzimy, `jru` jest członkiem grup `jru` i `teamtwo`.

Więcej informacji o poleceniu pw(8) znaleźć można w jego podręczniku systemowym. Natomiast szczegółowe informacje o formacie pliku `/etc/group` znajdują się w podręcznik group(5).

Poprzedni | Spis treści | Następny
Ograniczanie użytkowników | Początek rozdziału | Security

Ten i inne dokumenty można pobrać z ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/.

W przypadku pytań o FreeBSD prosimy przeczytać dostępną dokumentację przed kontaktem z <questions@FreeBSD.org>.
W sprawie zapytań o tę dokumentację prosimy o kontakt z <doc@FreeBSD.org>.