CodeGym /Kursy /Docker SELF /Zarządzanie grupami: tworzenie, dodawanie i usuwanie użyt...

Zarządzanie grupami: tworzenie, dodawanie i usuwanie użytkowników z grup (`groupadd`, `usermod -aG`, `groups`)

Docker SELF
Poziom 2 , Lekcja 2
Dostępny

Zarządzanie grupami: tworzenie, dodawanie i usuwanie użytkowników z grup groupadd, usermod -aG, groups

1. Wprowadzenie do grup w Linuxie

Grupy w systemie operacyjnym Linux pozwalają łączyć użytkowników według ich zainteresowań, obowiązków lub innych kryteriów i przypisywać im wspólne prawa dostępu. Dziś przeanalizujemy, jak pracować z grupami, dodawać użytkowników i zarządzać nimi sensownie. Gotowi? No to jazda!

Zacznijmy od życiowej analogii. Wyobraźcie sobie, że gracie w grę online, gdzie są gildie. W każdej gildii są członkowie, którzy mają dostęp do wspólnych zasobów: magazynu, czatu i pokoi strategicznych. W Linuxie grupy pełnią tę samą rolę. Grupy pozwalają:

  1. Usprawnić zarządzanie dostępem do plików i zasobów dla wielu użytkowników naraz.
  2. Podzielić użytkowników na zespoły w zależności od ich roli lub zadania.
  3. Zminimalizować ból głowy administratora systemu.

Kiedy system sprawdza, czy użytkownik może uzyskać dostęp do pliku, patrzy na trzy poziomy praw: właściciel pliku, grupa i inni. Jeśli użytkownik należy do grupy przypisanej do pliku i grupa ma odpowiednie prawa dostępu, użytkownik jest zadowolony, a administrator szczęśliwy.


2. Podstawowe komendy do zarządzania grupami

Linux udostępnia kilka prostych i mocnych narzędzi do pracy z grupami: groupadd, usermod, groups, groupdel i gpasswd. Przeanalizujemy je krok po kroku.

1. Tworzenie nowych grup groupadd

Tworzenie nowej grupy w systemie jest bardzo proste. Do tego używa się komendy groupadd. Na przykład, jeśli chcemy stworzyć grupę o nazwie developers, wykonaj poniższe polecenie:

sudo groupadd developers

I gotowe! Grupa została utworzona. Aby upewnić się, że rzeczywiście istnieje, możesz zajrzeć do pliku /etc/group — to coś w rodzaju książki adresowej dla wszystkich grup w systemie:

cat /etc/group | grep developers

Zobaczysz linię w stylu:

developers:x:1001:

Co tu jest czym:

  • developers — nazwa grupy.
  • x — pole na hasło (zwykle nieużywane).
  • 1001 — unikalny Group ID (GID).
  • Puste miejsce po drugim dwukropku — tutaj dodawani są użytkownicy grupy.
Żart na rozluźnienie:

Jeśli GID to numer telefonu grupy, to /etc/group jest jej książką telefoniczną.


2. Dodawanie użytkownika do grupy usermod -aG

Teraz zatrudnimy programistów do naszej nowej grupy developers. Do tego używa się komendy usermod z opcją -aG. Na przykład, dodajemy użytkownika john:

sudo usermod -aG developers john

Warto zapamiętać:

  • Opcja -a oznacza append (dodaj). Jeśli ją pominiesz, przypadkowo usuniesz użytkownika ze wszystkich grup oprócz wskazanej.
  • Opcja -G wskazuje grupę, do której dodajemy użytkownika.

Sprawdzić, w jakich grupach znajduje się użytkownik, można za pomocą komendy groups:

groups john

Albo bardziej szczegółowo, używając komendy id:

id john

Wynik będzie wyglądał mniej więcej tak:

uid=1002(john) gid=1002(john) groups=1002(john),1001(developers)

3. Usuwanie użytkownika z grupy

Kiedy ktoś z twoich "programistów" zdecyduje się zmienić zawód na baristę, należy usunąć go z grupy. Do tego używa się komendy gpasswd:

sudo gpasswd -d john developers

Po tym użytkownik john nie będzie już częścią grupy developers. Nie zapomnij sprawdzić za pomocą groups john, aby upewnić się, że oficjalnie odszedł.


4. Usuwanie grup groupdel

Jeśli grupa nie jest już potrzebna, można ją usunąć za pomocą komendy groupdel. Na przykład:

sudo groupdel developers
Uwaga!

Jeśli w grupie pozostali użytkownicy, nie wpłynie to na nich. Po prostu przestaną mieć możliwość odwoływania się do tej grupy.


3. Zadanie praktyczne

Spróbujmy w praktyce stworzyć i skonfigurować grupy jak prawdziwi administratorzy.

Scenariusz:

  1. Utwórz grupę designers.
  2. Utwórz dwóch nowych użytkowników: alice i bob.
  3. Dodaj tych użytkowników do grupy designers.
  4. Sprawdź, czy użytkownicy naprawdę zostali dodani do grupy.
  5. Usuń użytkownika alice z grupy designers.

Rozwiązanie:

Krok 1. Utwórz grupę

sudo groupadd designers

Krok 2. Utwórz użytkowników

sudo adduser alice
sudo adduser bob

Krok 3. Dodaj użytkowników do grupy

sudo usermod -aG designers alice
sudo usermod -aG designers bob

Krok 4. Sprawdź dodanie

groups alice
groups bob

Krok 5. Usuń alice z grupy

sudo gpasswd -d alice designers

4. Cechy i typowe błędy

Praca z grupami to jak opieka nad kociętami: niby wszystko banalne i proste, ale wystarczy chwila nieuwagi, a już jest chaos:

  1. Opcja -aG. Zapomnisz dodać -a, i przypadkowo usuniesz użytkownika ze wszystkich grup poza nową. To szczególnie "zabawne", jeśli ten użytkownik należał do grupy systemowej, jak sudo.

  2. Zmiany wchodzą w życie po ponownym zalogowaniu. Jeśli użytkownik nie widzi nowej grupy od razu po dodaniu — nie panikuj! Musi się wylogować i zalogować ponownie, by uzyskać nowe uprawnienia.

  3. Przestrzegaj zasad nazewnictwa. Nie używaj w nazwach grup spacji ani znaków specjalnych. Nazwy takie jak awesome@group działają kiepsko i sprawiają, że administratorzy cierpią.

  4. Sprawdzaj prawa dostępu. Grupa utworzona i dodana? Super, ale jeśli pliki nie mają odpowiednich uprawnień dla grupy, użytkownicy będą zawiedzeni. Przyjmij to jako zasadę: uprawnienia sprawdza się i nadaje oddzielnie.

W prawdziwym życiu

W prawdziwych projektach zarządzanie grupami wykorzystuje się, aby:

  • Dzielić uprawnienia dostępu do zasobów serwera pomiędzy deweloperów, testerów i administratorów.
  • Konfigurować wspólne katalogi robocze dla zespołów.
  • Zarządzać dostępem do baz danych, plików konfiguracyjnych, skryptów i, oczywiście, ekspresu do kawy (no dobra, tutaj Linux na razie nie pomoże).

Teraz, kiedy wiesz, jak tworzyć i zarządzać grupami w Linux, jesteś gotowy na eleganckie i efektywne administrowanie swoim systemem.

Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION