排查开机启动项

文章介绍了Linux系统中防止被控机器失联的措施,重点关注了rc.local文件作为开机启动项可能被木马利用的情况。建议使用systemd服务和udev规则替代rc.local,并展示了如何查看和管理开机启动服务,包括列出服务、停止服务、禁用开机启动等操作。此外,还提到了Linux的运行级别及其作用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

防止被控机器失联部分木马会添加开机启动项作为复活的手段

/etc/rc.local

/etc/rc.local 是 /etc/rc.d/rc.local的软链接

[root@VM-4-11-centos etc]# ll rc.local
lrwxrwxrwx 1 root root 13 Apr  6  2022 rc.local -> rc.d/rc.local

rc.local的原始内容:

#!/bin/bash
# THIS FILE IS ADDED FOR COMPATIBILITY PURPOSES
# 添加此文件是出于兼容性考虑

# It is highly advisable to create own systemd services or udev rules
# to run scripts during boot instead of using this file.
#强烈建议创建自己的systemd服务或udev规则,以便在引导期间运行脚本,而不是使用此文件。

# In contrast to previous versions due to parallel execution during boot
# this script will NOT be run after all other services.
#与以前版本不同,由于在引导期间并行执行,此脚本不会在所有其他服务之后运行。

# Please note that you must run 'chmod +x /etc/rc.d/rc.local' to ensure
# that this script will be executed during boot.
#请注意,必须运行'chmod+x/etc/rc.d/rc.local',以确保在引导期间执行此脚本。

touch /var/lock/subsys/local

文件中的配置

rc.local是一个shell脚本文件,可以把开机时要执行的命令写在其中,启动的时候就会按顺序来执行了

添加命令

/usr/bin/date >> /tmp/date1.log # 把当前时间追加写入到/tmp/date1.log中。
/usr/bin/sleep 10 # 睡眠10秒。
/usr/bin/date >> /tmp/date2.log # 把当前时间追加写入到/tmp/date2.log中。

修改下权限:

不过一般文件的权限都是加了X的,可以先看看有没有
chmod +x /etc/rc.d/rc.local

重启服务器

查看日志文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-51GStcJx-1673494394698)(../images/Pasted%20image%2020230112084024.png)]

/etc/rc.d/init.d/

这是一个目录,在这里放了可执行的文件或脚本
排查可疑的文件与脚本

etc/init.d目录和etc/rc.d/init.d目录是软链接关系

ll /etc/init.d
lrwxrwxrwx 1 root root 11 Jan  8  2021 /etc/init.d -> rc.d/init.d

/etc/rc*.d/

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Bd9tepHV-1673494394699)(../images/Pasted%20image%2020230112092421.png)]

他们都是用来放服务脚本的,当Linux启动时,会寻找这些目录中的服务脚本,并根据脚本的run level确定不同的启动级别。

linux 运行级别:
Init进程是系统启动之后的第一个用户进程,所以它的pid(进程编号)始终为1。init进程上来首先做的事是去读取/etc/目录下inittab文件中initdefault id值,这个值称为运行级别(run-level)。它决定了系统启动之后运行于什么级别。运行级别决定了系统启动的绝大部分行为和目的。这个级别从0到6 ,具有不同的功能。不同的运行级定义如下:   
0 - 停机(千万别把initdefault设置为0,否则系统永远无法启动)   
1 - 单用户模式   
2 - 多用户,没有 NFS   
3 - 完全多用户模式(标准的运行级)   
4 – 系统保留的   
5 - X11 (x window)   
6 - 重新启动 (千万不要把initdefault 设置为6,否则将一直在重启 )

利用systemctl

systemctl list-unit-files
查看所有启动的服务

可疑服务可以关闭服务和删除开机自启

sudo systemctl stop ...service # 停止服务
sudo systemctl disable ...service # 删除开机启动

sudo systemctl start ...service # 启动服务
sudo systemctl enable ...service # 添加开机启动
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值