如何删除重启后未启用的服务?

如何删除重启后未启用的服务?

为了强化安全,我想删除 Ubuntu server 13.04 中不必要的服务。我不知道该使用哪个命令来删除专用服务:1. inintct list 2. sysv-rc-conf list 3. ls /etc/init.d 4. service --status-all

为什么上述每个命令的输出都不同?我尝试使用“service atd stop”停止 atd 服务,但重启系统后该服务又启动了。既然我想强化我的服务器,如何永久禁用服务?应该禁用哪些服务?

谢谢。

答案1

/etc/init.d保存各种服务的启动/关闭脚本,但它们实际上是由中的脚本调用的/etc/rc*.d

这些rc*.d脚本实际上保存着/etc/init.d脚本的符号链接,目录中的名称rc*.d表示在您进入该运行级别时是否启动或停止服务 - 名称中的数字给出了运行脚本的顺序。

因此,例如,/etc/rc3.d/S23ntp说在运行级别 3 启动 ntp 守护程序(在所有较低编号的服务启动之后)。

因此,要停止重启后运行的服务,最好的办法就是操作rc*.d脚本。

最好的方法是使用命令update-rc.d。例如,要在启动时禁用 ntp,请运行:

update-rc.d ntp disable

至于要禁用哪些服务 - 在禁用服务之前,请务必先了解该服务的功能及其用途。

我举atd个例子——这是一个使用很少资源的过程,但停止它可能会产生意想不到的后果。

但事实证明,atd实际上是由不同的机制调用的(upstart)——而我现在没有时间去深入研究这个问题!

答案2

我不建议你禁用你不知道的服务,禁用系统自带的服务必须有更深入地了解系统。你最终可能会得到一个崩溃的系统。

因为你似乎不知道SysV 初始化脚本或暴发户工作,我建议你先与他们联系。

看看这个教程

答案3

您可以使用 rcconf 在启动时管理服务:

sudo apt-get install rcconf

然后,启动它:

sudo rcconf

取消选中您不想在启动时自动加载的选项。

相关内容