Linux 版 (精华区)

发信人: don (孤独的人是可耻的), 信区: Linux
标  题: 关于6.22 bbs发生故障一点说明(转载)
发信站: 哈工大紫丁香 (2000年06月23日21:08:47 星期五), 站内信件

【 以下文字转载自 HITNews 讨论区 】
【 原文由 deem 所发表 】

6.22也就是昨天, 先是有人发现邮件全没了, 后来发现有人的好友名单

也全丢了! 这时候! cucme从北京登回来和wugang发现bbs的目录已经被

什么东西删的差不多了, 没有办法,只好紧急决定停机!

停机后, 我和wugang,sun在机房开始查找事故原因.

开始以为bbs被人控制了! 或者有人在系统上做了木马! 查了很长时间

也没有结果, 后来wugang发现bbs的日志中有这样一件事发生的时间和

目录被删时间和相似: "KILL 字谦". 于是我们查找源代码写下这条日

志的地方发现是注册新用户时查找过期id的一段代码, 这时很快想到

有可能是由中文id引起的故障. 于是试着new了一个账号, 果然,发现

终端没有反应了, 而且home下的文件和目录开始一个一个被删了!

到这里总算发现故障原因了, 故障代码如下:

if (!bad_user_id(utmp.userid)) {
     sprintf(genbuf, "mail/%c/%s",
         toupper(utmp.userid[0]), utmp.userid);
     f_rm(genbuf);
     sprintf(genbuf, "home/%c/%s",
         toupper(utmp.userid[0]), utmp.userid);
     f_rm(genbuf);
    }

也就是sprintf在处理中文时出现了故障, 转化没有成功,使得指定目录

变成了home, mail, 也就是一顿狂删了! 这是fb2000自己的代码, 现在的问

提时究竟是什么引起的中文id, 事实上,中文id石注册不上的!还有就是如果

上午就有人发现无法注册新账号报告一下bug的话, 这次停机就不会拖这么长

时间了!

--
                   _|_|_|
                   _|    _|   _|_|     _|_|   _|_|_|  _|_|
                   _|    _| _|_|_|_| _|_|_|_| _|    _|    _|
                   _|    _| _|       _|       _|    _|    _|
                   _|_|_|     _|_|_|   _|_|_| _|    _|    _|
 

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.243.42]
--
※ 修改:·tcpip 於 06月23日21:38:11  修改本文·[FROM: mtftp.hit.edu.cn]
※ 转载:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: 202.118.243.42]
--
※ 转载:.哈工大紫丁香 bbs.hit.edu.cn.[FROM: 202.118.239.63]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:3.224毫秒