新概念运维之管理员们破坏的数据总要比黑客多

原创
运维 系统运维
人孰无过?但悲催者莫过于身为root犯了错,更悲催者在于你身为root在生产机器上犯了错,最悲催者在于你身为root在生产机器上犯了错,结果发现没有可用的备份——于是你不得不跟那些重要的数据说拜拜了。所以,本文将对这些悲催事儿进行归纳总结,好以史为鉴。

【新概念运维】本次《新概念运维》内容取材自Softpanorama网站的sysadmin horror stories专栏(系统管理员的恐怖故事)。大家在CU论坛上应该也看过类似的误操作收集帖,不过Softpanorama总结的更全面,而且有很多经验丰富的老UNIX管理员们分享经验。

经典语录

管理员们破坏的数据比任何黑客穷其一生所能破坏的数据都要多。——Rick Furniss

如果不想学,经验有个毛用。

只要时间足够长,任何事都会发生在任何人身上。——萧伯纳

经验是***的老师,但傻瓜只认识这一位老师。——本杰明·富兰克林

概述

人孰无过?但悲催者莫过于身为root犯了错,更悲催者在于你身为root在生产机器上犯了错,最悲催者在于你身为root在生产机器上犯了错,结果发现没有可用的备份——于是你不得不跟那些重要的数据说拜拜了。

所以,就需要对这些悲催事儿进行归纳总结,好以史为鉴。无论在怎样的情况下,任何错误都应被记录为文档以警醒自己和后人。

在这些错误中最常见的问题在于管理员对所处场景的混淆,因为管理员经常会同时操作多个窗口。

第二大原因应该在于对危险性的错误评估。人们对于危机的反应通常是感性的,所以系统管理员们有时候可能只是犯了个小错误,结果由于下意识的反应过度导致了更大的问题。

对于这两点,一些通用建议如下:

1、使用VNC、Worker等图形化工具进行服务器连接,并为不同的机器设置不同的背景桌面,这样可以大大减少在错误的机器上操作的几率。

2、如果坚持使用命令行方式登录,那么尽量仅在你当前处理的机器上登录为root,在其他机器上只用你自己的没有root权限的id。

其他建议包括:

  1. 对于要应用在生产环境的变更进行严密的记录和重重测试。
  2. 保证睡眠,减少疲劳。
  3. 少喝咖啡。
  4. 在日常操作中,严格按照计划执行,不要做多余的、心血来潮的事情。
  5. 质量***。对管理员而言,欲速则不达是一条真理。要养成急事缓办的习惯。

那些悲催的事儿

为了从他人的经验中更有效率的总结学习,作者将之前Anatoly Ivasyuk整理过的一些材料重新进行了分类,看起来更加一目了然。本次《新概念运维》将仅翻译这个分类目录,相信大家一看就能明白。如果想看更多的故事,可以在原网站阅读(英文)

1、不能用的备份

要记住,如果事情搞砸了,备份是你恢复系统的***一根救命稻草。

2、锁上门发现自己在门外

这包括几个情景:

  • root账号访问关了
  • 把网络服务关闭了
  • 被刚修改完的防火墙规则挡在墙外了
  • root密码忘了

3、在错误的机器上操作

这可能跟服务器的命名规则有关,你可能想输入WEB200结果输入了WEB300;这可能是因为你打开了好几个终端窗口,在急急忙忙去吃饭前跑到了错误的服务器上执行命令。所以,执行命令之前,一定仔细看清楚shell提示符上写的是哪台机器。避免同时打开多个终端窗口,毕竟关掉再打开窗口只不过是几秒钟的事儿,却可以避免一些糟糕事情的发生。

4、在错误的路径下操作

一般遇到这种情况,都是由疲劳或压力过大导致的神志不清所引起的。

5、不懂正则表达式

菜鸟管理员们可能没意识到“.*”可以匹配“..”。此类对象最怕跟chmod,chown和rm命令一起执行,尤其是如果再加上一个-r参数的情况。

6、find命令惹的祸

find是个复杂的命令,用错了后果会很严重。尤其是在没好好测试的情况下使用了-exec参数的情况。

