心存敬畏

心存敬畏 让一个团队来同时负责运维和测试工作,是不是件合适的事情?最近一直在思考这个问题。这是两种完全不同风格的工作。测试的目的寻找系统的漏洞,操作是开放式的。鼓励测试人员用各种稀奇古怪的方法,把系统搞崩,不但没人责怪,还会得到表扬。所以测试人员的做事风格比较随性,因为胡乱的点击往往能发现问题。运维刚好相反,所有的操作要按照预定的流程来,每一步都要很小心,如果一不留神把数据删了,又恰好没有备份,又或者把服务器搞崩了,那就悲剧了。

团队的运维工作都是有测试人员兼的,随着项目的交付,运维工作的广度和深度都比以前增加了不少,从以前简单的部署,到现在服务器问题排查,数据库维护等,对测试人员的要求也更高了。从最近一段时间的情况来看,问题主要集中在以下3方面:

  1. 转变做事风格 用测试的做事风格来做运维,那是要出大事的。运维是一项“高危”职业,“安全”是第一要素,每次敲回车,点鼠标左键之前,都要想一想这步操作的后果是什么?如果你不知道,千万别做。想象自己正站在一个独木桥上,在一只脚没有踏稳之前,你敢跨出另一只吗?高中的数学老师说的一句话到现在我还记得,虽然我自己做的也不太好。他说我们在做数学题目时,要抱着一种“如履薄冰,如临深渊”的状态。这八个字用来形容运维工作,那是最适合不过了。在悬崖边,一脚不慎就会落入深渊;在电脑边,手一滑,虽然不至于有生命危险,但带来是损失有时是不可估量的。

  2. 留条后路 没有威亚,武功再好,演员也不敢在空中翻跟头。生活不怕一万,就怕万一。越担心出事,就越要出事。身上如果绑着绳子,走在悬崖边,也就没那么拍了。那么,运维工作的“绳子”是什么呢?你准备好了吗?

  3. 技术能力提升 运维的技术要求和测试完全不同,目前团队缺乏运维相关知识,后面要加强这方面的培训学习。

Read More

曾国藩趣事

曾国藩小时候很笨,但却是出奇的勤奋。据说有一天晚上,小偷光顾他的房间,不多久,曾回来了,小偷来不及逃脱,便钻入床底下,想等着曾国藩睡觉后再悄悄离去。不料曾拿起一本书开始朗读。读了二个多时辰,还是读得磕磕巴巴,但毫不放弃,继续读。等到天都快亮了,曾国藩还没背下来。可把小偷气坏了,从床底下噌地就出来了,一把夺过书,把文章从头到尾背了一遍,然后对着曾说,你这个脑袋,还想读书,哎……长叹一声,扬长而去,留下曾国藩一个人惊坐在那,半天说不出话来。

这是流传在湖南的一个传说,到底是否属实?据考证,曾的一个学生曾经开玩笑似的问过他,老师啊,听说你小时候很笨,坊间流传的故事,是真的吗?曾的态度很值得回味,他没有肯定,也没有否认,只是嘿嘿一笑,不置可否。从这个态度上看,八九不离十就真的。如果是假的,他肯定会立马否认;如果是真的,当然不好意思承认,只能嘿嘿一笑。

Read More

孟母的学区房情结

孟母三迁的故事大家都耳熟能详,为了孟子能有一个良好的成长环境,孟母三次搬家。最早她们是住在一块坟地边上,孟子天天跟别人学祭祀,孟母一看不对,儿子以后不能跟坟地打交道啊,就搬到了集市旁边,于是孟子天天跟卖菜的、卖肉的混在一起。孟母想也不是个办法,以后也不能去卖菜啊,最后搬到了学校边上。

我们仔细分析下这三个地方,坟地一般都离城市很远,说明孟子最早是住在农村里的。后来搬到了集市。当时的集市一般都在城市的边上,也就是说孟母从农村搬到了城郊结合部。那学校位于哪里呢?古时的教育以家庭教育为主,学校很少,一个市也就一所学校,招40个学生左右。学校都位于市中心,比如北京,那得是在故宫边上了。我当时心里一惊,这个孟母不简单啊,能住故宫边上的房子,还是需要一定实力的。小时候心中那个独自拉扯孩子长大的母亲形象不见了,“虎妈”,“女强人”,这些字眼在我脑子里蹦了出来。

看来,现代人这么热捧学区房,也是有原因的,毕竟,早在孟子时代,已经这么做了。

Read More

语言是一颗种子

2014-2015赛季,湖人对阵火箭,比赛打到第四节,湖人落后20多分,已经进入垃圾时间。魔兽霍华德在争抢中给了科比一肘子,科比大怒,骂了声“软蛋”。霍华德也不示弱,以“老狗”回敬。

5年后,在一档谈话节目中,霍华德感谢科比当初骂他“软蛋”,称当时自己不成熟,并不明白科比的用意。

我们先不谈两人的恩怨,切换一下视角,来谈谈语言本身。

语言,是人与人之间沟通的工具,我们通过语言来了解身边的人;企业家用语言打动投资人,获得投资;律师用语言说服法官,赢得官司。我们语言当成一把钥匙,希望打开对方的心门,获得我们所需要的。当这把钥匙失效时,我们会感到沮丧。

其实这个比喻并不恰当,语言的作用并不会马上显示出来,它有一定的延时。科比的一句话,5年后才真正生效。与其说语言是一把钥匙,倒不如说语言是一颗种子。种子从发芽、成长,到开花结果,需要一段时间,语言也一样,我们说的话,不管别人当时有没有反应,都已经“种”进了他的大脑。这颗种子是结善果、恶果还是中途夭折,已经不受我们控制,我们除了静待花开,别无他法,更不必沮丧。

