加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

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

发布时间:2020-12-13 18:44:03 所属栏目:Linux 来源:网络整理
导读:如何在现代(基于systemd的) Linux发行版上禁用除ssh之外的所有服务? 我需要实现一种维护模式. 所有这些服务都需要关闭: postgres 后缀 阿帕奇 杯子 cron dovecot 但是不能关闭ssh,因为这会习惯于在维护模式下执行任务. 当然,我可以编写一个shell脚本,它循
如何在现代(基于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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读