Hvordan maskere en tjeneste ved hjelp av systemctl-kommandoen

Hvordan Maskere En Tjeneste Ved Hjelp Av Systemctl Kommandoen



Systemctl er et kommandolinjeverktøy som brukes til å administrere systemtjenester. Den har en rekke alternativer for å administrere tjenesten på Linux, for eksempel å starte en tjeneste, stoppe den, aktivere og deaktivere den. Det er et annet alternativ kalt a maske .

Maskering av en systemtjeneste betyr at tjenesten er deaktivert og ikke kan aktiveres, selv av systemet eller ved manuell kommando. Maskering er en sterkere form for deaktivering.

I denne veiledningen vil jeg lede deg gjennom hvordan du maskerer en tjeneste på Linux ved hjelp av systemctl, og hvordan du demaskerer den. Dessuten vil jeg dekke viktige forskjeller mellom en maskert tjeneste og en funksjonshemmet tjeneste.







Advarsel: På Linux er tjenestene avhengige av hverandre. Siden maskering av tjenesten deaktiverer den og forbyr enhver aktivering, bruk den derfor forsiktig.



Før vi går videre, la oss først forstå mekanismen bak den maskerte tjenesten.



Hva er en maskert tjeneste

En maskert tjeneste er en permanent deaktivert tjeneste som hindrer den i å aktiveres av system- eller systemadministratoren. Systemadministratorer bruker vanligvis maske mulighet for å deaktivere funksjonsfeil eller motstridende tjenester. Det anbefales imidlertid å bruke dette alternativet med forsiktighet, da maskering av en viktig systemtjeneste kan føre til hindringer i oppstarten av systemet.





Hvordan liste maskerte tjenester

For å liste opp maskerte tjenester på Linux, bruk liste-enheter alternativ med den nevnte staten maskert.

systemctl liste-enheter --stat =maskert



Hvordan maskere en tjeneste

Systemctl-kommandoen kan brukes til å maskere enhver tjeneste med maske alternativ. Den generelle syntaksen til kommandoen er nevnt nedenfor.

sudo systemctl maske [ Tjenestenavn ]

Maskealternativet i syntaksen ovenfor gir i hovedsak en symbolsk kobling til tjenesten i /etc/systemd/system .

En eller flere tjenester kan også nevnes, atskilt med et mellomrom.

La oss maskere SSH-tjenesten ved å bruke syntaksen ovenfor.

sudo systemctl mask ssh.service

For å sjekke statusen til en maskert tjeneste, bruk –stat= alternativ med systemctl liste-enheter .

Hvis du prøver å starte tjenesten, vil du motta en utgang som sier at enheten er maskert.

Merk: Du kan ikke maskere en tjeneste opprettet i /etc/systemd/system katalog. Fordi tjenester i denne katalogen er avgjørende for systemoperasjoner, kan maskering av dem skade normal systemfunksjonalitet. Å deaktivere disse tjenestene tilsvarer imidlertid å maskere dem.

Hvordan maskere en tjeneste midlertidig

En tjeneste kan maskeres frem til neste oppstart ved å bruke – kjøretid alternativ.

sudo systemctl maske [ Tjenestenavn ] --kjøretid

Det skaper en symbolsk kobling av tjenesten i /run/systemd/system katalog. Hvis den symbolske lenken til tjenesten allerede er til stede i katalogen, er tjenesten designet for å maskeres midlertidig.

Hvordan demaskere en tjeneste

Bruk systemctl-kommandoen med avmaskere alternativet for å fjerne maskerestriksjonene. Denne kommandoen vil ikke akseptere banen til tjenesten, derfor er det bare tjenestenavn som kreves for å bli nevnt.

sudo systemctl avmaskere [ Tjenestenavn ]

Det kan hende du må starte systemet på nytt etter at du har demaskert tjenesten.

Forskjellen mellom en maskert tjeneste og en deaktivert tjeneste

En deaktivert tjeneste kan aktiveres og startes av systemet og på manuelle kommandoer. Den maskerte tjenesten kan imidlertid ikke aktiveres, verken av systemet eller ved manuell interaksjon.

Når en tjeneste gjøres deaktivert, opprettes en symbolsk lenke i /etc/systemd/system katalogen er fjernet, og tjenesten aktiveres ikke ved oppstart. Men den kan aktiveres av de avhengige tjenestene.

På den annen side er den maskerte tjenesten knyttet til /dev/null som gjør den permanent ubrukelig.

Merk at /dev katalogen inneholder filene til blokkenhetene. De /dev/null er en virtuell enhet som fjerner alt som er skrevet til den. Det brukes vanligvis til å forkaste utdata fra stdout og stderr.

Konklusjon

Hvis du vil gjøre en tjeneste permanent deaktivert, bruk systemctl mask-kommandoen. En maskert tjeneste kan ikke aktiveres selv av systemet. I denne veiledningen dekket jeg hvordan du maskerer en tjeneste permanent og midlertidig. Dessuten nevnte vi også en metode for å demaskere en tjeneste og de viktigste forskjellene mellom en maskert og deaktivert tjeneste.