linux – 禁用除ssh之外的所有服务

前端之家收集整理的这篇文章主要介绍了linux – 禁用除ssh之外的所有服务前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
如何在现代(基于systemd的) Linux发行版上禁用除ssh之外的所有服务?

我需要实现一种维护模式.

所有这些服务都需要关闭

> postgres
>后缀
>阿帕奇
>杯子
> cron
> dovecot

但是不能关闭ssh,因为这会习惯于在维护模式下执行任务.

当然,我可以编写一个shell脚本,它循环遍历我想要禁用的服务列表.但这感觉就像我重新发明已存在的东西,但我现在还不知道.

解决方法

这听起来很像跑步,取而代之的是Systemd中的 targets.因此,您可以创建一个仅包含必要服务(如SSH)的新maintenance.target,而不是编写启动和停止服务列表的脚本.当然,没有网络,SSH并不是很有用,所以在这个例子中,一个简单的emergency-net.target被修改为包含SSH.
[Unit]
Description=Maintenance Mode with Networking and SSH
Requires=maintenance.target systemd-networkd.service sshd.service
After=maintenance.target systemd-networkd.service sshd.service
AllowIsolate=yes

然后,您可以使用输入维护模式

# systemctl isolate maintenance.target

然后回来

# systemctl isolate multi-user.target

猜你在找的Linux相关文章