Ustvarjanje uporabnika in dodelitev pravic sudo v Linuxu

Linux Branje: 2 min

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.

Nazaj: Linux – članki (76)