Ako spustiť, zastaviť a reštartovať služby v systéme Linux pomocou príkazu systemctl

Systémové služby zohrávajú kľúčovú úlohu vo fungovaní systému Linux, pričom na pozadí riešia rôzne úlohy a procesy. systemctl> je výkonný nástroj príkazového riadka, ktorý používateľom umožňuje efektívne spravovať tieto služby. V tomto článku preskúmame základy používania systemctl> spustiť, zastaviť, reštartovať, povoliť, zakázať a zobraziť stav služieb v prostredí Linuxu.

čo je systemctl?

Predtým, ako sa pustíte do správy služieb, je nevyhnutné porozumieť základom systemctl> . Tento príkaz sa používa na ovládanie správcu systému a služieb, ktorý je ústredným komponentom moderných distribúcií Linuxu.

systemctl [command] [unit] 

Tu,

  • command> : Akcia, ktorá sa má vykonať (napr. spustiť, zastaviť, reštartovať, povoliť, zakázať).
  • unit> : Služba alebo jednotka, ktorá má byť ovplyvnená.

Systemctl je radič resp užitočnosť Systemd (inicializačný systém so sadou programov spúšťaných na pozadí), s pomocnými službami v riadení. Tieto príkazy sa vykonávajú v režime root, ak nie ste v režime rootovania systému a požadujúc heslo používateľa root.

čo je služba?

Služba vo výpočtovej technike je proces na pozadí, ktorý vykonáva špecifické úlohy a funkcie bez zásahu používateľa. Služby sa často spúšťajú automaticky počas zavádzania systému a bežia nepretržite, aby poskytovali funkcie, ako sú webové služby, zdieľanie súborov alebo monitorovanie systému. Sú riadené operačným systémom a možno ich spustiť, zastaviť alebo reštartovať podľa potreby. Služby pomáhajú zabezpečiť, aby boli základné operácie neustále dostupné. Príklady zahŕňajú webové servery ako napr Apache, databázové servery ako MySQL, a služby protokolovania systému.

Čo je to démon?

Démon je proces na pozadí, ktorý nepretržite beží v systéme Linux alebo Unix. Vykonáva úlohy bez priamej interakcie používateľa, pričom sa často spúšťa automaticky pri štarte. Bežné príklady zahŕňajú webové servery, databázové servery a nástroje na monitorovanie systému. Démoni majú zvyčajne mená končiace na d, napr httpd> alebo sshd> . Pomáhajú efektívne riadiť systémové funkcie a služby.

Čo je iniciačný systém?

Systém init je prvý proces, ktorý sa spustí pri spustení systému Linux a je zodpovedný za inicializáciu systému. Riadi systémové služby a procesy, riadi ich spustenie, zastavenie a reštart. Bežné init systémy zahŕňajú SysVinit, Upstart a systemd. Systém init zabezpečuje, že všetky potrebné služby bežia správne a spravuje závislosti medzi nimi. Naďalej beží na pozadí, aby monitoroval a spravoval systémové procesy počas prevádzky systému.

Jednotky v systemd

V systemd sú jednotky základnými objektmi, ktoré systemd spravuje a kontroluje. Predstavujú systémové prostriedky, ako sú služby, časovače, zariadenia a body pripojenia. Každá jednotka je definovaná konfiguračným súborom so špecifickou príponou, napr .service> za služby resp .timer> pre časovače. Jednotky je možné spustiť, zastaviť, povoliť alebo zakázať pomocou príkazov systemctl. Sú nevyhnutné na definovanie spôsobu zavádzania systému a riadenia rôznych procesov a zdrojov.

.servisné jednotky v systemd

Systemd .service> jednotky sú konfiguračné súbory používané na správu služieb v systémoch Linux. Definujú, ako a kedy sa majú služby spustiť, zastaviť a reštartovať. Každý .service> obsahuje podrobnosti, ako je názov služby, popis a príkaz na spustenie. Tieto súbory sa zvyčajne nachádzajú v /etc/systemd/system> alebo /lib/systemd/system> . Ich riadenie zahŕňa príkazy ako systemctl start> , systemctl stop> , a systemctl enable> .

Ako nájsť všetky systémové jednotky v systéme?

Ak chcete zobraziť zoznam dostupných systémových jednotiek alebo zobraziť zoznam všetkých služieb v systéme Linux, použijeme nasledujúci príkaz:

systemctl list-unit-files --type service -all 

Ako spustiť systémovú službu v systéme Linux

Syntax:

sudo systemctl start service.service 

Príkaz štart slúži na spustenie (aktiváciu) jednej alebo viacerých jednotiek zadaných na príkazovom riadku.

