防止被控机器失联部分木马会添加开机启动项作为复活的手段
/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
重启服务器
查看日志文件
/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/
他们都是用来放服务脚本的,当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 # 添加开机启动