Praca użytkownika w powłoce – Logowanie, monitorowanie i informacje o użytkownikach

Wstęp

W systemach Linux praca w powłoce (shellu) to podstawowy sposób interakcji z systemem. Użytkownicy logują się, wykonują polecenia, monitorują działające procesy oraz sprawdzają informacje o swoich kontach i sesjach. W tej lekcji zapoznamy się z komendami służącymi do logowania, wylogowywania oraz monitorowania aktywności użytkowników. Omówimy polecenia:

  • login – inicjuje proces logowania,
  • logout – kończy sesję użytkownika,
  • w – wyświetla informacje o aktywnych użytkownikach oraz statystyki systemowe,
  • who – pokazuje listę zalogowanych użytkowników,
  • whoami – podaje nazwę aktualnie zalogowanego użytkownika,
  • users – wypisuje nazwy wszystkich użytkowników aktualnie zalogowanych,
  • finger – udostępnia szczegółowe informacje o użytkownikach.

Cele Lekcji

Po ukończeniu lekcji będziesz umiał/a:

  • Zrozumieć proces logowania i wylogowywania w powłoce Linux.
  • Korzystać z poleceń w, who, whoami, users oraz finger w celu uzyskania informacji o zalogowanych użytkownikach.
  • Interpretować dane wyjściowe tych poleceń, takie jak nazwa terminala (TTY), czas aktywności (IDLE), czas procesora (JCPU, PCPU) oraz nazwa aktualnie uruchomionego procesu (WHAT).
  • Samodzielnie wykonać ćwiczenia praktyczne w terminalu, aby utrwalić zdobytą wiedzę.

Część teoretyczna

Logowanie i Wylogowywanie

  • login: Proces logowania użytkownika do systemu. Po uruchomieniu systemu użytkownik musi podać swoją nazwę oraz hasło, aby uzyskać dostęp do powłoki.
  • logout: Polecenie lub akcja, która kończy sesję użytkownika, wylogowując go z powłoki.

Polecenie w

Polecenie w wyświetla informacje o aktualnie zalogowanych użytkownikach oraz ogólne statystyki systemu. Przykładowy wynik może wyglądać następująco:

8:43pm  up 13 min,  3 users,  load average: 0.07, 0.20, 0.20
USER     TTY      FROM       LOGIN@   IDLE   JCPU   PCPU  WHAT
user1    tty1     :0         8:43pm   2:00   0.02s  0.02s bash
user2    tty2     192.168.1.5 8:45pm   1:30   0.03s  0.03s vim
user3    tty3     :0         8:50pm   0.10s  0.01s  0.01s top

Interpretacja pól:

  • USER: Nazwa użytkownika.
  • TTY: Nazwa terminala, na którym użytkownik jest zalogowany.
  • FROM: Źródło logowania (adres IP, nazwa hosta lub lokalny terminal).
  • LOGIN@: Godzina logowania.
  • IDLE: Czas, jaki upłynął od ostatniej aktywności (np. naciśnięcia klawisza).
  • JCPU: Całkowity czas procesora wykorzystany przez wszystkie programy w danej sesji terminala.
  • PCPU: Czas procesora wykorzystywany przez bieżący proces.
  • WHAT: Nazwa lub polecenie aktualnie wykonywanego procesu.

Polecenie who

Polecenie who pokazuje listę użytkowników aktualnie zalogowanych do systemu wraz z czasem logowania i nazwą terminala.

  • who – wyświetla standardową listę, np.:
root    tty01    Dec 13 12:42
user1   tty02    Dec 13 12:50
  • who am i – wyświetla informacje dotyczące twojej bieżącej sesji logowania.

Polecenie whoami

Polecenie whoami zwraca nazwę użytkownika, na którego konto jesteś aktualnie zalogowany. Jest to szybki sposób na sprawdzenie własnego identyfikatora.

Polecenie users

Polecenie users wypisuje nazwy wszystkich użytkowników, którzy są aktualnie zalogowani do systemu, w jednej linii.

Polecenie finger

Polecenie finger dostarcza szczegółowych informacji o użytkownikach, takich jak:

  • Nazwa logowania (Login Name)
  • Pełne imię i nazwisko (In real life)
  • Katalog domowy (Directory)
  • Powłoka (Shell)
  • Czas logowania (On since)
  • Informacje o poczcie (No unread mail)
  • Inne dane personalne
    Przykładowe użycie:
finger user1

Ćwiczenia

Ćwiczenie 1: Sprawdzenie statusu logowania

  1. Uruchom terminal.
  2. Wpisz polecenie w i przeanalizuj wyświetlone informacje.
  3. Zwróć uwagę na pola: USER, TTY, LOGIN@, IDLE, JCPU, PCPU oraz WHAT.

Ćwiczenie 2: Użycie polecenia who

  1. W terminalu wpisz who i zapisz, ilu użytkowników jest aktualnie zalogowanych.
  2. Następnie użyj who am i i porównaj wynik z poleceniem whoami.

Ćwiczenie 3: Sprawdzenie swojej nazwy użytkownika

  1. Wpisz polecenie whoami i zanotuj wynik.
  2. Upewnij się, że wynik odpowiada twojemu loginowi, który używasz do pracy w systemie.

Ćwiczenie 4: Lista wszystkich zalogowanych użytkowników

  1. Użyj polecenia users i sprawdź, jakie nazwy użytkowników są wyświetlone.
  2. Porównaj wynik z wyjściem polecenia who.

Ćwiczenie 5: Uzyskiwanie szczegółowych informacji o sobie

  1. Wpisz polecenie finger bez parametrów, aby zobaczyć informacje o wszystkich użytkownikach.
  2. Następnie wpisz finger <twoja_nazwa> (np. finger janek), aby uzyskać szczegółowe informacje o swoim koncie.
  3. Zwróć uwagę na pola takie jak Directory, Shell i On since.

Ćwiczenie 6: Analiza i interpretacja wyników

  1. Uruchom polecenie w i zapisz wynik.
  2. Na podstawie zapisanego wyniku, opisz, co oznaczają poszczególne kolumny (USER, TTY, FROM, LOGIN@, IDLE, JCPU, PCPU, WHAT).
  3. Wyjaśnij, jak load average wpływa na działanie systemu i co oznaczają podane wartości.

Ćwiczenie 7: Porównanie who i users

  1. Wpisz w terminalu polecenia who oraz users.
  2. Zinterpretuj różnice między wynikami, zwracając uwagę, że who podaje więcej szczegółowych informacji.

Podsumowanie

W tej lekcji poznaliśmy podstawowe polecenia związane z pracą użytkownika w powłoce Linux. Komendy w, who, whoami, users oraz finger pozwalają administratorom i użytkownikom na monitorowanie stanu systemu oraz uzyskiwanie szczegółowych informacji o zalogowanych kontach. Ćwiczenia pomogą Ci utrwalić te umiejętności, a zrozumienie wyjść tych poleceń jest kluczowe przy diagnozowaniu problemów systemowych oraz zarządzaniu sesjami użytkowników.