fuser有风险, 使用要慎重

2255阅读 1评论2010-04-14 blue_stone
分类:LINUX

昨天客户一个正在使用的Linux服务器ssh, telnet等服务突然无法连接, 但是可以ping通. 从控制台登录后, 发现除init进程外, 其他只有getty和gdm进程在运行, xinetd, sshd, 等所有服务进程都消失了. 并且init进程是随机器启动的, 而getty和gdm进程都是故障发生后, 刚刚启动的. 从root执行命令的记录中, 也看不到任何有破坏性命令的痕迹.

简直太干净了!!!

最终, 一位操作员承认他试图弹出光盘时使用了fuser命令, 但是却没有指定正确的挂载点, fuser试图杀死所有使用根目录下文件的进程, 最终除init进程外, 所有的进程都被杀死, 由于gdm和getty写在inittab中, 并且指定的action为respawn, 这些进程被杀死后立即重新启动. 而其他进程则没有这样的幸运.

fuser是一个相当强大的命令, 可以在不加确认的情况下, 杀死使用某些文件或文件系统的进程, 非常有用. 但是这一命令太过强大, 以至于稍有不慎重就可以危及系统安全. 所以在使用之前, 要特别慎重.

和fuser一样可能危害系统的命令还有rm, 相信有不少系统管理员错误的使用rm命令, 导致数据丢失的经历.

对于fuser和rm 等命令, 在实际执行之前, 最好能够看看, 要杀死的是什么进程, 要删除的是什么文件. 然后再执行实际操作, 以尽量减少误操作, 而如果在脚本中使用这些命令, 则一定要考虑清除可能出现的各种情况. 须知: 一失足顿成千古恨!



上一篇:伊虽从未现身江湖, 江湖却到处是伊的传说
下一篇:linux中的ulimit

文章评论