Jak mogę wyłączyć wszystkie usługi oprócz ssh w nowoczesnych (opartych na systemie) dystrybucjach linuksa?
Muszę wdrożyć tryb konserwacji .
Wszystkie te usługi muszą zostać wyłączone:
- postgres
- postfiks
- apacz
- kubki
- cron
- gołębnik
Ale ssh nie może zostać zamknięty, ponieważ przyzwyczaja się do wykonywania zadań w trybie konserwacji.
Oczywiście mógłbym napisać skrypt powłoki, który zapętla listę usług, które chciałbym wyłączyć. Ale wydaje mi się, że odkrywam coś, co już istnieje, ale do tej pory nie wiem.
linux
service
systemd
maintenance
guettli
źródło
źródło
Odpowiedzi:
To brzmi jak poziomy pracy , zastąpione celami w Systemd. Zamiast pisać skrypt uruchamiający i zatrzymujący listę usług, możesz utworzyć nowy
maintenance.target
zawierający tylko niezbędne usługi, takie jak SSH. Oczywiście, SSH nie jest całkiem użyteczne bez pracy w sieci, więc w tym przykładzieemergency-net.target
modyfikacja prostej obejmuje SSH.Następnie możesz przejść do trybu konserwacji za pomocą
i z powrotem
źródło
Najpierw wypisz swoje usługi i wyszukaj odpowiadające im nazwy systemowe.
Następnie zbuduj listę i zatrzymaj każdego członka listy, aby przejść do konserwacji, uruchom każdego członka po konserwacji.
źródło
systemctl isolate
?