曾国藩小时候很笨,私塾老师教了一个多月后,实在忍无可忍,骂道,你要是以后能当官,我给你提伞。老师骂学生,本是很正常的事,谁没挨过老师的骂呢?偏偏曾国藩虽然笨,心气还很高,这颗种子从此就种下了。后来曾国藩当了京官,回乡时所有其他的老师都不去拜访,偏偏拜访了这位骂过他的老师。那天天气很好,曾却带了把雨伞前去。老师很高兴,当时整个湖南也没几个人在北京当官,学生做了京官,老师自然感到自豪。喝茶聊天之后,曾国藩起身告辞,老师一直把曾送到村口。曾突然一拍脑袋,哎呀,我伞忘老师家了,我得回去拿。老师连忙拦住,说您在这里等会,我回去拿,然后一路小跑回家拿伞。等老师气喘吁吁把伞拿来时,曾国藩还不忘调侃下,老师啊,您总算实现了当初的诺言了。搞得老师一脸愕然。

语言这颗种子,一旦播种下,就再也无法收回,不管是好是坏,都会影响别人很长时间,同时反过来影响你。古人崇尚“沉默是金”,大概是害怕种的越多,恶果越多吧。不过,如果你认为这颗种子最终将结出善果,就要想办法尽早把种子播出去。特别是在家庭教育中,有些话孩子不想听,或者当时不理解,都没关系,重点是要说出来,把种子先种下,然后慢慢的浇水、施肥,让它和孩子一起成长。

Read More

openssh升级记

系统漏洞扫描,扫出一堆安全漏洞,主要的高危漏洞来自openssh。centos自带的版本是6.6的,建议升级到7.9及以上。官网上包都是基于源码安装,比较麻烦,于是网上找了一个7.9版本的rpm包,在自己的虚拟机上先试试。

Linux上安装软件都是比较痛苦的,好久没弄,手有点生疏。捣鼓了一天,总算升级成功了。查询了各种资料,都只能给你一点线索,问题还得你自己去摸索解决。今天我也提供点线索,能不能被搜到,就看各自的造化了。

  1. 下载rpm安装包 csdn上能找到,基本都需要积分下载,以前10块钱能买200积分,现在只能买10个积分左右,涨的有点夸张。为了省点积分,我在网盘上下载了一个,感谢分享的作者,虽然你的文章没帮助我太多,但还是要感谢你无私的分享。下载地址:https://blog.51cto.com/11916514/2340624 在留言里有分享链接。 如果链接失效了,也可以在这里下载。

  2. 更新安装openssh 解压后,有三个rpm文件,直接更新安装即可。 tar -xvf openssh* rpm -Uhvv openssh* vv参数能看到安装过程的详细信息,方便查看安装是否有报错。

  3. 删除ssh_host开头的文件 更新完成后直接启动sshd服务器会报错,报ssh_host的文件权限设置不对,文件格式不对之类的错误。我是直接把这些文件都删了,sshd服务启动会重新生成这些文件。 rm -rf /etc/ssh/ssh_host_

  4. 修改sshd_config配置文件 以下几个参数要修改: PermitRootLogin yes PasswordAuthentication yes ChallengeResponseAuthentication no UsePAM yes 这里特别要留意,原来UsePAM是设成yes的,更新安装后变成了no。远程连接时会报“ssh could not get shadow information for root”错误,设置成yes后,问题解决。

  5. 修改pam中的sshd设置 这是最折腾人的一步,根据错误日志“pam unable to dlopen(/lib/security/pam_pwdb.so)”,类似的错误有好几条,应该是缺少包。系统里没有搜到pam_pwdb.so这个包,网上搜索居然没有现成的,找了几个libpam的rpm包,都无法顺利安装。有篇文章说pam_pwdb.so已经过时了,现在用pam_unix.so代替。在系统里搜索,居然找到了,不过是放在/usr/lib64/security目录下,其他那些缺失的包也都在。这个rpm包应该是在32位系统下制作的,所以路径和64位的不一样。

有了包,就好办了,下一步是找到相应的配置文件,把路径和pam_pwdb这个包名替换掉。找了半天,最后在/etc/pam.d目录下发现有个sshd文件,打开一看,乖乖,配置都在里面。把pam_pwdb.so换成pam_unix.so, 参考其他的配置文件,不需要加路径,直接把/lib/security删掉。最后的配置文件内容如下: auth required pam_unix.so shadow nodelay auth required pam_nologin.so account required pam_unix.so password required pam_cracklib.so password required pam_unix.so shadow nullok use_authtok session required pam_unix.so session required pam_limits.so

  1. 验证 一切修改完毕后,执行命令 systemctl start shhd.service, 用xshell远程连接,成功。 最后检查版本是否是7.9:rmp -qa | grep openssh [root@localhost log]# rpm -qa|grep openssh openssh-clients-7.9p1-1.el6.x86_64 openssh-7.9p1-1.el6.x86_64 openssh-server-7.9p1-1.el6.x86_64

  2. 经验总结 a. 对于只能通过ssh连接的服务器,在ssh服务没有更新成功之前,千万不能关闭现有的连接,ssh服务停止不会影响现有的连接。如果你关闭了,或者把这个进程kill了,那就只能干瞪眼了。最好把winscp也开着,方便传文件。不过,最保险的办法还是装个telnet,现在服务器默认都不装的。

b. 日志信息相当重要,根据日志提示,一步一步解决问题。sshd的日志是/var/log/secure文件,也可通过命令systemctl status sshd.service查看。

Read More