Jak spustit, zastavit a restartovat služby v systému Linux pomocí příkazu systemctl

Systémové služby hrají zásadní roli ve fungování linuxového systému, na pozadí obsluhují různé úkoly a procesy. systemctl> je výkonný nástroj příkazového řádku, který uživatelům umožňuje efektivně spravovat tyto služby. V tomto článku prozkoumáme základy používání systemctl> ke spuštění, zastavení, restartování, povolení, zakázání a zobrazení stavu služeb v prostředí Linuxu.

Co je systemctl?

Než se pustíte do správy služeb, je nezbytné porozumět základům systemctl> . Tento příkaz se používá k ovládání správce systému a služeb systemd, což je ústřední součást moderních distribucí Linuxu.

systemctl [command] [unit] 

Tady,

  • command> : Akce, která má být provedena (např. spuštění, zastavení, restartování, povolení, zakázání).
  • unit> : Služba nebo jednotka, která má být ovlivněna.

Systemctl je ovladač resp utilita Systemd (systém init se sadou programů spouštěných na pozadí), s pomocnými službami ve správě. Tyto příkazy se spouštějí v režimu root, pokud nemáte režim rootování systému a požadujete heslo uživatele root.

co je to služba?

Služba v oblasti výpočetní techniky je proces na pozadí, který provádí specifické úkoly a funkce bez zásahu uživatele. Služby se často spouštějí automaticky během spouštění systému a běží nepřetržitě, aby poskytovaly funkce, jako je webové poskytování, sdílení souborů nebo monitorování systému. Jsou spravovány operačním systémem a lze je spustit, zastavit nebo restartovat podle potřeby. Služby pomáhají zajistit stálou dostupnost základních operací. Příklady zahrnují webové servery jako Apache, databázové servery jako MySQL, a služby protokolování systému.

Co je to démon?

Démon je proces na pozadí, který běží nepřetržitě v systému Linux nebo Unix. Provádí úkoly bez přímé interakce uživatele, často se spouští automaticky při startu. Mezi běžné příklady patří webové servery, databázové servery a nástroje pro monitorování systému. Démoni mají obvykle jména končící na d, jako httpd> nebo sshd> . Pomáhají efektivně řídit systémové funkce a služby.

Co je to iniciační systém?

Systém init je první proces, který se spustí při spuštění systému Linux a je zodpovědný za inicializaci systému. Spravuje systémové služby a procesy, řídí jejich spouštění, zastavování a restartování. Mezi běžné init systémy patří SysVinit, Upstart a systemd. Systém init zajišťuje, že všechny potřebné služby běží správně a spravuje závislosti mezi nimi. Nadále běží na pozadí, aby monitoroval a řídil systémové procesy během provozu systému.

Jednotky v systemd

V systemd jsou jednotky základními objekty, které systemd spravuje a kontroluje. Představují systémové prostředky, jako jsou služby, časovače, zařízení a přípojné body. Každá jednotka je definována konfiguračním souborem se specifickou příponou, např .service> za služby popř .timer> pro časovače. Jednotky lze spustit, zastavit, povolit nebo zakázat pomocí příkazů systemctl. Jsou nezbytné pro definování toho, jak se systém spouští a spravuje různé procesy a prostředky.

.servisní jednotky v systemd

Systemd .service> jednotky jsou konfigurační soubory používané ke správě služeb v systémech Linux. Definují, jak a kdy se mají služby spouštět, zastavovat a restartovat. Každý .service> obsahuje podrobnosti, jako je název služby, popis a příkaz ke spuštění. Tyto soubory jsou obvykle umístěny v /etc/systemd/system> nebo /lib/systemd/system> . Jejich správa zahrnuje příkazy jako systemctl start> , systemctl stop> , a systemctl enable> .

Jak najít všechny systémové jednotky v systému?

Pro výpis dostupných systémových jednotek nebo pro výpis všech služeb v Linuxu použijeme následující příkaz:

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

Jak spustit systémovou službu v Linuxu

Syntax:

sudo systemctl start service.service 

Příkaz start slouží ke spuštění (aktivaci) jedné nebo více jednotek zadaných na příkazovém řádku.

Příklad:

sudo systemctl start mariadb 
start systemctl

Příkaz Start

Jak zastavit systémovou službu v Linuxu

Syntax:

sudo systemctl stop service.service 

Příkaz stop slouží k zastavení služby nebo (deaktivaci) jedné nebo více jednotek zadaných na příkazovém řádku.

Příklad:

sudo systemctl stop mariadb 
zastavení systemctl

Příkaz Stop a Stav

Jak zobrazit stav systémové služby v linuxu

Syntax:

sudo systemctl status service.service 

Stav příkazu slouží ke kontrole stavu služby. Zobrazte stručné informace o stavu běhu o jedné nebo více jednotkách následované nejnovějšími daty protokolu z deníku. Pokud nejsou zadány žádné jednotky, zobrazte stav systému.

Příklad:

sudo systemctl status mariadb 
stav systemctl

Stav příkazu

Jak restartovat systémovou službu v Linuxu

Syntax:

sudo systemctl restart service.service 

Příkaz restart slouží k opětovnému spuštění služby. Zastavte a poté spusťte jednu nebo více jednotek zadaných na příkazovém řádku. Pokud jednotky ještě neběží, budou spuštěny.

Příklad:

sudo systemctl restart mariadb 
restart systemctl

Příkaz Restart

Jak povolit systémovou službu v Linuxu

Syntax:

sudo systemctl enable name_service.service 

Příkaz enable slouží k provedení služby od inicializace, pokud se skládá z jedné nebo více jednotek nebo instancí jednotek. Tím vytvoříte sadu symbolické odkazy , jak je zakódováno v částech [Instalovat] uvedených souborů jednotek. konfigurace správce systému je znovu načtena (způsobem ekvivalentním reloadu démona), aby bylo zajištěno okamžité zohlednění změn.

Příklad

sudo systemctl enable mariadb 

povolit systemctl

Příkaz Povolit

Stav příkazu

Jak zakázat systémovou službu v Linuxu

Syntax:

sudo systemctl disable name_service.service 

Příkaz zakázat slouží k odebrání služby od inicializace jedné nebo více jednotek. Tím se odstraní všechny symbolické odkazy na soubory jednotek, které podporují zadané jednotky, z konfiguračního adresáře jednotky, a tedy zruší všechny změny provedené povolením nebo propojením.

Příklad:

sudo systemctl disable mariadb 

systemctl zakázat

Příkaz zakázat

Stav příkazu

Vypněte nebo restartujte systém pomocí systemctl

Restartujte systém: Instruuje systemd> restartovat celý systém. Všechny služby jsou zastaveny a systém před restartem projde úplným procesem vypnutí.

sudo systemctl reboot 

Vypněte systém: Říká systemd, aby vypnul stroj. Všechny služby a procesy jsou zastaveny a systém je bezpečně vypnut.

sudo systemctl shutdown 

journalctl

journalctl> je příkaz používaný v systémech Linux dotazovat a zobrazovat protokoly z systemd> journal, což je systémová služba, která shromažďuje a ukládá data protokolování. Zde je jednoduchý návod, jak používat journalctl> :

journalctl -n 10> se používá k zobrazení posledních 10 záznamů (řádků) z deníku systemd. Zde je rozpis toho, co každá část příkazu dělá:

  • journalctl> : Vyvolá journalctl> příkaz, který se používá k dotazování a zobrazení protokolů z žurnálu systemd.
  • -n 10> : Určuje počet řádků, které se mají zobrazit. V tomto případě, -n 10> instruuje journalctl> zobrazit posledních 10 záznamů z deníku.
journalctl -n 10 

Zabezpečení služby pomocí systemd je základním postupem pro ochranu vašeho systému před potenciálními zranitelnostmi a neoprávněným přístupem. Zde je zjednodušený návod, jak toho dosáhnout:

1. Pochopte soubory servisní jednotky

  • Konfigurace služby : Každá služba v systemd je spravována souborem jednotky, který se obvykle nachází v /etc/systemd/system/> . Tyto soubory definují, jak služba funguje, včetně jejího chování při spouštění, limitů zdrojů a nastavení zabezpečení.

2. Omezte servisní oprávnění

  • Uživatelská a skupinová oprávnění : Zadejte uživatele a skupinu, pod kterými služba běží. Pokud je to možné, nepoužívejte uživatele root, abyste minimalizovali dopad narušení zabezpečení.

3. Využijte systémové funkce zabezpečení

  • PrivateTmp : Povolit soukromé /tmp> a /var/tmp> adresáře pro službu, aby se zabránilo úniku informací mezi různými službami.
  • ProtectSystem a ProtectHome : Nastavením těchto voleb omezíte přístup k systémovým adresářům a domovským adresářům uživatelů, v daném pořadí, a zvýšíte tak zabezpečení systému.
  • ReadOnlyPaths a ReadWritePaths : Určete, ze kterých adresářů může služba číst nebo do nich zapisovat. Omezení přístupu pro zápis může zabránit nechtěným úpravám důležitých souborů.

4. Omezte používání zdrojů

  • Omezte CPU a paměť : Použijte CPUQuota> a MemoryLimit> možnosti omezit využití CPU a paměti službou a zabránit útokům na vyčerpání zdrojů.

5. Povolte ovládací prvky sítě

  • Omezit přístup k síti : Využijte RestrictAddressFamilies> , IPAddressAllow> , a IPAddressDeny> možnosti kontroly síťového přístupu pro službu a omezení jejího vystavení potenciálním hrozbám.

6. Nastavte oprávnění k systému souborů

  • Oprávnění systému souborů : Ujistěte se, že soubory a adresáře služby mají příslušná oprávnění ( chmod> ) a vlastnictví ( chown> ), abyste zabránili neoprávněnému přístupu.

7. Pravidelně aktualizujte a sledujte

  • Udržujte systém aktualizovaný : Pravidelně aktualizujte svůj systém a servisní software, abyste opravili slabá místa zabezpečení a zajistili, že vaše bezpečnostní opatření zůstanou účinná.
  • Monitorování protokolů : Monitorujte protokoly žurnálu systemd ( journalctl> ) pro jakékoli podezřelé aktivity nebo události související s bezpečností a v případě potřeby podnikněte příslušné kroky.

Závěr

Diskutovali jsme o systemctl, což je zásadní nástroj příkazového řádku pro správu systémových služeb v Linuxu, který hraje klíčovou roli v úlohách, jako je spouštění, zastavování, restartování, povolování a zakazování služeb. Tento článek poskytuje komplexního průvodce systemctl, který zahrnuje jeho syntaxi a klíčové příkazy. Od vypsání dostupných systémových jednotek až po povolení nebo zakázání automatického spouštění každý příkaz přispívá k efektivní správě služeb. Článek se také zabýval běžnými dotazy a nabízel praktická řešení pro úkoly, jako je kontrola stavu služby, spouštění, zastavování a restartování služeb a povolení nebo zakázání automatického spouštění. Celkově je pochopení a zvládnutí příkazů systemctl nezbytné Správci Linuxu zajistit stabilitu a optimální výkon jejich systémů.

Systemctl – FAQ

Co je to služba Linuxu?

Služba Linux je proces nebo aplikace na pozadí, která běží nezávisle na interakci uživatele, poskytuje specifické funkce nebo provádí systémové úlohy. Je spravován systémem init, obvykle systemd, a lze jej spustit, zastavit a spravovat pomocí příkazů jako systemctl> .

Jaký je rozdíl mezi Systemctl a službou?

systemctl> je nástroj příkazového řádku používaný ke správě služeb systemd, zatímco service> je symbolickým odkazem na systemctl> na mnoha systémech a poskytuje kompatibilitu se staršími init skripty.

Jak zkontrolovat stav služby v Linuxu?

Použijte ` systemctl status `> zjistit, zda je služba spuštěná, aktivní (nedávno zastavená) nebo neaktivní (nikdy nebyla spuštěna). To odhalí důležité informace, jako je využití paměti a aktivní připojení.

Jak spustím, zastavím, restartuji službu?

Pro začátek , použijte:

sudo systemctl start 

Pro zastavení , použijte:

sudo systemctl stop 

Restartovat , použijte:

sudo systemctl restart 

Poznámka : Nezapomeňte vyměnit > se skutečným názvem služby.

Jak zajistím automatické spouštění služby při bootování?

Použití sudo `> systemctl enable `> nastavit automatické spouštění služby při spuštění systému.

Chcete-li zakázat automatické spouštění, použijte ` sudo systemctl disable `> .