Jak zmienić użytkownika w Linuxie?
W systemie Linux fraza „zmień użytkownika” może opisywać kilka różnych działań — niektóre tymczasowe i oparte na sesji, inne trwałe i systemowe. Ponieważ Linux jest systemem operacyjnym zaprojektowanym jako wieloużytkownikowy, oferuje wiele sposobów na przełączanie tożsamości i uprawnień w zależności od tego, co chcesz osiągnąć: administrowanie serwerem, uruchamianie aplikacji z ograniczonymi prawami, rozwiązywanie problemów z dostępem do plików lub restrukturyzacja kont użytkowników.
Zmiana „użytkownika” w systemie Linux może oznaczać kilka różnych rzeczy w zależności od kontekstu:
- Przełączanie na inne konto w powłoce (np. z john na root)
To jest używane, gdy potrzebujesz interaktywnej sesji terminalowej jako inny użytkownik — często do administracji systemem lub testowania, jak coś działa w innym środowisku konta. - Uruchamianie pojedynczego polecenia jako inny użytkownik
Idealne, gdy potrzebujesz tylko podwyższonych uprawnień lub innej tożsamości do jednego zadania (jak ponowne uruchomienie usługi lub uruchomienie polecenia bazy danych) bez pełnego przełączania sesji.
- Przełączanie na inne konto w powłoce (np. z john na root)
- Zmiana domyślnego użytkownika logowania dla usługi/procesu
Usługi (serwery WWW, bazy danych, aplikacje) powinny zazwyczaj działać pod dedykowanymi, nie-rootowymi użytkownikami dla bezpieczeństwa. Zmiana użytkownika usługi wpływa na to, jak proces działa i do czego ma dostęp. - Zmiana właściciela plików i katalogów
Własność plików kontroluje dostęp. Jeśli uprawnienia są błędne — co jest powszechne po migracjach, przywracaniu lub wdrożeniach — „zmieniasz użytkownika” poprzez ponowne przypisanie własności, aby poprawne konto mogło czytać/zapisywać pliki. - Zmiana atrybutów tożsamości użytkownika (nazwa użytkownika, UID, grupy)
To jest zarządzanie kontem: zmiana nazwy użytkownika, zmiana UID lub dostosowanie członkostwa w grupach (np. przyznawanie dostępu sudo). Te zmiany mogą wpływać na logowania, uprawnienia i dostęp do usług.
Ten przewodnik obejmuje wszystkie te scenariusze, pokazując, kiedy używać każdego podejścia, jak to robić bezpiecznie i jakich błędów unikać — abyś mógł pewnie zmieniać użytkowników bez łamania uprawnień, usług lub dostępu.
Przełącz na innego użytkownika (interaktywna powłoka)
su (zmień użytkownika)
– (lub -l) ładuje pełne środowisko logowania docelowego użytkownika: katalog domowy, PATH, profil powłoki.
Bez -, zachowujesz wiele ze swojego aktualnego środowiska (może być mylące).
Przełącz na root:
Uwaga dotycząca bezpieczeństwa: W wielu dystrybucjach, su wymaga hasła docelowego użytkownika (np. hasła root), co jest często wyłączone.
sudo -i (preferowane dla powłok root/admin)
Daje ci powłokę logowania root (podobną do su -), używając twoich praw sudo zamiast hasła root.
Przełącz na innego użytkownika z powłoką logowania:
Uruchom pojedyncze polecenie jako inny użytkownik (nieinteraktywne)
sudo -u
Uruchom z czystym środowiskiem podobnym do logowania:
Uruchom polecenie jako root
Zmień „efektywnego użytkownika” działającego procesu (zaawansowana rzeczywistość)
Linux nie pozwala na „zmianę użytkownika” już działającego procesu w miejscu w większości praktycznych scenariuszy. Zamiast tego zazwyczaj:
ponownie uruchamiasz proces pod odpowiednim użytkownikiem
lub używasz menedżerów usług (systemd), aby zdefiniować użytkownika
Aby sprawdzić, który użytkownik uruchamia proces:
Lub:
Zmień, który użytkownik uruchamia usługę (systemd)
Większość produkcyjnego Linuxa używa systemd. Usługi powinny działać jako dedykowani, nieuprzywilejowani użytkownicy.
Sprawdź konfigurację usługi:
Szukaj:
User=Group=
Przykład nadpisania (bezpieczna metoda):
Dodaj:
Zastosuj:
Zweryfikuj:
Zmień własność plików (zmiana „użytkownika” dla plików)
chown (zmiana właściciela)
Zmień właściciela:
Zmień właściciela i grupę:
Rekurencyjnie (bądź ostrożny):
Zachowaj symlinki (unikaj zmiany celów linków):
Zaawansowana wskazówka: Dla dużych drzew, najpierw podgląd:
Zmień swoją aktualną tożsamość powłoki a zmiana samego konta
Potwierdź, kim jesteś
Potwierdź, kto jest zalogowany
Zobacz, który użytkownik uruchomił bieżącą powłokę za pomocą sudo
Zmień nazwę użytkownika, UID, grupy (modyfikacja konta)
Zmień nazwę użytkownika (nazwa użytkownika)
Również przenieś/zmień nazwę katalogu domowego:
Zaktualizuj również nazwę grupy (opcjonalnie):
Zmień UID (zaawansowane; wpływa na własność plików)
Po zmianie UID, napraw własność plików:
Dodaj użytkownika do grupy (np. sudo)
Zweryfikuj:
Szybka „ściągawka”
Przełącz użytkownika:
Uruchom polecenie jako inny użytkownik:
Uruchom powłokę root:
Zmień właściciela pliku:
Zmień szczegóły konta:
