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?
- UID (User ID) — unikalny identyfikator użytkownika.
- GID (Group ID) — unikalny identyfikator głównej grupy użytkownika.
- 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
rootzawsze 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
sudopozwala 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
- Otwórz terminal.
Wykonaj komendę:
whoamiSprawdź swoją nazwę użytkownika.
- Uruchom komendę
sudo su(poprosi Cię o podanie hasła), a potem znowu wykonajwhoami, żeby zobaczyć, pod jakim użytkownikiem pracujesz.
Badanie informacji o użytkowniku
Wykonaj komendę:
Zobacz, jaki Twój użytkownik ma UID, GID i do jakich grup należy.idUtwórz nowego użytkownika (jeśli masz dostęp do komendy
sudo):sudo adduser testuserPotem wykonaj:
id testuser
Analiza przynależności do grup
Wykonaj:
groupsZwróć uwagę, do jakich grup Twój użytkownik należy.
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
Wielu początkujących myli
whoamiiid. Pamiętajcie:whoamipokazuje tylko nazwę bieżącego użytkownika, aiddostarcza bardziej szczegółowych informacji o uprawnieniach i grupach.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.Polecenie
idz 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.
GO TO FULL VERSION