MANIEK Logo Mój Asystent Nauki Informatyki i Egzaminów Klasyfikacyjnych
Logowanie
ASSO / Linux Server / Grupy Linux

12 — Zarządzanie grupami

Czas: 45 min

Cele i treść

Cele:
  • Uczeń wyjaśnia przeznaczenie usługi lub narzędzia w systemie Linux.
  • Uczeń zna najważniejsze pliki i polecenia administracyjne.
  • Uczeń wykonuje konfigurację w terminalu lub narzędziu graficznym.
  • Uczeń testuje działanie usługi i dokumentuje wynik.

Lekcja obejmuje temat: Zarządzanie grupami.

Główne części: Plik konfiguracyjny grup: /etc/group, Rola grup w zarządzaniu uprawnieniami., Grupa podstawowa vs grupy dodatkowe., Polecenia do zarządzania grupami.

Notatka:

Import przygotowany z rozkładu klasy 2. Po imporcie można dopisać własne screeny, załączniki, zadania i kryteria oceniania.

#gpasswd#groupadd#usermod

Punkty lekcji

1 - Plik konfiguracyjny grup: /etc/groupopis

Przeznaczenie: Główny plik systemowy definiujący wszystkie grupy w systemie. Każda grupa ma jeden wiersz.

Struktura rekordu: Każdy wiersz składa się z 4 pól oddzielonych dwukropkami (:):

Nazwa grupy: np. developers, sudo.

Hasło grupy: Historycznie, prawie zawsze zawiera x, oznaczające, że rzeczywiste zaszyfrowane hasło (rzadko używane) jest w /etc/gshadow. Puste pole oznacza, że grupa nie ma hasła.

GID (Group ID): Unikalny numer identyfikacyjny grupy.

0: Zarezerwowane dla grupy root.

1-999: Systemowe grupy usług i systemów.

1000+: Grupy zwykłych użytkowników.

Lista użytkowników: Lista użytkowników należących do tej grupy jako dodatkowej, oddzielona przecinkami. Uwaga: użytkownicy, dla których jest to grupa podstawowa, nie są tutaj wymieniani.

2 - Rola grup w zarządzaniu uprawnieniami.opis

Idea fundamentalna: Uprawnienia w Linuxie nadaje się grupom, a nie pojedynczym użytkownikom. Użytkownicy otrzymują uprawnienia poprzez członkostwo w grupach.

Przykład: Plik serwera WWW należy do użytkownika www-data i grupy www-data. Aby developer mógł edytować ten plik, nie musimy dawać uprawnień "dla wszystkich" (others) ani zmieniać właściciela pliku. Wystarczy dodać tego developera do grupy www-data i ustawić odpowiednie uprawnienia grupy na pliku (np. rw-).

Zasada: Najpierw tworzymy grupę reprezentującą dostęp do zasobu (np. share-finance), potem dodajemy do niej użytkowników, a na końcu ustawiamy własność grupową i uprawnienia na plikach/katalogach.

3 - Grupa podstawowa vs grupy dodatkowe.opis

Grupa podstawowa (Primary Group):

Każdy użytkownik musi mieć jedną grupę podstawową.

Jest domyślnie przypisywana do wszystkich nowych plików i katalogów tworzonych przez tego użytkownika.

Jest wskazana w pliku /etc/passwd (czwarte pole, GID).

Dla zwykłych użytkowników jest to zwykle grupa o nazwie identycznej z loginem, stworzona specjalnie dla nich.

Grupy dodatkowe (Supplementary Groups):

Użytkownik może należeć do ** wielu** grup dodatkowych.

Służą do zdobywania dodatkowych uprawnień w systemie (dostęp do drukarek, urządzeń, plików specyficznych dla danej grupy).

Są wymienione w czwartym polu pliku /etc/group.

Przykład: Użytkownik jannowak ma grupę podstawową jannowak, ale należy też do grup dodatkowych sudo (może używać sudo) i developers (może edytować pliki kodu).

4 - Polecenia do zarządzania grupamikomenda
groupadd – tworzenie nowej grupy.

Składnia: sudo groupadd [OPCJE] NAZWA_GRUPY

Opcja -g GID: pozwala ręcznie ustawić GID (np. sudo groupadd -g 1234 testgroup).

groupmod – modyfikacja istniejącej grupy.

Składnia: sudo groupmod [OPCJE] NAZWA_GRUPY

Opcja -n NOWA_NAZWA: zmienia nazwę grupy (np. sudo groupmod -n programmers developers).

