Večina nastavitev strežnika je v besedilnih konfiguracijskih datotekah, ki jih je treba urejati prek SSH, v terminalu. Za to sta se uveljavila dva urejevalnika: preprosti nano, priporočen za začetnike, in vim (ali vi), ki ga najdeš v skoraj vsakem sistemu Linux, a je na prvi pogled nenavaden.
Preden se lotiš konfiguracijske datoteke
Naredi kopijo izvirnika, da ga lahko ob napaki obnoviš:
sudo cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
Za urejanje sistemskih datotek potrebuješ pravice root, zato urejevalnik zaženi s sudo.
nano
Namestitev
Na cloud image AlmaLinux 9 in 10 v preizkusu nano ni bil nameščen; na Ubuntu 24.04 in Debianu 12 je bil (različica 7.2), tam je tudi privzeti urejevalnik. Če ukaza nano ni mogoče najti:
# AlmaLinux, Rocky Linux
sudo dnf install nano
# Ubuntu, Debian
sudo apt install nano
Uporaba
sudo nano /etc/hosts
Prikaže se vsebina datoteke, premikaš se s puščicami in lahko takoj tipkaš. Na dnu zaslona so vidni najpogostejši ukazi; znak ^ pomeni tipko Ctrl, M- pa tipko Alt.
| Tipka | Dejanje |
|---|---|
Ctrl+O, nato Enter |
shranjevanje |
Ctrl+X |
izhod (če nisi shranil, vpraša: Y da, N ne) |
Ctrl+W |
iskanje (naslednji zadetek: Alt+W) |
Ctrl+\ |
iskanje in zamenjava |
Ctrl+K |
izrez trenutne vrstice |
Ctrl+U |
lepljenje izrezane vrstice |
Alt+U |
razveljavitev |
Ctrl+_ |
skok na določeno vrstico (npr. na številko vrstice iz sporočila o napaki) |
Alt+N |
vklop in izklop številk vrstic |
Besedilo s svojega računalnika prilepiš z običajno funkcijo lepljenja terminala (v Windows Terminalu in PuTTY z desnim gumbom miške, v macOS s Cmd+V, v Linuxu s Ctrl+Shift+V).
vim
Vim je na voljo na vsakem strežniku (vsaj pod imenom vi), v AlmaLinux in Rocky Linux pa ga več ukazov (na primer crontab -e ali visudo) odpre privzeto. Če se nepričakovano znajdeš v njem, je ta del dobro poznati.
V AlmaLinux 9 in 10 je privzeto nameščen le paket vim-minimal, ki da ukaz vi; ukaza z imenom vim ni („command not found”). Uporabi ukaz vi (spodnje tipke v njem delujejo enako) ali namesti polni vim: sudo dnf install vim-enhanced. Na Ubuntuju in Debianu je na voljo tudi vim.
Načini
Najpomembnejša posebnost vima je, da ima več načinov delovanja:
- Normalni način: v njem se zažene. Tipke so tu ukazi, ne pišejo besedila.
- Način vstavljanja: vanj vstopiš s tipko
i, takrat lahko tipkaš. Spodaj se prikaže-- INSERT --(ali-- VNOS --v slovenskem vmesniku). - Ukazni način: v normalnem načinu se odpre s tipko
:, spodaj. Tu vneseš ukaze za shranjevanje in izhod.
Tipka Esc te vedno vrne v normalni način.
Urejanje, shranjevanje, izhod
- Odpri datoteko:
sudo vim /etc/hosts(v AlmaLinux brezvim-enhanced:sudo vi /etc/hosts) - S puščicami se premakni na mesto, ki ga želiš spremeniti.
- Pritisni tipko
iin vpiši besedilo. - Pritisni tipko
Esc. - Vpiši
:wq, natoEnter.
| Ukaz (v normalnem načinu) | Dejanje |
|---|---|
:w |
shranjevanje |
:q |
izhod (če ni neshranjenih sprememb) |
:wq ali ZZ |
shranjevanje in izhod |
:q! |
izhod brez shranjevanja, z zavrženjem sprememb |
u |
razveljavitev |
Ctrl+r |
ponovitev (razveljavitev razveljavitve) |
dd |
brisanje (izrez) trenutne vrstice |
yy |
kopiranje trenutne vrstice |
p |
lepljenje pod kazalec |
/szoveg, nato Enter |
iskanje (naslednji zadetek: n) |
gg / G |
skok na začetek / konec datoteke |
:42 |
skok na 42. vrstico |
:set number |
prikaz številk vrstic |
Lepljenje v vim
Če se zamik besedila, prilepljenega v vim, stopničasto zamika, pred lepljenjem vklopi način lepljenja: v normalnem načinu :set paste, nato i in lepljenje. Potem :set nopaste.
Nastavitev privzetega urejevalnika
crontab -e in več drugih ukazov odpre urejevalnik, naveden v okoljski spremenljivki EDITOR. Če želiš vedno uporabljati nano, ga dodaj v svojo datoteko ~/.bashrc:
echo 'export EDITOR=nano' >> ~/.bashrc
source ~/.bashrc
Na Ubuntuju in Debianu lahko sistemsko privzeto izbiro določiš tudi z ukazom sudo update-alternatives --config editor; v preizkusu je bil na obeh nastavljen nano (/etc/alternatives/editor -> /bin/nano).
Po spremembi
Večina storitev spremenjeno konfiguracijo prebere šele po ponovnem zagonu ali ponovnem nalaganju (glej: Upravljanje storitev z ukazom systemctl). Pred tem, če storitev to omogoča, preveri pravilnost nastavitve, na primer:
sudo sshd -t # SSH szerver
sudo nginx -t # Nginx
sudo apachectl -t # Apache