Podstawy Linux #4: Tworzenie użytkownika na serwerze

Domyślnie logujesz się jako root — konto z pełnymi uprawnieniami. To niebezpieczne na co dzień, bo każda pomyłka (np. rm -rf /) zadziała bez ostrzeżenia. Dlatego tworzymy osobnego użytkownika z uprawnieniami sudo.
Krok 1: Zaloguj się jako root
ssh root@ADRES_IP_SERWERA
Krok 2: Utwórz użytkownika
adduser roman
Komenda poprosi o: 1. Hasło (wymagane — wpisz silne hasło) 2. Pełne imię i nazwisko (opcjonalne — Enter żeby pominąć) 3. Numer pokoju (Enter) 4. Telefon służbowy (Enter) 5. Telefon domowy (Enter) 6. Inne (Enter) 7. Potwierdzenie: Y
💡 Podpowiedź
adduser to przyjazna wersja useradd — automatycznie tworzy katalog domowy i pyta o dane. Na Debian/Ubuntu zawsze używaj adduser.
Krok 3: Dodaj do grupy sudo
usermod -aG sudo roman
Teraz roman może wykonywać komendy administratorskie z przedrostkiem sudo.
Krok 4: Dodaj do grupy docker (opcjonalnie)
Jeśli planujesz uruchamiać kontenery Docker:
usermod -aG docker roman
⚠️ Uwaga
Członkostwo w grupie docker daje praktycznie uprawnienia roota. Dodawaj tylko użytkowników, którym ufasz.
Krok 5: Przetestuj użytkownika
Przełącz się na nowe konto:
su - roman
Sprawdź uprawnienia sudo:
sudo ls -la /root
Przy pierwszym użyciu sudo musisz podać hasło tego użytkownika (nie roota).
💡 Podpowiedź
Jeśli widzisz zawartość /root — wszystko działa. Jeśli dostajesz “is not in the sudoers file” — wróć na konto root (exit) i powtórz krok 3.
💡 Opcjonalnie: wyłączenie hasła przy sudo
Jeśli logujesz się kluczem SSH (a powinieneś!), możesz wyłączyć pytanie o hasło przy sudo. Wygodne, bo nie musisz wpisywać hasła przy każdym sudo apt update.
Na serwerze, jako root lub przez sudo:
sudo visudo
Na końcu pliku dodaj (zamień roman na swoją nazwę użytkownika):
roman ALL=(ALL) NOPASSWD: ALL
Zapisz (CTRL+O, Enter, CTRL+X). Jeśli visudo otworzy vim zamiast nano, użyj :wq żeby zapisać i wyjść. Możesz ustawić domyślny edytor: sudo EDITOR=nano visudo.
Ważne: rób to tylko jeśli logowanie hasłem SSH jest wyłączone i korzystasz z klucza. Wtedy klucz SSH jest Twoją “bramą wejściową” i dodatkowe hasło przy sudo nie daje dużo. Ale jeśli ktoś inny ma dostęp do serwera — zostaw hasło przy sudo jako dodatkową warstwę ochrony.
Krok 6: Wyloguj się i zaloguj jako użytkownik
Wpisz exit dwa razy (raz z su, raz z SSH), a następnie:
ssh roman@ADRES_IP_SERWERA
Krok 7: Skopiuj klucz SSH do użytkownika
Żeby logować się kluczem (bez hasła), skopiuj klucz publiczny:
# Z lokalnego komputera:
ssh-copy-id -i ~/.ssh/moj-serwer.pub roman@ADRES_IP_SERWERA
Potem zaktualizuj ~/.ssh/config na lokalnym komputerze:
Host moj-serwer
HostName ADRES_IP_SERWERA
User roman
IdentityFile ~/.ssh/moj-serwer
Od teraz:
ssh moj-serwer
Loguje Cię jako roman bez hasła.
Podsumowanie kroków
adduser roman— utwórz użytkownikausermod -aG sudo roman— daj uprawnienia adminausermod -aG docker roman— (opcjonalnie) dostęp do Dockera- Przetestuj:
su - roman→sudo ls /root ssh-copy-id— skopiuj klucz SSH- Zaktualizuj
~/.ssh/config
Teraz, gdy masz bezpieczny dostęp do serwera, czas nauczyć się poruszać po systemie plików — następna lekcja.
Zabezpieczenie serwera (wyłączenie roota, fail2ban) opisuje lekcja 009.






