root权限引发的/sbin/init不存在故障的血案

环境:linux 5.4服务器,ORACLE 10.0.2.4数据库

案情:上周某数据库DBA做迁移操作时说突然连不上了,向可能有ROOT权限的人确认是否突然修改了密码。可也太诡异了,这台数据库服务器所在的区域安全等级较高,而且运行了若干年从来没有任何问题。刚刚root放给新入职的DBA就出了问题。还好有堡垒主机,于是立即确认堡垒主机的动作,没有发现有修改ROOT密码的命令。惊了一声冷汗,难不成被攻击了。

19:30,赶到IDC机房,用显示器介入发现界面停留在RADHAT登录界面,但输入密码均提示认证失败;

19:45,尝试软关机,但长时间停留在一个界面上半个多小时不动;

20:30,尝试强制关机,重启后系统初始化异常;

20:45,尝试linux单用户模式修改密码,结果单用户模式也进进不了系统,提示错误同上;

22:00,怀疑底层文件被删除,要求二线准备LINUX5.4操作系统光盘赶往机房;

23:00,我们安装完一台和故障机同样操作系统和数据库的虚拟机,以备万一故障机恢复不了,我们导出数据文件直接恢复数据库;

02:00,通过光盘引导linux进入救援模式,我们登录系统后发现关键的数据库文件目录还在,顿时放心很多;

02:30,我们发现文件系统底层文件有被移动的迹象,通过堡垒主机的录像分析瞬间得出结论,应该是操作员用FTP操作时不小心拖动了底层文件/lib64到/media目录下,而由于/sbin/init是动态链接的,造成的表面显现是/sbin/init不存在;

教训:root权限一定要收紧,特别是对于新环境不熟悉的老手。

经验:linux救援模式很重要,必要时可以救人一命,大家要学好。

时间: 2024-11-08 21:56:41

root权限引发的/sbin/init不存在故障的血案的相关文章

转adb Shell root 权限

因为开发需要,我经常会用到adb这个工具(Android Debug Bridge),我们都知道adb shell默认是没有root权限的,修改系统文件就很不方便了,adb push一个文件就提示Permission Denied.删除system下的文件也没有权限.其实有两种方法可以获取adb shell的root权限,这两种方法的前提都是手机已经root. 1.用su可以提权,直接执行su就会看到用户命令提示符由"$"变成了"#",如果手机没有root,会提示s

redis写定时任务获取root权限

前提: 1.redis由root用户启动. 2.开启cron的时候,/var/spool/cron linux机器下默认的计划任务,linux会定时去执行里面的任务. 启动服务 :/sbin/service crond start 或 /etc/init.d/crond start(centos系列)    sudo /etc/init.d/cron start (ubuntu系列) 一.windows下 config set dir /var/spool/cronconfig set dbfi

centos7/rhel7重置root密码 (rd.break和init方法)

centos7/rhel7进入单用户方式和重置密码方式发生了较大变化,GRUB由b引导变成了ctrl+x引导. 重置密码主要有rd.break和init两种方法. rd.break方法: 1.启动的时候,在启动界面,相应启动项,内核名称上按"e": 2.进入后,找到linux16开头的地方,按"end"键到最后,输入rd.break,按ctrl+x进入: 3.进去后输入命令mount,发现根为/sysroot/,并且不能写,只有ro=readonly权限: 4.mo

adb Shell root 权限

永久root带文件 因为开发需要,我经常会用到adb这个工具(Android Debug Bridge),我们都知道adb shell默认是没有root权限的,修改系统文件就很不方便了,adb push一个文件就提示Permission Denied.删除system下的文件也没有权限.其实有两种方法可以获取adb shell的root权限,这两种方法的前提都是手机已经root. 1.用su可以提权,直接执行su就会看到用户命令提示符由"$"变成了"#",如果手机没

linux在非root权限无外网(只有内网的生产环境)情况下安装nginx+mysql+php

虽然说是非root权限,但是编译php所需要的依赖包还是需要root权限的. 安装之前先保证linux有gcc和g++,因为很多东西都需要这两个库,如果没有,运行以下命令 yum install -y gcc gcc-c++ 一般linux里面都会有,如果已经存在,它会报已经存在无法安装 一.安装nginx 1. 安装nginx前,我们需要安装3个依赖包zlib.pcre.openssl(此需要root权限) yum install -y zlib pcre openssl 2. 如果上面没有无

Ubuntu:Target filesystem doesn't have /sbin/init (Slax 解决)

计算机(Ubuntu)由于异常断电或是其他原因,再次启动时,很不幸的出现: Killed mount: mounting /dev on /root/dev failed: No such file or directory mount: mounting /sys on /root/sys failed: No such file or directory mount: mounting /proc on /root/proc failed: No such file or directory

用户身份切换之初窥企业远程用户没root还有root权限

一直很困扰我,既然企业不让用root不能登录,那怎么操作文件呢? 原来...... su -    用来切换初始变量 $PATH $HOME等 sudo 用的时候会su到root需要root的密码,这样很不安全.我们就会修改配置文件(不输入root密码 )   /etc/sudoers  或者直接打visudo     ,如果没有命令安装一下吧  yum install -y sudo 在 root    ALL=(ALL)       ALL     下面按照格式添加一行你的创建中意的用户名获

拥有root权限提权让普通用户具有root权限

一.实践.     (1).第一种是最常见的sudo这个命令.这个命令可以让普通用户拥有管理权限,/etc/sudoers是sudo命令的配置文件.     在配置文件中它的基本格式为                user MACHINE=command     user :授权的用户名,也可以授权组名"%组名"的格式. machine : 这个是主机名称 command : 要授权的命令,必须填写命令的完整路径.      在配置文件中加入tom ALL=ALL 就可以让tom这个

以非root权限安装nginx及运行

本章主要讲如何在无root权限(包含无sudo权限)条件下于centos命令行中安装nginx以及在大于1024的端口(这里用8080)上运行. 1. 安装 两种方式,一是下载预编译好的rpm包安装,二是下载源码后自己编译. 如果是通过下载rpm方式安装,首先要找对应centos版本的rpm包. 通过命令 cat /etc/*release* 的输出可以看到centos系统的版本,在我能访问的某个云主机上显示如下: 使用curl -G <URL>命令来浏览网址http://nginx.org/