7、对使用/或系统目录作为home目录的用户进行操作

进行删除用户的操作,结果发现把整个系统都删干净了……而且如果删除用户的操作通过crontab执行,可能会痛苦好几天。

8、对重要命令的参数理解不深入,或者没经过测试就在生产环境下执行复杂的命令

这种问题的发生通常来自于赶时间。常见问题包括:

  • 执行复杂的rm命令之前没用ls先测试一遍:在决定rm掉一串东西之前,一定要记得先用ls看看这串东西都是啥!更不用说要和带有exec参数的find命令一起执行的时候。
  • 执行rm的时候打错了字:打错字总是难免的,复制粘贴最靠谱。

9、改错了文件所有者

把chown和find一起用经常会出现这种问题,所以请先测试。

10、对系统安全性过于偏执

目前的很多安全建议其实都是愚蠢的,并且对生产效率产生了副作用。比如遵循安全建议更改了/bin和/usr/bin的所有者,结果谁也登陆不进去了。

11、赶时间

单独把赶时间列成一条,是因为赶时间是造成问题最有利的元凶。

12、打补丁引发的血案

打补丁会引发问题。一般而言,Sun的补丁测试工作做得非常全面;IBM和HP做得少点;Novell放出的更新补丁则有可能让整个系统挂掉,更新完了可能会发现Sendmail或Bind这样的开源系统少了些什么零件。往生产环境更新补丁前必须走测试流程,这是常识。另外,更新***用DVD,别相信什么官网的在线更新。

13、糟糕的自动化脚本

尤其是如果自动化脚本中有删除文件的操作的情况下,编写不严谨的自动化脚本会让用户觉得十分糟糕。

14、多个管理员同时在一台服务器上工作

最常见的,一个管理员走了,走之前改了root密码……

15、不成熟的优化和系统清理

有时候你看着某个文件多余,虽然不知道它存在的目的但是出于不顺眼将其删除,结果会发现这是一个愚蠢的决定。

16、不同操作系统产生的混乱

比如在Solaris下,运行级5(run level 5)代表重启,而Linux下的运行级5代表在有网络和X11的环境下运行系统。

17、纯犯傻

纯犯傻是可以预防的。另外如果你确定某个人是菜鸟,那么***别让他拥有root的密码。

 

【有关新概念运维】

在日常的系统管理运维工作中,每个人对于系统、工具、应用、命令、架构以及工作中的其他方面都会有自己的理解。理解方式的不同也意味着不同的认知,因此,这种理解方式的交流,也可能碰撞出更多思维的火花,让每个人从另一个角度了解自己每天从事的工作。51CTO系统频道从日常和运维人员的交流中收集这些理解方式,组合成短文集,名为《新概念运维》。

【编辑推荐】

  1. 资深系统管理员十年感悟:闲谈IDC【新概念运维】
  2. 新概念运维之文件都到哪儿去了
  3. 新概念运维之强迫症会害死系统管理员

 

责任编辑:yangsai 来源: 51CTO.com
相关推荐

2011-05-04 09:27:45

系统管理员强迫症

2011-04-22 11:00:17

运维

2011-06-02 13:45:33

2011-07-11 12:13:47

2011-06-14 09:12:12

管理员文件

2012-09-27 10:18:25

机房运维监控

2009-10-13 15:53:43

机房管理系统

2012-09-03 10:39:13

Hadoop管理员

2010-05-20 09:09:07

Linux内核

2014-08-04 10:10:35

IT运维自动化运维

2010-08-27 15:24:56

2011-08-05 14:11:28

技术周刊

2011-05-20 09:29:32

运维工作

2013-12-20 13:51:38

IT运维运维管理员年终总结

2019-03-15 10:13:10

运维云计算运营

2013-12-17 10:48:20

2010-08-02 09:13:10

系统管理员开源工具链

2013-07-25 16:57:45

BPM炎黄盈动

2023-11-08 13:34:13

2012-12-12 16:05:55

虚拟化存储
点赞
收藏

51CTO技术栈公众号