Opcja -g NOWY_GID: zmienia GID grupy.

groupdel – usuwanie grupy.

Składnia: sudo groupdel NAZWA_GRUPY

Uwaga: Nie można usunąć grupy, która jest grupą podstawową jakiegokolwiek istniejącego użytkownika.

5 - Dodawanie i usuwanie użytkowników do/z grupkomenda

Dodawanie: sudo usermod -aG NAZWA_GRUPY NAZWA_UŻYTKOWNIKA

-a (append) jest BARDZO WAŻNE. Nakazuje dołączyć użytkownika do nowej grupy, a nie zastąpić jego obecną listę grup dodatkowych. Pominięcie tej opcji to częsty błąd początkujących.

-G (groups) określa, do jakiej grupy (grup) dodajemy.

Usuwanie: sudo gpasswd -d NAZWA_UŻYTKOWNIKA NAZWA_GRUPY

Polecenie gpasswd jest przeznaczone do administracji grupami.

Opcja -d (delete) usuwa użytkownika z podanej grupy.

6 - Utworzenie nowej grupy developers (groupadd developers).opis

Do uzupełnienia.

7 - Dodanie istniejącego użytkownika do grupy developers (usermod -aG developers [username]).opis

Do uzupełnienia.

8 - Sprawdzenie, do jakich grup należy użytkownik (groups [username] lub id [username]).opis

Do uzupełnienia.

9 - Usunięcie użytkownika z grupy (gpasswd -d [username] developers).,opis

Do uzupełnienia.

10 - Ćwiczenia praktyczneopis

Do uzupełnienia.

11 - Ćwiczenie 1: Utworzenie nowej grupy developers.zadanie

Cel: Praktyczne użycie polecenia groupadd.

Kroki:

Otwórz terminal.

Wykonaj komendę tworzącą grupę:

sudo groupadd developers

Zweryfikuj, czy grupa została utworzona, przeszukując plik /etc/group:

grep developers /etc/group

Powinieneś zobaczyć wiersz podobny do: developers:x:1002:, gdzie 1002 to nadany automatycznie GID.

12 - Ćwiczenie 2: Dodanie istniejącego użytkownika do grupy developers.zadanie

Cel: Zrozumienie i poprawne zastosowanie kluczowej opcji -aG w poleceniu usermod.

Kroki:

Utwórz lub wybierz istniejącego użytkownika (np. student01 z poprzednich ćwiczeń). Jeśli go nie ma, utwórz: sudo adduser student01.

Najpierw sprawdź, do jakich grup należy użytkownik:

groups student01

Zapisz wynik dla późniejszego porównania.

Dodaj użytkownika do grupy developers:

sudo usermod -aG developers student01

(Pamiętaj: -a dołacz, -G określa listę grup)

Aby zmiana obowiązywała w bieżącej sesji, możesz uruchomić:

newgrp developers

lub po prostu wylogować się i zalogować ponownie.

13 - Ćwiczenie 3: Sprawdzenie, do jakich grup należy użytkownik.zadanie

Cel: Nauka weryfikacji członkostwa w grupach za pomocą różnych poleceń.

Kroki:

Sprawdź członkostwo użytkownika student01 po wykonaniu poprzedniego ćwiczenia.

Polecenie groups:

groups student01

Wyświetli prostą listę nazw grup, do których należy użytkownik, np.: student01: student01 developers

Polecenie id:

id student01

Wyświetli bardziej szczegółowe informacje: UID, GID (grupy podstawowej) oraz listę GID wszystkich grup (podstawowej i dodatkowych), np.: uid=1001(student01) gid=1001(student01) groups=1001(student01),1002(developers)

Porównaj wyniki z zapisanym stanem początkowym. Powinna pojawić się nowa grupa developers.

14 - Ćwiczenie 4: Usunięcie użytkownika z grupy.zadanie

Cel: Poznanie poprawnej metody usuwania użytkownika z grupy dodatkowej.

Kroki:

Wykonaj komendę usuwającą użytkownika student01 z grupy developers:

sudo gpasswd -d student01 developers

Spodziewany output: Removing user student01 from group developers

Zweryfikuj, czy operacja się powiodła:

groups student01

lub

id student01

Grupa developers powinna zniknąć z listy grup użytkownika.

Powiązane arkusze i pytania

Arkusze

Brak powiązanych arkuszy.

Pytania

Brak powiązanych pytań.