4 načini za onemogočanje korenskega računa v Linuxu
Korenski račun je najboljši račun za Linux in druge operacijske sisteme, podobne Unixu. Ta račun ima dostop do vseh ukazov in datotek v sistemu s popolnimi dovoljenji za branje, pisanje in izvajanje. Uporablja se za izvajanje kakršnih koli nalog v sistemu; namestiti/odstraniti/nadgraditi programske pakete in še veliko več.
Ker ima korenski uporabnik absolutna pooblastila, so vsa dejanja, ki jih izvede, kritična za sistem. V zvezi s tem lahko vse napake korenskega uporabnika močno vplivajo na normalno delovanje sistema. Poleg tega se lahko ta račun zlorabi tudi, če ga uporabljate nepravilno ali neprimerno, po naključju, zlonamerno ali zaradi navideznega nepoznavanja pravilnikov.
Zato je priporočljivo onemogočiti korenski dostop v strežniku Linux, namesto tega ustvarite skrbniški račun, ki ga je treba konfigurirati tako, da z ukazom sudo pridobi korenske uporabniške pravice za izvajanje kritičnih nalog na strežniku.
V tem članku bomo razložili štiri načine, kako onemogočiti prijavo v korenski uporabniški račun v sistemu Linux.
Pozor: Preden blokirate dostop do korenskega računa, se prepričajte, da ste ustvarili skrbniški račun, ki lahko uporablja ukaz useradd, in temu uporabniškemu računu dajte močno geslo. Zastavica -m
pomeni ustvarjanje domačega imenika uporabnika in -c
omogoča podajanje komentarja:
# useradd -m -c "Admin User" admin # passwd admin
Nato dodajte tega uporabnika v ustrezno skupino sistemskih skrbnikov z ukazom usermod, kjer stikalo -a
pomeni dodajanje uporabniškega računa in -G
določa skupino za dodajanje uporabnika in (kolo ali sudo, odvisno od distribucije Linuxa):
# usermod -aG wheel admin #CentOS/RHEL # usermod -aG sudo admin #Debian/Ubuntu
Ko ustvarite uporabnika s skrbniškimi pravicami, preklopite na ta račun, da blokirate root dostop.
# su admin
1. Spremenite korensko uporabniško lupino
Najenostavnejši način za onemogočanje prijave uporabnika root je, da lupino spremenite iz /bin/bash
ali /bin/bash
(ali katere koli druge lupine, ki dovoljuje prijavo uporabnika) v /sbin/nologin
, v datoteki/etc/passwd, ki jo lahko odprete za urejanje s katerim koli od vaših najljubših urejevalnikov ukazne vrstice, kot je prikazano.
$ sudo vim /etc/passwd
Spremenite vrstico:
root:x:0:0:root:/root:/bin/bash to root:x:0:0:root:/root:/sbin/nologin
Shranite datoteko in jo zaprite.
Od zdaj naprej, ko se uporabnik root prijavi, bo prejel sporočilo\"Ta račun trenutno ni na voljo." To je privzeto sporočilo, vendar ga lahko spremenite in nastavite sporočilo po meri v datoteki /etc/nologin.txt.
Ta metoda je učinkovita samo pri programih, ki zahtevajo lupino za prijavo uporabnikov, sicer lahko odjemalci sudo, ftp in e -pošta dostopajo do korenskega računa.
2. Onemogočite korensko prijavo prek konzolne naprave (TTY)
Druga metoda uporablja modul PAM, imenovan pam_securetty, ki dovoljuje korenski dostop le, če se uporabnik prijavi v "varnem" TTY, kot je opredeljeno v seznamu v /etc /securetty.
Zgornja datoteka vam omogoča, da določite, v katerih napravah TTY se lahko korenski uporabnik prijavi, če izpraznite to datoteko, preprečite korensko prijavo v vseh napravah, priključenih na računalniški sistem.
Če želite ustvariti prazno datoteko, zaženite.
$ sudo mv /etc/securetty /etc/securetty.orig $ sudo touch /etc/securetty $ sudo chmod 600 /etc/securetty
Ta metoda ima nekatere omejitve, vpliva le na programe, kot so prijava, upravitelji zaslonov (tj. Gdm, kdm in xdm) in druge omrežne storitve, ki zaženejo TTY. Programi, kot so su, sudo, ssh in druga sorodna orodja openssh, bodo imeli dostop do korenskega računa.
3. Onemogoči korensko prijavo SSH
Najpogostejši način dostopa do oddaljenih strežnikov ali VPS -jev je prek SSH -ja in za blokiranje prijave uporabnika root pod njim morate urediti datoteko/etc/ssh/sshd_config.
$ sudo vim /etc/ssh/sshd_config
Nato odkomentirajte (če je komentirano) direktivo PermitRootLogin in nastavite njeno vrednost na no
, kot je prikazano na posnetku zaslona.
Ko končate, shranite in zaprite datoteko. Nato znova zaženite storitev sshd, da uporabite nedavno spremembo konfiguracij.
$ sudo systemctl restart sshd OR $ sudo service sshd restart
Kot morda že veste, ta metoda vpliva le na nabor orodij openssh, programi, kot so ssh, scp, sftp, bodo blokirani pri dostopu do korenskega računa.
4. Omejite korenski dostop na storitve prek PAM
Moduli za preverjanje pristnosti, ki jih je mogoče priključiti (na kratko PAM), so centralizirana, priključljiva, modularna in prilagodljiva metoda preverjanja pristnosti v sistemih Linux. PAM prek modula /lib/security/pam_listfile.so omogoča veliko prilagodljivost pri omejevanju privilegijev določenih računov.
Zgornji modul se lahko uporablja za sklicevanje na seznam uporabnikov, ki se ne smejo prijaviti prek nekaterih ciljnih storitev, kot so prijava, ssh in kateri koli program, ki se zaveda PAM.
V tem primeru želimo onemogočiti dostop korenskega uporabnika do sistema z omejitvijo dostopa do storitev za prijavo in sshd. Najprej odprite in uredite datoteko za ciljno storitev v imeniku /etc/pam.d/, kot je prikazano.
$ sudo vim /etc/pam.d/login OR sudo vim /etc/pam.d/sshd
Nato v obe datoteki dodajte spodnjo konfiguracijo.
auth required pam_listfile.so \ onerr=succeed item=user sense=deny file=/etc/ssh/deniedusers
Ko končate, shranite in zaprite vsako datoteko. Nato ustvarite navadno datoteko/etc/ssh /yedusers, ki bi morala vsebovati en element na vrstico in ne bi bila berljiva po vsem svetu.
Vanj dodajte imenski koren, nato ga shranite in zaprite.
$ sudo vim /etc/ssh/deniedusers
Za to nastavite tudi potrebna dovoljenja.
$ sudo chmod 600 /etc/ssh/deniedusers
Ta metoda vpliva le na programe in storitve, ki se zavedajo PAM. Korenski dostop do sistema lahko blokirate prek odjemalcev ftp in e -pošte in še več.
Za več informacij obiščite ustrezne strani za moške.
$ man pam_securetty $ man sshd_config $ man pam
To je vse! V tem članku smo razložili štiri načine onemogočanja prijave (ali računa) korenskega uporabnika v sistemu Linux. Če imate kakršne koli pripombe, predloge ali vprašanja, nam pišite preko spodnjega obrazca za povratne informacije.