Jak zamaskować usługę za pomocą polecenia systemctl

Jak Zamaskowac Usluge Za Pomoca Polecenia Systemctl



systemctl to narzędzie wiersza poleceń służące do zarządzania usługami systemowymi. Posiada wiele opcji zarządzania usługą w systemie Linux, takich jak uruchamianie usługi, zatrzymywanie jej, włączanie i wyłączanie. Istnieje inna opcja zwana a maska .

Maskowanie usługi systemowej oznacza, że ​​jest ona wyłączona i nie można jej włączyć ani przez system, ani za pomocą polecenia ręcznego. Maskowanie jest silniejszą formą unieruchomienia.

W tym przewodniku przeprowadzę Cię przez proces maskowania usługi w systemie Linux za pomocą systemctl i jak ją zdemaskować. Ponadto omówię kluczowe różnice między usługą zamaskowaną a usługą niepełnosprawną.







Ostrzeżenie: W systemie Linux usługi są współzależne. Ponieważ maskowanie usługi wyłącza ją i uniemożliwia jakąkolwiek aktywację, dlatego używaj jej ostrożnie.



Zanim przejdziemy dalej, najpierw zrozummy mechanizm stojący za usługą zamaskowaną.



Co to jest usługa zamaskowana

Usługa maskowana to usługa trwale wyłączona, która uniemożliwia jej włączenie przez system lub administratora systemu. Administratorzy systemów zazwyczaj korzystają z maska możliwość dezaktywacji usług, które działają nieprawidłowo lub powodują konflikt. Zaleca się jednak ostrożne korzystanie z tej opcji, ponieważ maskowanie kluczowej usługi systemowej może spowodować przeszkody w uruchomieniu systemu.





Jak wyświetlić listę usług maskowanych

Aby wyświetlić listę usług maskowanych w systemie Linux, użyj jednostki listowe opcja z zamaskowanym wspomnianym stanem.

jednostki list systemctl --państwo =zamaskowany



Jak maskować usługę

Komendy systemctl można użyć do zamaskowania dowolnej usługi za pomocą rozszerzenia maska opcja. Ogólna składnia polecenia jest opisana poniżej.

sudo maska ​​systemctl [ Nazwa serwisu ]

Opcja maski w powyższej składni zasadniczo tworzy symboliczne łącze do usługi w pliku /etc/systemd/system .

Można również wymienić jedną lub więcej usług, oddzielając je spacją.

Zamaskujmy usługę SSH, korzystając z powyższej składni.

sudo maska ​​systemctl ssh.service

Aby sprawdzić status usługi maskowanej, użyj przycisku –stan= opcja z jednostki list systemctl .

Jeśli spróbujesz uruchomić usługę, otrzymasz komunikat informujący, że urządzenie jest zamaskowane.

Notatka: Nie można maskować usługi utworzonej w pliku /etc/systemd/system informator. Ponieważ usługi w tym katalogu są niezbędne do działania systemu, ich maskowanie może zaszkodzić normalnemu funkcjonowaniu systemu. Jednakże wyłączenie tych usług jest równoznaczne z ich maskowaniem.

Jak tymczasowo zamaskować usługę

Usługę można maskować do następnego uruchomienia za pomocą opcji –czas działania opcja.

sudo maska ​​systemctl [ Nazwa serwisu ] --czas wykonania

Tworzy symboliczne powiązanie usługi w pliku /run/systemd/system informator. Jeśli dowiązanie symboliczne do usługi znajduje się już w katalogu, usługa ma zostać tymczasowo zamaskowana.

Jak zdemaskować usługę

Użyj polecenia systemctl z zdemaskować opcja usunięcia ograniczeń maski. To polecenie nie akceptuje ścieżki usługi, dlatego wymagane jest podanie jedynie nazw usług.

sudo systemctl zdemaskuj [ Nazwa serwisu ]

Po zdemaskowaniu usługi może być konieczne ponowne uruchomienie systemu.

Różnica między usługą zamaskowaną a usługą dla osób niepełnosprawnych

Wyłączona usługa może zostać włączona i uruchomiona przez system lub za pomocą poleceń ręcznych. Jednak usługi maskowanej nie można włączyć ani przez system, ani poprzez interakcję ręczną.

Kiedy usługa jest wyłączona, dowiązanie symboliczne tworzone jest w pliku /etc/systemd/system katalog zostanie usunięty, a usługa nie zostanie aktywowana podczas rozruchu. Ale może zostać aktywowany przez zależne usługi.

Z drugiej strony zamaskowana usługa jest powiązana z /dev/null co czyni go trwale bezużytecznym.

Należy pamiętać, że /rozw katalog zawiera pliki urządzeń blokowych. The /dev/null to urządzenie wirtualne, które usuwa wszystko, co zostało na nim zapisane. Zwykle jest używany do odrzucania danych wyjściowych ze stdout i stderr.

Wniosek

Jeśli chcesz trwale wyłączyć dowolną usługę, użyj polecenia systemctl mask. Nawet system nie może włączyć usługi maskowanej. W tym przewodniku opisałem, jak trwale i tymczasowo zamaskować usługę. Ponadto wspomnieliśmy również o metodzie demaskowania usługi i kluczowych różnicach między usługą zamaskowaną a wyłączoną.