Linux — tai atvirojo kodo operacinė sistema, žinoma dėl savo lankstumo, stabilumo ir plačios įrankių, skirtų procesų ir paslaugų valdymui, rinkinio. Vienas iš tokių įrankių yra Systemd, kuris tapo standartiniu sisteminių paslaugų valdymo įrankiu daugelyje šiuolaikinių Linux distribucijų. Vienas iš pagrindinių Systemd privalumų yra jo gebėjimas efektyviai valdyti vykdomas paslaugas ir sisteminius išteklius.
Šiame straipsnyje mes išsamiai aptarsime, kaip naudojant Systemd rodyti visas vykdomas paslaugas, valdyti jas ir stebėti uostus, kuriuos naudoja šios paslaugos. Taip pat aptarsime, kaip naudoti Systemd saugumo stebėjimui per ugniasienę.
Kas yra paslaugų valdymo sistemos Linux?
Linux paslaugų valdymas — tai pagrindinis administravimo aspektas. Svarbu turėti galimybę greitai gauti informaciją apie tai, kurios paslaugos veikia, o kurios baigė darbą arba buvo išjungtos. Tai būtina stebint sistemos našumą ir sprendžiant problemas, jei tokių atsiranda.
Anksčiau paslaugų administravimas buvo vykdomas naudojant init — tradicinį inicializavimo procesą, kuris buvo atsakingas už paslaugų paleidimą sistemos paleidimo metu. Tačiau įdiegus Systemd valdymas tapo lankstesnis ir galingesnis. Systemd pakeitė init ir tapo de facto standartu daugelyje Linux distribucijų, tokių kaip Ubuntu, CentOS ir Fedora.
Kas yra Systemd?
Systemd — tai sisteminis inicializavimo valdytojas, kuris valdo procesus ir paslaugas Linux. Jis buvo sukurtas siekiant padidinti sistemos paleidimo greitį ir pakeisti pasenusią init. Systemd atlieka kelias svarbias funkcijas:
- Paslaugų inicializavimas sistemos paleidimo metu.
- Priklausomybių valdymas tarp paslaugų.
- Paslaugų ir procesų sistemoje būsenos stebėjimas.
- Žurnalavimas (systemd-journald) visų įvykių, susijusių su paslaugomis ir procesais.
Vienas iš pagrindinių Systemd privalumų yra jo suderinamumas su SysV ir senais LSB skriptais, kas leidžia sklandžiai pereiti nuo init naudojimo prie modernesnio paslaugų valdymo.
Kodėl reikia rodyti vykdomas paslaugas?
Žinoti, kurios paslaugos veikia jūsų sistemoje, yra kritiškai svarbu administravimui. Tai leidžia:
- Stebėti išteklių naudojimą: jei paslauga naudoja per daug atminties ar procesoriaus galių, tai gali rodyti problemą.
- Spręsti problemas: sistemos gedimo atveju galima greitai nustatyti, kuri paslauga buvo problemos priežastis.
Optimizuoti našumą: nereikalingas paslaugas galima išjungti arba nustatyti jų paleidimą pagal poreikį, kas sumažins sistemos apkrovą.
Visų paslaugų rodymas Linux per Systemd
Norint rodyti visas paslaugas, kurios yra aktyvios sistemoje, galima naudoti šias komandas:
systemctl list-units --type=service
Šis metodas išves visų sisteminių vienetų, tipo "paslauga", sąrašą, įkeltą į sistemą. Komanda rodo tiek aktyvias, tiek baigusias paslaugas. Norint supaprastinti išvedimą, galima naudoti sutrumpintą komandą:
systemctl --type=service
Kaip rodyti aktyvias paslaugas Systemd
Aktyvios paslaugos — tai tos, kurios arba toliau vykdomos, arba baigė darbą, bet dar nebuvo iškrautos iš atminties. Norint pamatyti visų aktyvių paslaugų sąrašą, reikia vykdyti šią komandą:
systemctl list-units --type=service --state=active
Norint gauti minimalų parametrų išvedimą, galima naudoti alternatyvią komandą:
systemctl --type=service --state=active
Kaip rodyti tik vykdomas paslaugas
Vykdomos paslaugos — tai tos, kurios šiuo metu toliau vykdomos. Norint jas rodyti, naudokite šią komandą:
systemctl list-units --type=service --state=running
Alternatyvi komanda:
systemctl --type=service --state=running
Šios komandos padės sistemų administratoriams greitai gauti informaciją apie tai, kurios paslaugos šiuo metu veikia.
Pagrindiniai terminai Systemd
- Unit (Vienetas) — tai pagrindinė vieneto dalis Systemd. Vienetai gali būti paslaugos, įrenginiai, montavimo taškai, lizdai ir kiti objektai, valdomi sistemos.
- Load (Įkrovimas) — statusas, nurodantis, ar vienetas yra įkeltas į atmintį.
- Active (Aktyvus) — nurodo, ar vienetas yra aktyvus (pavyzdžiui, paslauga yra paleista ir veikia).
- SUB (Poddalys) — patikslintas vieneto statusas, kuris rodo jo dabartinę būseną, pavyzdžiui, "running" (vykdoma) arba "failed" (nesėkmė).
- Description (Aprašymas) — trumpa eilutė, kuri apibūdina vieneto tikslą.
Aliaso kūrimas Systemd komandai
Norint supaprastinti vykdomų paslaugų rodymo komandos iškvietimą, galima sukurti alias. Tai ypač naudinga, jei dažnai tenka vykdyti tą pačią komandą.
Pridėkite šį alias į failą ~/.bashrc:
alias running_services='systemctl list-units --type=service --state=running'
Po šio alias pridėjimo atnaujinkite dabartinę sesiją komanda:
source ~/.bashrc
Dabar galite greitai rodyti vykdomas paslaugas, naudodami komandą
running_services.
Uosto, kuriame klausosi paslauga, nustatymas
Norint sužinoti, kuris uostas naudojamas konkrečios paslaugos, galima naudoti šias komandas:
netstat -ltup | grep <procesas_vardas>
Alternatyvi komanda naudojant ss:
ss -ltup | grep <procesas_vardas>
Šios komandos parodys visus uostus, kuriuose paslaugos klausosi įeinančių ryšių, taip pat informaciją apie pačias paslaugas.
Paslaugų ir uostų, atidarytų ugniasienėje, rodymas
Norint kontroliuoti sistemos saugumą, svarbu žinoti, kurios paslaugos ir uostai yra leidžiami ugniasienėje. Pažvelkime, kaip tai padaryti naudojant skirtingas ugniasienes.
FirewallD
Norint rodyti leidžiamas paslaugas:
firewall-cmd --list-services
Norint rodyti atidarytus uostus:
firewall-cmd --list-ports
UFW
Norint rodyti UFW būseną ir leidžiamų paslaugų bei uostų sąrašą:
sudo ufw status
Šios komandos padės jums nustatyti, kurie uostai ir paslaugos yra leidžiami prieigai iš išorės per ugniasienę.
Išvada
Paslaugų valdymas — tai svarbi Linux sistemų administravimo dalis. Systemd suteikia galingus įrankius paslaugų stebėjimui ir valdymui, todėl jis yra nepakeičiamas šiuolaikiniams administratoriams. Su jo pagalba galima lengvai stebėti aktyvias paslaugas, tikrinti jų būseną ir optimizuoti išteklių naudojimą. Be to, Systemd leidžia integruoti saugumą, stebint uostus ir sąveiką su ugniasiene, kas prisideda prie sistemos apsaugos lygio didinimo.
Taip pat siūlome apsvarstyti kitas naudingas straipsnius: