15%

Zaoszczędź 15% na wszystkich usługach hostingowych

Sprawdź swoje umiejętności i uzyskaj zniżkę na dowolny plan hostingowy

Użyj kodu:

Skills
Rozpocznij
02.01.2026

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.
  • 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)

su - username
  • – (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:

su -

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)

sudo -i

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:

sudo -iu username

Uruchom pojedyncze polecenie jako inny użytkownik (nieinteraktywne)

sudo -u

sudo -u username whoami
sudo -u postgres psql

Uruchom z czystym środowiskiem podobnym do logowania:

sudo -iu username

Uruchom polecenie jako root

sudo systemctl restart nginx

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:

ps -eo user,pid,cmd | grep nginx

Lub:

ps -p <PID> -o user,group,cmd

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:

systemctl cat myservice.service

Szukaj:

  • User=

  • Group=

Przykład nadpisania (bezpieczna metoda):

sudo systemctl edit myservice.service

Dodaj:

[Service]
User=myuser
Group=mygroup

Zastosuj:

sudo systemctl daemon-reload
sudo systemctl restart myservice.service

Zweryfikuj:

systemctl status myservice.service
ps -eo user,pid,cmd | grep myservice

Zmień własność plików (zmiana „użytkownika” dla plików)

chown (zmiana właściciela)

Zmień właściciela:

sudo chown username file.txt

Zmień właściciela i grupę:

sudo chown username:groupname file.txt

Rekurencyjnie (bądź ostrożny):

sudo chown -R username:groupname /var/www/site

Zachowaj symlinki (unikaj zmiany celów linków):

sudo chown -h username:group symlink

Zaawansowana wskazówka: Dla dużych drzew, najpierw podgląd:

find /path -maxdepth 2 -printf '%u:%g %pn' | head

Zmień swoją aktualną tożsamość powłoki a zmiana samego konta

Potwierdź, kim jesteś

whoami
id

Potwierdź, kto jest zalogowany

who
w

Zobacz, który użytkownik uruchomił bieżącą powłokę za pomocą sudo

echo $USER
echo $SUDO_USER

Zmień nazwę użytkownika, UID, grupy (modyfikacja konta)

Zmień nazwę użytkownika (nazwa użytkownika)

sudo usermod -l newname oldname

Również przenieś/zmień nazwę katalogu domowego:

sudo usermod -d /home/newname -m newname

Zaktualizuj również nazwę grupy (opcjonalnie):

sudo groupmod -n newname oldname

Zmień UID (zaawansowane; wpływa na własność plików)

sudo usermod -u 2001 username

Po zmianie UID, napraw własność plików:

sudo find / -user oldUID -exec chown -h username {} ;

Dodaj użytkownika do grupy (np. sudo)

sudo usermod -aG sudo username # Debian/Ubuntu
sudo usermod -aG wheel username # RHEL/Alma/Rocky

Zweryfikuj:

id username

Szybka „ściągawka”

Przełącz użytkownika:

su - user
sudo -iu user

Uruchom polecenie jako inny użytkownik:

sudo -u user command

Uruchom powłokę root:

sudo -i

Zmień właściciela pliku:

sudo chown -R user:group /path

Zmień szczegóły konta:

sudo usermod -l new old
sudo usermod -d /home/new -m new
sudo usermod -aG
sudo user
15%

Zaoszczędź 15% na wszystkich usługach hostingowych

Sprawdź swoje umiejętności i uzyskaj zniżkę na dowolny plan hostingowy

Użyj kodu:

Skills
Rozpocznij