4 būdai išjungti pagrindinę paskyrą sistemoje „Linux“.


Root paskyra yra pagrindinė paskyra „Linux“ ir kitose „Unix“ tipo operacinėse sistemose. Ši paskyra turi prieigą prie visų komandų ir failų sistemoje su visais skaitymo, rašymo ir vykdymo leidimais. Jis naudojamas bet kokiai užduočiai sistemoje atlikti; Norėdami sukurti/atnaujinti/pasiekti/ištrinti kitų vartotojų paskyras, įdiegti/pašalinti/atnaujinti programinės įrangos paketus ir dar daugiau.

Kadangi root naudotojas turi absoliučią galią, bet kokie jo atliekami veiksmai yra labai svarbūs sistemoje. Šiuo atžvilgiu bet kokios root vartotojo padarytos klaidos gali turėti didelės įtakos normaliam sistemos veikimui. Be to, šia paskyra taip pat gali būti piktnaudžiaujama naudojant ją netinkamai arba netinkamai atsitiktinai, piktybiškai arba dėl sugalvoto politikos ignoravimo.

Todėl patartina išjungti pagrindinę prieigą savo Linux serveryje, o vietoj to sukurti administracinę paskyrą, kuri turėtų būti sukonfigūruota taip, kad gautų root vartotojo teises naudojant komandą sudo, kad būtų galima atlikti svarbias užduotis serveryje.

Šiame straipsnyje paaiškinsime keturis būdus, kaip išjungti root vartotojo abonementą sistemoje Linux.

Dėmesio: prieš blokuodami prieigą prie root paskyros, įsitikinkite, kad sukūrėte administracinę paskyrą, kuri gali naudoti komandą sudo, kad įgytų root paskyrą. vartotojo privilegijas, naudodami komandą useradd ir suteikite šiai vartotojo paskyrai tvirtą slaptažodį. Vėliava -m reiškia sukurti vartotojo namų katalogą, o -c leidžia nurodyti komentarą:

useradd -m -c "Admin User" admin
passwd admin

Tada pridėkite šį vartotoją prie atitinkamos sistemos administratorių grupės naudodami komandą usermod, kur jungiklis -a reiškia pridėti vartotojo abonementą, o -G nurodo grupę, kurią norite pridėti in (ratas arba sudo, priklausomai nuo jūsų Linux platinimo):

usermod -aG wheel admin    #CentOS/RHEL
usermod -aG sudo admin     #Debian/Ubuntu 

Sukūrę vartotoją su administratoriaus teisėmis, perjunkite į tą paskyrą, kad užblokuotumėte šakninę prieigą.

su admin

1. Pakeiskite root vartotojo apvalkalą

Paprasčiausias būdas išjungti root vartotojo prisijungimą yra pakeisti jo apvalkalą iš /bin/bash arba /bin/bash (arba bet kurio kito apvalkalo, leidžiančio vartotojui prisijungti) į /sbin/nologin faile /etc/passwd, kurį galite atidaryti ir redaguoti naudodami bet kurią mėgstamiausią komandų eilutės redaktorių, kaip parodyta.

  
sudo vim /etc/passwd

Pakeiskite eilutę:

root:x:0:0:root:/root:/bin/bash
to
root:x:0:0:root:/root:/sbin/nologin

Išsaugokite failą ir uždarykite jį.

Nuo šiol, kai prisijungs root vartotojas, jis gaus pranešimą „Ši paskyra šiuo metu nepasiekiama.“ Tai yra numatytasis pranešimas, tačiau galite pakeiskite jį ir nustatykite tinkintą pranešimą faile /etc/nologin.txt.

Šis metodas veiksmingas tik toms programoms, kurioms reikalingas apvalkalas vartotojui prisijungti, kitu atveju sudo, ftp ir el. pašto klientai gali pasiekti šakninę paskyrą.

2. Išjunkite pagrindinį prisijungimą per konsolės įrenginį (TTY)

Antrasis metodas naudoja PAM modulį, pavadintą pam_securetty, kuris leidžia root prieigą tik tada, kai vartotojas prisijungia prie „saugaus“ TTY, kaip apibrėžta /etc/securetty sąraše.

Aukščiau pateiktame faile galite nurodyti, prie kurių TTY įrenginių šakninis vartotojas gali prisijungti, o ištuštėjus šį failą neleidžiama prisijungti prie jokiuose prie kompiuterio sistemos prijungtuose įrenginiuose.

Norėdami sukurti tuščią failą, paleiskite.

sudo mv /etc/securetty /etc/securetty.orig
sudo touch /etc/securetty
sudo chmod 600 /etc/securetty

Šis metodas turi tam tikrų apribojimų, jis veikia tik tokias programas kaip prisijungimas, ekrano tvarkyklės (t. y. gdm, kdm ir xdm) ir kitas tinklo paslaugas, kurios paleisti TTY. Tokios programos kaip su, sudo, ssh ir kiti susiję openssh įrankiai turės prieigą prie šakninės paskyros.

3. Išjunkite SSH Root Login

Dažniausias būdas pasiekti nuotolinius serverius arba VPS yra per SSH, o norėdami užblokuoti pagrindinio vartotojo prisijungimą prie jo, turite redaguoti failą /etc/ssh/sshd_config.

sudo vim /etc/ssh/sshd_config

Tada atšaukite direktyvą PermitRootLogin (jei ji komentuojama) ir nustatykite jos vertę į no, kaip parodyta ekrano kopijoje.

Baigę išsaugokite ir uždarykite failą. Tada iš naujo paleiskite sshd paslaugą, kad pritaikytumėte naujausius konfigūracijų pakeitimus.

sudo systemctl restart sshd 
OR
sudo service sshd restart 

Kaip jau tikriausiai žinote, šis metodas veikia tik openssh įrankių rinkinį, tokioms programoms kaip ssh, scp, sftp bus užblokuota prieiga prie šakninės paskyros.

4. Apriboti šakninę prieigą prie paslaugų per PAM

Prijungiami autentifikavimo moduliai (trumpiau PAM) yra centralizuotas, prijungiamas, modulinis ir lankstus autentifikavimo metodas Linux sistemose. PAM, naudodamas /lib/security/pam_listfile.so modulį, leidžia labai lanksčiai apriboti konkrečių paskyrų privilegijas.

Aukščiau pateiktas modulis gali būti naudojamas norint nurodyti vartotojų, kuriems neleidžiama prisijungti naudojant kai kurias tikslines paslaugas, tokias kaip prisijungimas, ssh ir bet kokias PAM žinas programas, sąrašą.

Šiuo atveju norime išjungti root vartotojo prieigą prie sistemos, apribodami prieigą prie prisijungimo ir sshd paslaugų. Pirmiausia atidarykite ir redaguokite tikslinės paslaugos failą /etc/pam.d/ kataloge, kaip parodyta.


sudo vim /etc/pam.d/login
OR
sudo vim /etc/pam.d/sshd

Tada pridėkite toliau pateiktą konfigūraciją abiejuose failuose.

auth    required       pam_listfile.so \
        onerr=succeed  item=user  sense=deny  file=/etc/ssh/deniedusers

Baigę išsaugokite ir uždarykite kiekvieną failą. Tada sukurkite paprastą failą /etc/ssh/deniedusers, kurio eilutėje turėtų būti vienas elementas ir kuris neturėtų būti skaitomas visame pasaulyje.

Įtraukite vardo šaknį, tada išsaugokite ir uždarykite.

sudo vim /etc/ssh/deniedusers

Taip pat nustatykite reikiamus leidimus.

sudo chmod 600 /etc/ssh/deniedusers

Šis metodas veikia tik tas programas ir paslaugas, kurias žino PAM. Galite blokuoti pagrindinę prieigą prie sistemos naudodami ftp ir el. pašto programas ir kt.

Norėdami gauti daugiau informacijos, žr. atitinkamus vadovo puslapius.

man pam_securetty
man sshd_config
man pam

Tai viskas! Šiame straipsnyje paaiškinome keturis būdus, kaip išjungti pagrindinio vartotojo prisijungimą (arba paskyrą) sistemoje „Linux“. Jei turite kokių nors pastabų, pasiūlymų ar klausimų, susisiekite su mumis naudodami toliau pateiktą atsiliepimų formą.