Tworzenie użytkowników i grup, konfigurowanie uprawnień dostępu, zarządzanie procesami
1. Postawienie zadania
Więc mamy przed sobą intensywną praktyczną pracę, w której będziecie mogli zastosować całą wiedzę z poprzednich wykładów. Będziemy tworzyć użytkowników, łączyć ich w grupy, nadawać unikalne uprawnienia dostępu i zarządzać procesami w systemie. I jeśli myślisz: "No i po co mi to wszystko?", wyobraź sobie, że jesteś administratorem systemu albo DevOps-inżynierem, i musisz skonfigurować serwer dla współpracy zespołu. Albo po prostu uratować swój komputer przed chaosem! W prawdziwym świecie takie sytuacje zdarzają się całkiem często.
Twój cel — skonfigurować system dla następujących użytkowników i procesów:
- Utworzyć dwóch użytkowników:
user1
iuser2
. Będą oni wspólnie pracować w grupiedevelopers
. - Skonfigurować plik (na przykład
project.txt
) w taki sposób, żeby tylko członkowie grupydevelopers
mogli go edytować. - Utworzyć kilka procesów (na przykład za pomocą polecenia
sleep
) i nauczyć się je kończyć w razie potrzeby. - Przejrzeć aktywne procesy, żeby określić, które z nich zużywają najwięcej zasobów.
Brzmi jak plan? Zrealizujmy go krok po kroku.
2. Krok 1: Tworzenie użytkowników
1. Tworzymy użytkowników
Na początek stworzymy dwóch użytkowników:
sudo adduser user1
sudo adduser user2
Przy wykonywaniu tych poleceń system poprosi Cię o ustawienie hasła i opisanie każdego użytkownika. Nie musimy tutaj wypełniać dodatkowych danych, można po prostu nacisnąć Enter.
Każdemu użytkownikowi automatycznie tworzony jest katalog domowy w /home
. Możesz to sprawdzić:
ls /home
Jeśli pracujesz lokalnie, nie zapomnij użyć sudo
, żeby uzyskać uprawnienia administratora. A jeśli jesteś w WSL, bądź gotowy, że mogą być tam pewne niuanse z użytkownikami. Na przykład w WSL domyślny użytkownik jest już administratorem systemu.
3. Krok 2: Tworzenie grupy i dodawanie użytkowników
1. Tworzymy grupę
Aby użytkownicy mogli wspólnie pracować nad projektami, dodamy ich do grupy. Najpierw utwórzmy grupę developers
:
sudo groupadd developers
2. Dodajemy użytkowników do grupy
Teraz dodamy użytkowników user1
i user2
do grupy developers
. Użyjemy komendy usermod
do tego zadania:
sudo usermod -aG developers user1
sudo usermod -aG developers user2
3. Sprawdzamy członkostwo w grupie
Aby upewnić się, że użytkownicy zostali poprawnie dodani do grupy, wykonaj:
groups user1
groups user2
Powinieneś zobaczyć, że user1
i user2
są członkami grupy developers
.
4. Krok 3: Praca z plikami i uprawnieniami dostępu
1. Tworzymy plik dla projektu
Stwórzmy plik project.txt
w katalogu domowym jednego z użytkowników (na przykład user1
):
sudo -u user1 touch /home/user1/project.txt
Komenda sudo -u
pozwala nam wykonywać działania w imieniu innego użytkownika.
2. Zmieniamy właściciela i grupę pliku
Przypiszmy właściciela user1
, a grupę — developers
, aby obaj użytkownicy mieli taki sam dostęp:
sudo chown user1:developers /home/user1/project.txt
3. Konfigurujemy uprawnienia dostępu
Teraz zmienimy uprawnienia dostępu do pliku. Użyjemy komendy chmod
:
sudo chmod 660 /home/user1/project.txt
Co zrobiliśmy? Nadaliśmy właścicielowi user1
i grupie developers
prawa do odczytu i zapisu rw-
, a wszyscy inni użytkownicy nie mają żadnego dostępu.
Możesz sprawdzić uprawnienia dostępu za pomocą komendy ls
:
ls -l /home/user1/project.txt
Oczekiwany wynik:
-rw-rw---- 1 user1 developers 0 data czas /home/user1/project.txt
5. Krok 4: Uruchamianie procesów
1. Uruchamiamy procesy
Dla eksperymentu stworzymy kilka "długowiecznych" procesów za pomocą komendy sleep
:
sleep 300 &
sleep 400 &
sleep 500 &
Każda komenda sleep
jest uruchamiana w tle dzięki symbolowi &
.
Aby sprawdzić listę procesów, użyj komendy ps
:
ps
Więcej informacji można zobaczyć za pomocą ps aux
:
ps aux | grep sleep
6. Krok 5: Zakończenie procesów
1. Zakończenie procesu po PID
Określamy PID jednego z procesów (na przykład, sleep
) i kończymy go:
kill PID
Gdzie PID
— identyfikator procesu, który można znaleźć za pomocą ps
.
2. Zakończenie procesu po nazwie
Jeśli chcesz zakończyć wszystkie procesy sleep
, użyj komendy killall
:
killall sleep
3. Korzystanie z pkill
Jeśli nie pamiętasz dokładnej nazwy procesu, pkill
pomoże zakończyć proces poprzez częściowe dopasowanie nazwy:
pkill slee
7. Krok 6: Monitorowanie procesów
Aby śledzić obciążenie systemu, używaj:
top
— do pracy w czasie rzeczywistym:top
Tutaj możesz obserwować obciążenie procesora, pamięci i aktywne procesy. Użyj kombinacji klawiszy
k
, aby zakończyć proces bezpośrednio z interfejsu.htop
— bardziej wygodny interfejs (jeśli masz go zainstalowanego):
Aby wyjść, naciśnijhtop
F10
.
8. Lista kontrolna
Po wykonaniu wszystkich kroków powinieneś upewnić się, że:
- Utworzono dwóch użytkowników
user1
iuser2
. - Utworzono i skonfigurowano grupę
developers
, do której dodano obu użytkowników. - Utworzono plik
project.txt
, dostępny tylko dla grupydevelopers
. - Utworzono i zakończono kilka procesów za pomocą poleceń
kill
,killall
ipkill
. - Udało Ci się sprawdzić listę procesów za pomocą
ps
,top
lubhtop
.
Jeśli wszystko zostało wykonane — gratulacje! Przeszedłeś przez wszystkie podstawowe etapy zarządzania użytkownikami, grupami, prawami dostępu i procesami w systemie Linux. Niech moc konsoli będzie z Tobą!
GO TO FULL VERSION