Jak maskovat službu pomocí příkazu systemctl

Jak Maskovat Sluzbu Pomoci Prikazu Systemctl



Systemctl je nástroj příkazového řádku používaný ke správě systémových služeb. Nabízí různé možnosti správy služby v Linuxu, jako je spuštění služby, její zastavení, povolení a zakázání. Existuje další možnost s názvem a maska .

Maskování služby systemd znamená, že služba je zakázána a nelze ji povolit ani systémem nebo na ruční příkaz. Maskování je silnější forma deaktivace.

V této příručce vás provedu tím, jak maskovat službu v Linuxu pomocí systemctl a jak ji odmaskovat. Kromě toho se budu věnovat klíčovým rozdílům mezi maskovanou službou a zakázanou službou.







Varování: V Linuxu jsou služby na sobě závislé. Vzhledem k tomu, že maskování službu deaktivuje a zakazuje jakoukoli aktivaci, používejte ji opatrně.



Než půjdeme dále, pojďme nejprve pochopit mechanismus maskované služby.



Co je maskovaná služba

Maskovaná služba je trvale zakázaná služba, která brání jejímu povolení správcem systému nebo systému. Správci systému obecně používají maska možnost deaktivace nefunkčních nebo konfliktních služeb. Doporučuje se však používat tuto možnost opatrně, protože maskování klíčové systémové služby může způsobit překážky při zavádění systému.





Jak vypsat maskované služby

Chcete-li zobrazit maskované služby v systému Linux, použijte seznam-jednotky možnost se zmíněným stavem maskovaným.

systemctl seznam-jednotek --Stát = maskovaný



Jak maskovat službu

Příkaz systemctl lze použít k maskování jakékoli služby pomocí maska volba. Obecná syntaxe příkazu je uvedena níže.

sudo maska ​​systemctl [ Název služby ]

Možnost masky ve výše uvedené syntaxi v podstatě vytváří symbolický odkaz na službu v /etc/systemd/system .

Může být také uvedena jedna nebo více služeb oddělených mezerou.

Pojďme maskovat službu SSH pomocí výše uvedené syntaxe.

sudo systemctl maska ​​ssh.service

Chcete-li zkontrolovat stav maskované služby, použijte –stav= možnost s systemctl seznam-jednotek .

Pokud se pokusíte spustit službu, obdržíte výstup, že jednotka je maskovaná.

Poznámka: Nemůžete maskovat službu vytvořenou v /etc/systemd/system adresář. Protože služby v tomto adresáři jsou nezbytné pro operace systému, jejich maskování může poškodit normální funkčnost systému. Vypnutí těchto služeb se však rovná jejich maskování.

Jak dočasně maskovat službu

Službu lze maskovat až do příštího spuštění pomocí – doba běhu volba.

sudo maska ​​systemctl [ Název služby ] -- runtime

Vytváří symbolický odkaz služby v /run/systemd/system adresář. Pokud je symbolický odkaz služby již v adresáři přítomen, je služba navržena tak, aby byla dočasně maskována.

Jak demaskovat službu

Použijte příkaz systemctl s odhalit možnost odstranit omezení masky. Tento příkaz nepřijme cestu ke službě, proto je nutné uvést pouze názvy služeb.

sudo systemctl odmaskovat [ Název služby ]

Po odmaskování služby možná budete muset restartovat systém.

Rozdíl mezi maskovanou službou a zakázanou službou

Deaktivovanou službu lze povolit a spustit systémem a na ruční příkazy. Maskovanou službu však nelze povolit ani systémem, ani ruční interakcí.

Když je služba deaktivována, zobrazí se symbolický odkaz, který se vytvoří v /etc/systemd/system adresář je odstraněn a služba se při spouštění neaktivuje. Může být ale aktivován závislými službami.

Na druhou stranu je maskovaná služba propojena s /dev/null což jej činí trvale nepoužitelným.

Všimněte si, že /dev adresář obsahuje soubory blokových zařízení. The /dev/null je virtuální zařízení, které odstraňuje vše, co je na něm zapsáno. Obecně se používá k vyřazení výstupu ze stdout a stderr.

Závěr

Pokud chcete některou službu trvale zakázat, použijte příkaz systemctl mask. Maskovanou službu nemůže povolit ani systém. V této příručce jsem se zabýval tím, jak maskovat službu trvale a dočasně. Kromě toho jsme také zmínili způsob demaskování služby a klíčové rozdíly mezi maskovanou a zakázanou službou.