Cum să mascați un serviciu folosind comanda systemctl

Cum Sa Mascati Un Serviciu Folosind Comanda Systemctl



Systemctl este un utilitar de linie de comandă folosit pentru a gestiona serviciile de sistem. Are o varietate de opțiuni pentru a gestiona serviciul pe Linux, cum ar fi pornirea unui serviciu, oprirea acestuia, activarea și dezactivarea acestuia. Există o altă opțiune numită a masca .

Mascarea unui serviciu systemd înseamnă că serviciul este dezactivat și nu poate fi activat, chiar și de către sistem sau la comandă manuală. Mascarea este o formă mai puternică de dezactivare.

În acest ghid, vă voi prezenta cum să mascați un serviciu pe Linux folosind systemctl și cum să-l demascați. Mai mult, voi acoperi diferențele cheie dintre un serviciu mascat și un serviciu cu dizabilități.





Avertizare: Pe Linux, serviciile sunt interdependente. Deoarece mascarea serviciului îl dezactivează și interzice orice activare, prin urmare, utilizați-l cu atenție.



Înainte de a merge mai departe, să înțelegem mai întâi mecanismul din spatele serviciului mascat.



Ce este un serviciu mascat

Un serviciu mascat este un serviciu dezactivat permanent care împiedică activarea acestuia de către administratorul de sistem sau de sistem. Administratorii de sistem folosesc în general masca opțiunea de a dezactiva serviciile defectuoase sau aflate în conflict. Cu toate acestea, este recomandat să utilizați această opțiune cu precauție, deoarece mascarea unui serviciu de sistem esențial poate aduce obstacole în pornirea sistemului.





Cum să enumerați serviciile mascate

Pentru a enumera serviciile mascate pe Linux, utilizați listă-unități varianta cu statul mentionat mascat.

listă-unități systemctl --stat =mascat



Cum să mascați un serviciu

Comanda systemctl poate fi folosită pentru a masca orice serviciu cu masca opțiune. Sintaxa generală a comenzii este menționată mai jos.

sudo masca systemctl [ Numele serviciului ]

Opțiunea de mască din sintaxa de mai sus face în esență o legătură simbolică către serviciul din /etc/systemd/system .

Pot fi menționate și unul sau mai multe servicii, separate printr-un spațiu.

Să mascăm serviciul SSH folosind sintaxa de mai sus.

sudo systemctl mask ssh.service

Pentru a verifica starea unui serviciu mascat, utilizați –starea= opțiunea cu listă-unități systemctl .

Dacă încercați să porniți serviciul, veți primi o ieșire care spune că unitatea este mascata.

Notă: Nu puteți masca un serviciu creat în /etc/systemd/system director. Deoarece serviciile din acest director sunt esențiale pentru operațiunile sistemului, mascarea lor poate afecta funcționalitatea normală a sistemului. Cu toate acestea, dezactivarea acestor servicii echivalează cu mascarea lor.

Cum să mascați temporar un serviciu

Un serviciu poate fi mascat până la următoarea pornire utilizând – timpul de rulare opțiune.

sudo masca systemctl [ Numele serviciului ] --timpul de rulare

Acesta creează o legătură simbolică a serviciului în /run/systemd/system director. Dacă legătura simbolică a serviciului este deja prezentă în director, atunci serviciul este conceput pentru a fi mascat temporar.

Cum să demasc un serviciu

Utilizați comanda systemctl cu demasca opțiunea de a elimina restricțiile de mască. Această comandă nu va accepta calea serviciului, prin urmare, este necesar să fie menționate numai numele serviciului.

sudo systemctl demasc [ Numele serviciului ]

Poate fi necesar să reporniți sistemul după demascarea serviciului.

Diferența dintre un serviciu mascat și un serviciu pentru persoane cu dizabilități

Un serviciu dezactivat poate fi activat și pornit de către sistem și prin comenzi manuale. Cu toate acestea, serviciul mascat nu poate fi activat, nici de sistem, nici prin interacțiune manuală.

Când un serviciu este dezactivat, o legătură simbolică care este creată în /etc/systemd/system directorul este eliminat, iar serviciul nu se activează la pornire. Dar poate fi activat de serviciile dependente.

Pe de altă parte, serviciul mascat este legat de /dev/null ceea ce îl face permanent inutilizabil.

Rețineți că /dev directorul conține fișierele dispozitivelor bloc. The /dev/null este un dispozitiv virtual care elimină tot ce este scris pe el. În general, este folosit pentru a elimina ieșirea de la stdout și stderr.

Concluzie

Dacă doriți să dezactivați permanent orice serviciu, atunci utilizați comanda systemctl mask. Un serviciu mascat nu poate fi activat nici măcar de către sistem. În acest ghid, am explicat cum să mascați un serviciu permanent și temporar. Mai mult, am menționat și o metodă de demascare a unui serviciu și diferențele cheie dintre un serviciu mascat și unul dezactivat.