Z uporabnikom root vsaka operacija teče brez omejitev, zato lahko tudi napačno vtipkan ukaz ali vdrto geslo povzroči hudo škodo (glej: Dostop root: kaj pomeni in kakšno odgovornost prinaša?). Zato je priporočljivo delati z lastnim uporabnikom in pravice le za skrbniška opravila, za posamezen ukaz, povišati s sudo.
Spodnje korake izvedi kot uporabnik root. V primerih je ime uporabnika janos; zamenjaj ga s svojim.
1. Ustvarjanje uporabnika
AlmaLinux, Rocky Linux:
useradd -m janos
passwd janos
-m ustvari lastni imenik uporabnika (/home/janos), passwd pa zahteva novo geslo.
Ubuntu, Debian:
adduser janos
adduser ustvari tudi imenik in takoj zahteva geslo ter nekaj neobveznih podatkov (ime, telefonsko številko), ki jih lahko preskočiš z Enter.
2. Dodelitev pravic sudo
Pravice sudo dodeliš z vključitvijo v ustrezno skupino. Ime skupine se razlikuje od distribucije do distribucije:
# AlmaLinux, Rocky Linux
usermod -aG wheel janos
# Ubuntu, Debian
usermod -aG sudo janos
Stikalo -a je pomembno: brez njega bi uporabnik izpadel iz vseh drugih skupin. Izpis skupin in preverjanje članstva predstavlja članek Izpis uporabnikov in skupin v Linuxu.
Če v Debianu ukaza sudo ni mogoče najti, ga najprej namesti (glej: Ubuntu/Debian – odprava napake “sudo: command not found”).
3. Preverjanje
Preklopi na novega uporabnika in preizkusi sudo:
su - janos
sudo whoami
Pri prvem ukazu sudo sistem zahteva lastno geslo uporabnika (ne gesla root). Če je izpis root, nastavitev deluje. Z ukazom exit se vrneš k uporabniku root.
4. Kopiranje ključa SSH
Če se kot root prijavljaš s ključem SSH, je treba ključ nastaviti tudi novemu uporabniku. Najpreprosteje ga s svojega računalnika naložiš z ukazom ssh-copy-id:
ssh-copy-id janos@vps.ip.cime
Če prijava z geslom na strežniku ni omogočena, ključe uporabnika root kopiraj na strežniku, kot uporabnik root:
mkdir -p /home/janos/.ssh
cp /root/.ssh/authorized_keys /home/janos/.ssh/
chown -R janos:janos /home/janos/.ssh
chmod 700 /home/janos/.ssh
chmod 600 /home/janos/.ssh/authorized_keys
Dovoljenja so pomembna: če lahko imenik .ssh ali datoteko authorized_keys piše še kdo, strežnik SSH ključ prezre. Več o dovoljenjih: Dovoljenja datotek (chmod, chown) v Linuxu.
V novem oknu terminala preizkusi prijavo:
ssh janos@vps.ip.cime
5. Onemogočanje prijave root
Če se lahko prijaviš z novim uporabnikom in deluje tudi sudo, lahko onemogočiš prijavo SSH uporabnika root. Korake opisuje članek Varnostne nastavitve strežnika SSH.
Med spremembo pusti obstoječo povezavo SSH odprto in jo zapri šele, ko se v novem oknu uspešno prijaviš z novim uporabnikom. Tako lahko ob napaki nastavitev vrneš.
Drugi uporabni ukazi
# Skupine uporabnika
id janos
# Sprememba gesla
sudo passwd janos
# Zaklep uporabnika (ne more se prijaviti), nato odklep
sudo usermod -L janos
sudo usermod -U janos
# Brisanje uporabnika skupaj z njegovim imenikom
sudo userdel -r janos
Urejanje nastavitev sudo
Nastavitve sudo vsebujeta datoteka /etc/sudoers in imenik /etc/sudoers.d/. Vedno jih urejaj z ukazom visudo, ker pred shranjevanjem preveri sintakso; zaradi napačne datoteke sudoers nihče ne bi mogel uporabljati sudo. Stikala sudo, beleženje in pogoste pasti predstavlja članek Uporaba ukaza sudo s primeri.
sudo visudo -f /etc/sudoers.d/janos
Na primer, če sme uporabnik brez gesla znova zagnati le eno storitev:
janos ALL=(root) NOPASSWD: /usr/bin/systemctl restart nginx
Nastavitve NOPASSWD ne navedi za vse ukaze (ALL), ker če uporabnikov račun ali ključ SSH pride v napačne roke, pride z njim tudi celoten strežnik.