Como mascarar um serviço usando o comando systemctl

Como Mascarar Um Servico Usando O Comando Systemctl



O systemctl é um utilitário de linha de comando usado para gerenciar serviços do sistema. Possui uma variedade de opções para gerenciar o serviço no Linux, como iniciar um serviço, interrompê-lo, habilitá-lo e desabilitá-lo. Existe outra opção chamada mascarar .

Mascarar um serviço systemd significa que o serviço está desabilitado e não pode ser habilitado, mesmo pelo sistema ou por comando manual. O mascaramento é uma forma mais forte de desabilitação.

Neste guia, mostrarei como mascarar um serviço no Linux usando systemctl e como desmascará-lo. Além disso, abordarei as principais diferenças entre um serviço mascarado e um serviço para deficientes.







Aviso: No Linux, os serviços são interdependentes. Como mascarar o serviço o desativa e proíbe qualquer ativação, use-o com cuidado.



Antes de prosseguir, vamos primeiro entender o mecanismo por trás do serviço mascarado.



O que é um serviço mascarado

Um serviço mascarado é um serviço desabilitado permanentemente que impede que seja habilitado pelo sistema ou administrador do sistema. Os administradores de sistema geralmente usam o mascarar opção para desativar os serviços com defeito ou conflitantes. No entanto, é recomendável usar esta opção com cautela, pois mascarar um serviço crucial do sistema pode trazer obstáculos na inicialização do sistema.





Como listar serviços mascarados

Para listar serviços mascarados no Linux, use o unidades de lista opção com o estado mencionado mascarado.

unidades de lista systemctl --estado =mascarado



Como mascarar um serviço

O comando systemctl pode ser usado para mascarar qualquer serviço com o mascarar opção. A sintaxe geral do comando é mencionada abaixo.

sudo máscara systemctl [ Nome do Serviço ]

A opção de máscara na sintaxe acima cria essencialmente um link simbólico para o serviço no /etc/systemd/system .

Também podem ser mencionados um ou mais serviços, separados por um espaço.

Vamos mascarar o serviço SSH usando a sintaxe acima.

sudo máscara systemctl ssh.service

Para verificar o status de um serviço mascarado, use o –estado= opção com unidades de lista systemctl .

Se você tentar iniciar o serviço, receberá uma mensagem informando que a unidade está mascarada.

Observação: Você não pode mascarar um serviço criado no /etc/systemd/system diretório. Como os serviços neste diretório são essenciais para as operações do sistema, mascará-los pode prejudicar a funcionalidade normal do sistema. No entanto, desabilitar estes serviços equivale a mascará-los.

Como mascarar um serviço temporariamente

Um serviço pode ser mascarado até a próxima inicialização usando o -tempo de execução opção.

sudo máscara systemctl [ Nome do Serviço ] --tempo de execução

Cria um link simbólico do serviço no /executar/systemd/system diretório. Se o link simbólico do serviço já estiver presente no diretório, então o serviço foi projetado para ser mascarado temporariamente.

Como desmascarar um serviço

Use o comando systemctl com o desmascarar opção para remover as restrições da máscara. Este comando não aceitará o caminho do serviço, portanto, apenas os nomes dos serviços deverão ser mencionados.

sudo desmascarar systemctl [ Nome do Serviço ]

Pode ser necessário reinicializar o sistema após desmascarar o serviço.

Diferença entre um serviço mascarado e um serviço desativado

Um serviço desabilitado pode ser habilitado e iniciado pelo sistema e por comandos manuais. Porém, o serviço mascarado não pode ser habilitado, nem pelo sistema nem por interação manual.

Quando um serviço é desativado, um link simbólico criado no /etc/systemd/system diretório é removido e o serviço não é ativado na inicialização. Mas pode ser ativado pelos serviços dependentes.

Por outro lado, o serviço mascarado está vinculado ao /dev/nulo o que o torna permanentemente inutilizável.

Observe que o /dev diretório contém os arquivos dos dispositivos de bloco. O /dev/nulo é um dispositivo virtual que remove qualquer coisa escrita nele. Geralmente é usado para descartar a saída de stdout e stderr.

Conclusão

Se você deseja desabilitar permanentemente qualquer serviço, use o comando systemctl mask. Um serviço mascarado não pode ser habilitado nem mesmo pelo sistema. Neste guia, abordei como mascarar um serviço permanente e temporariamente. Além disso, também mencionamos um método para desmascarar um serviço e as principais diferenças entre um serviço mascarado e um serviço desativado.