linux – / dev / null文件成为常规文件

在我们的生产服务器中突然/ dev / null成为常规文件,并且由于此sshd服务已停止并且无法登录服务器.我们还尝试以下步骤配置回字符设备文件,
rm -rf /dev/null
mknod /dev/null c 1 3

一旦我们运行rm命令,就会在mknod运行之前将/ dev / null重新创建为常规文件.我们无法弄清楚这是如何发生的以及创建此文件的组件.因此,在我们解决此问题之前,我们无法将/ dev / null创建为字符设备文件.

解决方法

当您删除(rm)/ dev / null时,任何正在运行且需要“> / dev / null”或等效的程序/脚本将重新创建具有该名称的新(常规)文件.
那些可以随时产生(有些也可能不断写入)

打败他们:

你创建一个新的/ dev / null特殊文件(在不同的名称下)

mknod /dev/newnull c 1 3
chmod 777 /dev/newnull

然后将其移动(以root身份)连续创建的:

mv -f /dev/newnull /dev/null

只有这样你才能重新启动(不要在没有适当的/ dev / null文件的情况下重新启动……通常不容易)[我忘记了这一步,这当然是必要的.谢谢@ Random832的提醒!]

你最后需要重新启动,以摆脱仍然打开“/ dev / null”的现有程序仍然会写入文件系统,即使你之后更换它,一点一点地填充文件系统)(的确),就像删除文件一样,任何仍然打开该文件描述符的程序仍然可以写入前一个inode,即使文件名现在指向新文件名)

相关文章

/etc/sysctl.conf这个目录主要是配置一些系统信息,/etc/sys...
1.作用 useradd或adduser命令用来建立用户帐号和创建用户的起...
它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅...
不管是我们在安装软件还是监测软件的使用性能,我们都要随时...
装好Tomcat7后,发现除了本机能访问外界访问不了,岂有此理。...
修改防火墙配置需要修改 /etc/sysconfig/iptables 这个文件,...