Как да маскирате услуга с помощта на командата systemctl

Kak Da Maskirate Usluga S Pomosta Na Komandata Systemctl



Systemctl е помощна програма за команден ред, използвана за управление на системни услуги. Има различни опции за управление на услугата на Linux, като стартиране на услуга, спиране, активиране и деактивиране. Има и друга опция, наречена a маска .

Маскирането на системна услуга означава, че услугата е деактивирана и не може да бъде активирана дори от системата или при ръчна команда. Маскирането е по-силна форма на инвалидизиране.

В това ръководство ще ви преведа как да маскирате услуга на Linux с помощта на systemctl и как да я демаскирате. Освен това ще разгледам ключовите разлики между маскирана услуга и услуга с увреждания.







Внимание: В Linux услугите са взаимозависими. Тъй като маскирането на услугата я деактивира и забранява всяко активиране, затова я използвайте внимателно.



Преди да продължим, нека първо разберем механизма зад маскираната услуга.



Какво е Маскирана услуга

Маскираната услуга е перманентно деактивирана услуга, която не позволява да бъде активирана от системата или системния администратор. Системните администратори обикновено използват маска опция за деактивиране на неизправни или конфликтни услуги. Въпреки това се препоръчва да използвате тази опция с повишено внимание, тъй като маскирането на ключова системна услуга може да доведе до препятствия при зареждане на системата.





Как да изброявате маскирани услуги

За да изброите маскирани услуги на Linux, използвайте списъчни единици опция с маскирано споменато състояние.

systemctl списъчни единици -- състояние =маскиран



Как да маскирате услуга

Командата systemctl може да се използва за маскиране на всяка услуга с маска опция. Общият синтаксис на командата е споменат по-долу.

sudo systemctl маска [ Име на услугата ]

Опцията за маска в горния синтаксис по същество прави символична връзка към услугата в /etc/systemd/system .

Могат да бъдат споменати и една или повече услуги, разделени с интервал.

Нека маскираме SSH услугата, използвайки горния синтаксис.

sudo systemctl маска ssh.service

За да проверите състоянието на маскирана услуга, използвайте –състояние= опция с systemctl списъчни единици .

Ако се опитате да стартирате услугата, ще получите изход, който казва, че устройството е маскирано.

Забележка: Не можете да маскирате услуга, създадена в /etc/systemd/system указател. Тъй като услугите в тази директория са от съществено значение за системните операции, маскирането им може да навреди на нормалната функционалност на системата. Деактивирането на тези услуги обаче е еквивалентно на маскирането им.

Как временно да маскирате услуга

Услугата може да бъде маскирана до следващото зареждане с помощта на – време на изпълнение опция.

sudo systemctl маска [ Име на услугата ] --време на изпълнение

Създава символична връзка на услугата в /run/systemd/system указател. Ако символната връзка на услугата вече присъства в директорията, тогава услугата е проектирана да бъде маскирана временно.

Как да демаскираме услуга

Използвайте командата systemctl с демаскирам опция за премахване на ограниченията на маската. Тази команда няма да приеме пътя на услугата, следователно трябва да се споменават само имена на услуги.

sudo systemctl демаскиране [ Име на услугата ]

Може да се наложи да рестартирате системата след демаскиране на услугата.

Разлика между маскирана услуга и услуга с увреждания

Дезактивирана услуга може да бъде активирана и стартирана от системата и чрез ръчни команди. Маскираната услуга обаче не може да бъде активирана нито от системата, нито чрез ръчно взаимодействие.

Когато дадена услуга е деактивирана, символна връзка, която се създава в /etc/systemd/system директорията се премахва и услугата не се активира при зареждане. Но може да се активира от зависимите услуги.

От друга страна, маскираната услуга е свързана с /dev/null което го прави трайно неизползваем.

Имайте предвид, че /dev директорията съдържа файловете на блоковите устройства. The /dev/null е виртуално устройство, което премахва всичко, написано в него. Обикновено се използва за отхвърляне на изход от stdout и stderr.

Заключение

Ако искате да направите която и да е услуга деактивирана за постоянно, използвайте командата systemctl mask. Маскирана услуга не може да бъде активирана дори от системата. В това ръководство разгледах как да маскирам услуга за постоянно и временно. Освен това споменахме и метод за демаскиране на услуга и основните разлики между маскирана и деактивирана услуга.