为了强化安全,我想删除 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
答案3
您可以使用 rcconf 在启动时管理服务:
sudo apt-get install rcconf
然后,启动它:
sudo rcconf
取消选中您不想在启动时自动加载的选项。