如何管理linux开机自启服务?

2018-04-03 11:50:15 浏览数 (1)

自启动服务非常重要,例如 (1)需要手动添加希望自启的服务,如安装svn后没有自动添加,就需要我们手动加入 (2)安装某些程序后,自动加到自启动了,但我们不需要,需要手动移除 (3)很多恶意程序都会把自己加入自启动,需要我们排查删除 运行级别的原理 涉及到自启动操作时,就会接触到 /etc/rc.d/rc[0-6].d 这7个目录 这几个目录代表着linux的7个运行级别 在 /etc/inittab 文件中指定了系统启动时默认进入哪个级别 Linux进入运行级别后,就会进入对应的 rcN.d 目录,按照文件名顺序检索目录下的文件

rcN.d 目录下都是一些链接文件,这些链接文件都指向 /etc/init.d 目录下的service脚本文件,例如

命名规则为: K nn 服务名,或 S nn 服务名 K - 系统将终止对应的服务 S - 系统将启动对应的服务

nn - 两位数字,执行顺序

7个运行级别是什么? 0 - 停机 1 - 单用户模式,root权限,用于系统维护,禁止远程登陆

2 - 多用户状态,没有 NFS 3 - 标准多用户模式,登陆后进入命令行模式 4 - 系统未使用,保留 5 - 多用户图形模式,登陆后进入图形GUI模式 6 - 重新启动 服务器一般都是命令行模式,所以默认运行级别为 3 如何添加自启程序? (1)/etc/init.d 目录中添加 以启动SVN为例 1)在 /etc/init.d 目录下创建启动服务的脚本 vim /etc/init.d/svn 内容 #!/bin/bash svnserve -d -r /svn仓库路径 设置执行权限 chmod 755 /etc/init.d/svn 2)把这个脚本软链接到 /etc/rc.d/rc3.d ln -s /etc/init.d/svn /etc/rc.d/rc3.d/S101svn S 代表是要执行这个脚本,101 是执行顺序,通常要大于60,这样可以保证基础服务都已经启动完成 重启linux测试 (2)/etc/rc.local 文件中添加 直接修改 /etc/rc.local 该脚本是在系统初始化级别脚本运行之后再执行的,因此可以在里面添加想在系统启动之后执行的脚本 (3)chkconfig 命令添加 如何禁止自启程序? (1)直接删除 /etc/rc.d/rcN.d 目录的目标链接文件 (2)删除 /etc/rc.local 文件中定义的启动脚本 (3)查看自启动服务列表,从中选择目标服务执行禁止操作 chkconfig --list

chkconfig --del 服务名

0 人点赞