CodeGym /Kursy /Docker SELF /Sprawdzanie bieżących uprawnień: komendy `whoami`, `id`

Sprawdzanie bieżących uprawnień: komendy `whoami`, `id`

Docker SELF
Poziom 2 , Lekcja 3
Dostępny

1. Kim jestem w systemie? Komenda whoami

Każdy użytkownik Linuxa działa na konkretnym koncie, które ma swoje uprawnienia, ograniczenia i przynależność do grup. W tym wykładzie nauczysz się sprawdzać, z jakiego konta korzystasz, jakie masz uprawnienia i do jakich grup należysz. Znajomość aktualnych parametrów użytkownika jest ważna zarówno w codziennej pracy, jak i przy rozwiązywaniu kwestii bezpieczeństwa, administracji i debugowania.

Gdy pracujesz w systemie Linux, warto wiedzieć, z jakiego konta aktualnie korzystasz. Na przykład, jeśli przypadkowo zalogujesz się na konto uprzywilejowanego użytkownika (root), możesz dokonać nieodwracalnych zmian w plikach systemowych. Aby uniknąć takich sytuacji, istnieje komenda whoami.

Składnia

whoami

Co robi ta komenda?

Komenda whoami wyświetla nazwę aktualnego użytkownika, pod którym działa system. Odpowiada na kluczowe pytanie: "Kim jestem?"

Przykład

$ whoami
student

W tym przypadku wyjście student oznacza, że jesteś zalogowany jako użytkownik o nazwie student. Gdybyś pracował jako użytkownik z podwyższonymi uprawnieniami (na przykład root), wyjście wyglądałoby tak:

$ whoami
root

Dlaczego to jest ważne?

Wyobraź sobie sytuację, że używasz komendy do usuwania wszystkich plików z katalogu (na przykład rm -rf /important_directory). Jako zwykły użytkownik system może cię ograniczyć, jeśli nie masz odpowiednich uprawnień. Natomiast, jeśli działasz jako użytkownik root, system wykona twoją komendę bez wahania. Komenda whoami pomaga uniknąć takich nieprzyjemnych sytuacji.


2. Szczegółowe badanie informacji o użytkowniku: komenda id

Znanie swojej nazwy użytkownika — spoko, ale to za mało, żeby w pełni zrozumieć swoje prawa i przywileje w systemie. Do bardziej szczegółowych informacji służy komenda id.

Składnia

id [użytkownik]

Jeśli nie podasz nazwy użytkownika, komenda id pokaże informacje o aktualnym użytkowniku. Jeśli wpiszesz nazwę innego użytkownika, możesz sprawdzić szczegóły jego konta.

Co wyświetla komenda id?

  1. UID (User ID) — unikalny identyfikator użytkownika.
  2. GID (Group ID) — unikalny identyfikator głównej grupy użytkownika.
  3. Lista grup — wszystkie grupy, do których należy użytkownik (w tym główna).

Przykład

$ id
uid=1001(student) gid=1001(student) grupy=1001(student),27(sudo),1002(developers)
  • UID=1001: To unikalny identyfikator aktualnego użytkownika (student). W systemach Linux UID użytkownika root zawsze wynosi 0.
  • GID=1001: To identyfikator głównej grupy użytkownika (student).
  • Grupy=1001(student), 27(sudo), 1002(developers): Tutaj wymienione są dodatkowe grupy, do których należy użytkownik. Na przykład grupa sudo pozwala studentowi wykonywać komendy w imieniu uprzywilejowanego użytkownika.

Jeśli uruchomimy komendę dla innego użytkownika:

$ id user2
uid=1002(user2) gid=1002(user2) grupy=1002(user2),1001(developers)

Widać, że użytkownik user2 należy do grupy developers.


3. Użycie UID i GID w praktycznej pracy

Każdemu użytkownikowi i grupie przypisane są odpowiednie identyfikatory numeryczne (UID i GID). Odgrywają one kluczową rolę w systemie, często zastępując tekstowe nazwy użytkowników i grup. Po co to jest?

  • Niektóre procesy systemowe działają bezpośrednio z identyfikatorami numerycznymi dla zwiększenia wydajności.
  • Prawa dostępu do plików i folderów określane są nie według nazw użytkowników czy grup, lecz ich UID i GID.
  • W plikach konfiguracyjnych i logach (na przykład /etc/passwd) możesz spotkać nie nazwy użytkowników, lecz ich UID.

4. Badamy grupy za pomocą groups

Dodatkowo możesz użyć polecenia groups, aby dowiedzieć się, do jakich grup należy bieżący użytkownik.

Składnia

groups [użytkownik]

Pomijając nazwę użytkownika, otrzymasz listę grup dla bieżącego konta. Podając nazwę użytkownika, dowiesz się, jakie grupy przypisane są do wskazanego użytkownika.

Przykład:


$ groups
student developers sudo

$ groups user2
user2 developers

5. Praca z komendami

A teraz trochę praktyki, żeby utrwalić zdobytą wiedzę.

Sprawdzanie obecnego użytkownika

  1. Otwórz terminal.
  2. Wykonaj komendę:

    whoami
    

    Sprawdź swoją nazwę użytkownika.

  3. Uruchom komendę sudo su (poprosi Cię o podanie hasła), a potem znowu wykonaj whoami, żeby zobaczyć, pod jakim użytkownikiem pracujesz.

Badanie informacji o użytkowniku

  1. Wykonaj komendę:

    id
    
    Zobacz, jaki Twój użytkownik ma UID, GID i do jakich grup należy.
  2. Utwórz nowego użytkownika (jeśli masz dostęp do komendy sudo):

    sudo adduser testuser
    

    Potem wykonaj:

    id testuser
    

Analiza przynależności do grup

  1. Wykonaj:

    groups
    

    Zwróć uwagę, do jakich grup Twój użytkownik należy.

  2. Dodaj obecnego użytkownika do nowej grupy:

    sudo groupadd testgroup
    sudo usermod -aG testgroup $(whoami)
    

    Sprawdź wynik:

    groups
    

6. Typowe błędy i trudne momenty

  1. Wielu początkujących myli whoami i id. Pamiętajcie: whoami pokazuje tylko nazwę bieżącego użytkownika, a id dostarcza bardziej szczegółowych informacji o uprawnieniach i grupach.

  2. Jeśli nie masz uprawnień administratora (dostępu do sudo), możesz nie mieć możliwości dodawania użytkowników do grup lub zmieniania ich ustawień. W takich przypadkach skontaktuj się z administratorem systemu.

  3. Polecenie id z podaniem nieistniejącego użytkownika zwróci błąd:

    $ id nonexistinguser
    id: ‘nonexistinguser’: no such user
    

Teraz wiesz, jak sprawdzić, który użytkownik jest obecnie aktywny, z jakimi uprawnieniami i dostępami pracuje. Polecenia whoami i id wydają się proste, ale odgrywają kluczową rolę w zrozumieniu systemu użytkowników i praw dostępu w Linuksie. W praktycznej pracy często będziesz ich używać do diagnozowania problemów, sprawdzania uprawnień i konfiguracji użytkowników.

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