Príklad:

sudo systemctl start mariadb 
spustenie systemctl

Príkaz Štart

Ako zastaviť systémovú službu v systéme Linux

Syntax:

sudo systemctl stop service.service 

Príkaz stop slúži na zastavenie služby alebo (deaktiváciu) jednej alebo viacerých jednotiek zadaných na príkazovom riadku.

Príklad:

sudo systemctl stop mariadb 
systemctl stop

Príkaz Stop a Stav

Ako zobraziť stav systémovej služby v linuxe

Syntax:

sudo systemctl status service.service 

Stav príkazu slúži na kontrolu stavu služby. Zobrazte stručné informácie o stave runtime o jednej alebo viacerých jednotkách, za ktorými nasledujú najnovšie údaje denníka. Ak nie sú zadané žiadne jednotky, zobrazte stav systému.

Príklad:

sudo systemctl status mariadb 
stav systemctl

Stav príkazu

Ako reštartovať systémovú službu v systéme Linux

Syntax:

sudo systemctl restart service.service 

Príkaz reštart slúži na reštart vykonávanej služby. Zastavte a potom spustite jednu alebo viac jednotiek zadaných v príkazovom riadku. Ak jednotky ešte nebežia, budú spustené.

Príklad:

sudo systemctl restart mariadb 
reštart systemctl

Príkaz Reštartovať

Ako povoliť systémovú službu v systéme Linux

Syntax:

sudo systemctl enable name_service.service 

Príkaz enable slúži na vykonanie služby od inicializácie, ak pozostáva z jednej alebo viacerých jednotiek alebo inštancií jednotiek. Tým sa vytvorí sada symbolické odkazy , ako je zakódované v sekciách [Inštalovať] uvedených súborov jednotiek. konfigurácia systémového manažéra sa znova načíta (spôsobom ekvivalentným s reloadom démona), aby sa zabezpečilo okamžité zohľadnenie zmien.

Príklad

sudo systemctl enable mariadb 

povoliť systemctl

Príkaz Povoliť

Stav príkazu

Ako zakázať systémovú službu v systéme Linux

Syntax:

sudo systemctl disable name_service.service 

Príkaz disable slúži na stiahnutie služby od inicializácie jednej alebo viacerých jednotiek. Tým sa odstránia všetky symbolické odkazy na súbory jednotiek, ktoré podporujú špecifikované jednotky, z adresára s konfiguráciou jednotky a tým sa zrušia všetky zmeny vykonané povolením alebo prepojením.

Príklad:

sudo systemctl disable mariadb 

systemctl zakázať

Príkaz Vypnúť

Stav príkazu

Vypnite alebo reštartujte systém pomocou systemctl

Reštartujte systém: To nariaďuje systemd> na reštartovanie celého systému. Všetky služby sú zastavené a systém sa pred reštartovaním úplne vypne.

sudo systemctl reboot 

Vypnite systém: Informuje systemd, aby vypol stroj. Všetky služby a procesy sú zastavené a systém je bezpečne vypnutý.

sudo systemctl shutdown 

journalctl

journalctl> je príkaz používaný v systémoch Linux dotazovať a zobrazovať protokoly z systemd> žurnál, čo je systémová služba, ktorá zhromažďuje a ukladá údaje protokolov. Tu je jednoduchý návod na použitie journalctl> :

journalctl -n 10> sa používa na zobrazenie posledných 10 záznamov (riadkov) z žurnálu systemd. Tu je rozpis toho, čo robí každá časť príkazu:

  • journalctl> : Vyvoláva journalctl> príkaz, ktorý sa používa na dotazovanie a zobrazenie protokolov zo žurnálu systemd.
  • -n 10> : Určuje počet riadkov, ktoré sa majú zobraziť. V tomto prípade, -n 10> nariaďuje journalctl> zobraziť posledných 10 záznamov z denníka.
journalctl -n 10 

Zabezpečenie služby pomocou systemd je základným postupom na ochranu vášho systému pred potenciálnymi zraniteľnosťami a neoprávneným prístupom. Tu je zjednodušený návod, ako to dosiahnuť:

1. Pochopte súbory servisnej jednotky

  • Konfigurácia služby : Každá služba v systemd je riadená súborom jednotky, ktorý sa zvyčajne nachádza v /etc/systemd/system/> . Tieto súbory definujú, ako služba funguje, vrátane jej správania pri spustení, limitov zdrojov a nastavení zabezpečenia.

2. Obmedzte povolenia služby

  • Používateľské a skupinové povolenia : Zadajte používateľa a skupinu, pod ktorou služba beží. Vždy, keď je to možné, nepoužívajte používateľa root, aby ste minimalizovali dopad narušenia bezpečnosti.

3. Využite systémové funkcie zabezpečenia

  • PrivateTmp : Povoliť súkromné /tmp> a /var/tmp> adresárov pre službu, aby sa zabránilo úniku informácií medzi rôznymi službami.
  • ProtectSystem a ProtectHome : Nastavte tieto možnosti, aby ste obmedzili prístup k systémovým adresárom a domovským adresárom používateľov, aby sa zvýšila bezpečnosť systému.
  • ReadOnlyPaths a ReadWritePaths : Zadajte, z ktorých adresárov môže služba čítať alebo do ktorých môže zapisovať. Obmedzenie prístupu na zápis môže zabrániť neúmyselným úpravám dôležitých súborov.

4. Obmedzte používanie zdrojov

  • Obmedzte CPU a pamäť : Použite CPUQuota> a MemoryLimit> možnosti na obmedzenie využitia CPU a pamäte služby, čím sa zabráni útokom na vyčerpanie zdrojov.

5. Povoľte ovládacie prvky siete

  • Obmedzte prístup k sieti : Využite RestrictAddressFamilies> , IPAddressAllow> , a IPAddressDeny> možnosti kontroly sieťového prístupu pre službu, čím sa obmedzí jej vystavenie potenciálnym hrozbám.

6. Nastavte povolenia systému súborov

  • Povolenia systému súborov : Uistite sa, že súbory a adresáre služby majú príslušné povolenia ( chmod> ) a vlastníctvo ( chown> ), aby sa zabránilo neoprávnenému prístupu.

7. Pravidelne aktualizujte a monitorujte

  • Udržujte systém aktualizovaný : Pravidelne aktualizujte svoj systém a servisný softvér, aby ste opravili slabé miesta zabezpečenia a zabezpečili, že vaše bezpečnostné opatrenia zostanú účinné.
  • Monitorovať denníky : Monitorujte denníky denníka systemd ( journalctl> ) za akékoľvek podozrivé aktivity alebo udalosti súvisiace s bezpečnosťou a v prípade potreby podniknite príslušné kroky.

Záver

Diskutovali sme o systemctl, čo je životne dôležitý nástroj príkazového riadka na správu systémových služieb v systéme Linux, ktorý hrá kľúčovú úlohu pri úlohách, ako je spustenie, zastavenie, reštartovanie, povolenie a zakázanie služieb. Tento článok poskytuje komplexného sprievodcu systemctl, ktorý pokrýva jeho syntax a kľúčové príkazy. Od zoznamu dostupných systémových jednotiek až po povolenie alebo zakázanie automatického spúšťania, každý príkaz prispieva k efektívnej správe služieb. Článok sa zaoberal aj bežnými otázkami a ponúkal praktické riešenia úloh, ako je kontrola stavu služby, spustenie, zastavenie a reštartovanie služieb a povolenie alebo zakázanie automatického spúšťania. Celkovo je pochopenie a zvládnutie príkazov systemctl nevyhnutné Správcovia Linuxu zabezpečiť stabilitu a optimálny výkon ich systémov.

Systemctl – často kladené otázky

Čo je to služba Linuxu?

Služba Linuxu je proces alebo aplikácia na pozadí, ktorá beží nezávisle od interakcie používateľa, poskytuje špecifické funkcie alebo vykonáva systémové úlohy. Spravuje ho init systém, zvyčajne systemd, a možno ho spustiť, zastaviť a spravovať pomocou príkazov ako systemctl> .

Aký je rozdiel medzi Systemctl a službou?

systemctl> je nástroj príkazového riadka používaný na správu služieb systemd, pričom service> je symbolickým odkazom na systemctl> na mnohých systémoch, ktoré poskytujú kompatibilitu so staršími init skriptami.

Ako skontrolovať stav služby v systéme Linux?

Použite ` systemctl status `> zistiť, či je služba spustená, aktívna (nedávno zastavená) alebo neaktívna (nikdy sa nespustila). To odhaľuje dôležité informácie, ako je využitie pamäte a aktívne pripojenia.

Ako spustím, zastavím, reštartujem službu?

Na spustenie , použite:

sudo systemctl start 

Na zastavenie , použite:

sudo systemctl stop 

Ak chcete reštartovať , použite:

sudo systemctl restart 

Poznámka : Nezabudnite vymeniť > so skutočným názvom služby.

Ako zabezpečím automatické spustenie služby pri zavádzaní systému?

Použite sudo `> systemctl enable `> na nastavenie automatického spustenia služby pri štarte systému.

Ak chcete vypnúť automatické spustenie, použite ` sudo systemctl disable `> .