Como posso desabilitar todos os serviços, exceto o ssh, em distribuições Linux modernas (baseadas no sistema)?
Eu preciso implementar um modo de manutenção .
Todos esses serviços precisam estar inoperantes:
- postgres
- postfix
- apache
- copos
- cron
- dovecot
Mas o ssh não deve ser desligado, pois isso é usado para executar tarefas durante o modo de manutenção.
É claro que eu poderia escrever um shell script que percorre uma lista de serviços que eu gostaria de desativar. Mas parece que eu estou reinventando algo que já existe, mas que eu não sei até agora.
linux
service
systemd
maintenance
guettli
fonte
fonte
Respostas:
Isso parece muito com os níveis de execução , substituídos pelos destinos no Systemd. Portanto, em vez de escrever um script que inicie e pare uma lista de serviços, você poderá criar um novo
maintenance.target
contendo apenas os serviços necessários, como SSH. Obviamente, o SSH não é muito útil sem a rede, portanto, neste exemplo, um simplesemergency-net.target
é modificado para incluir o SSH.Em seguida, você pode entrar no modo de manutenção usando
e volta
fonte
Primeiro, liste seus serviços e procure os nomes de systemd correspondentes.
Em seguida, crie uma lista e pare cada membro da lista para entrar na manutenção, inicie cada membro após a manutenção.
fonte
systemctl isolate
?