博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

星瞳——吾爱

本BLOG的技术类文章,未注明转贴,都是原创。放在“原创”文件夹的肯定是原创;其它文件夹的有些文章因部分文字是网上各处摘录的,故未放在“原创”文件夹中。 我的另一BLOG是 http://www.aixchina.net/?1865
我对第二届AIX高手挑战赛中一道论述题的回答

    很久没有更新BLOG了,原因就是忙。忙着适应新环境,忙着接手新工作,整天忙得昏天黑地,还不得不忙里偷闲自学些新东西(先后是SYBASE、用VBSCRIPT写WINDOWS平台的WMI、ADSI脚本、AS/400,都是工作中要用到的,不学也不行),忙得没心情再更新了。11月28号作为选手在北京参加了第二届AIX挑战赛,没进前三,所以没有回答论述题的机会,只有听的份儿。不过听了别人的回答和评委的点评,感觉几乎所有的问题都不尽如意。比如其中有一道论述题是——如何查看用户以前执行命令的具体时间?我想如果让我回答的话,我会按照这个思路讲:
1、AIX 5.3引入了一个新的环境变量:EXTENDED_HISTORY=ON,这样history -t(fc -t)可以看到时间。顺便讲讲history与fc -l的关系(alias)
2、单独使用EXTENDED_HISTORY用处不大,两点原因:AIX 5.2以前不支持这个环境变量;一般的需求是需要知道哪个人哪个时间敲了哪个命令,在多个人使用相同ID登录或者多个ID都su -成了root的情况下,只使用EXTENDED_HISTORY是无法知道哪个人的,所以说这样没有用。
2.1、AIX 5.2以前怎么办?
写个脚本放到/etc/profile里,这种方法是通用的,适用于AIX 任何版。下面再细说。
2.2、多个人使用相同ID登录或者多个ID都su -成了root的情况怎么办?
使用另一个环境变量HISTFILE。
3、上面说的脚本怎么写?
简单的说就是用户一登录,自动在后台运行一个死循环命令,每sleep一段时间后,echo `date`追加进$HISTFILE。使用脚本会引发的一系列问题,下面讲如何一一解决:
3.1、logout时,死循环命令如何kill掉?
用trap,/etc/profile里有trap用法的例子。
3.2、echo `date` >>$HISTFILE的缺陷,如何解决?
缺陷,本文不细说,用了就知道。解决方法是read命令,本文也不细说。
3.3、如何让用户不发觉使用了HISTFILE?
目的是防止用户自己篡改记录,让用户误以为命令记录在默认位置$HOME/.sh_history。做法是启个后台进程tail -f,保持$HISTFILE和$HOME/.sh_history的同步。
3.4、如何让用户不发觉有个tail -f 的奇怪进程?
两点:对tail做个hard link;HISTFILE中不能看到用户名之类字符串。
3.5、HISTFILE中不能看到用户名之类字符串,怎么实现?
还是可以用脚本。思路:将ABC转换成XYZ肯定不难写,但要考虑事后追查时,再如何把XYZ转换成ABC。具体写法,本文不细说。
3.6、其它问题
3.6.1、比如起“echo `date` >>$HISTFILE”作用的脚本不能让用户看到内容,怎么做?
rm掉。怎样和何时rm?其实很简单。本文不细说。
3.6.2、还有一些要考虑的细节问题,本文不细说。
4、除了脚本,是否还有别的方法?
有,比如lastcomm。讲讲lastcomm的安装和缺陷。讲安装时,说说AIX5L和SOLARIS8;讲缺陷时,举个mv oldfile newfile的例子。
5、道高一尺、魔高一丈的做法
假如我是“魔”,不想让“道”看到我敲的命令,我就这样:vi file、ksh file。
6、魔高一尺、道又高一丈的做法
6.1、审计
审计是否能看到ksh file中file的真正内容呢?我印象中可以,但不十分确定。说说审计的缺陷:占资源多;信息太多跟没有信息差不多——就象在一碗沙子里找一粒米。
6.2、其它方法
portmir、script等,各自都有缺陷,本文不细说。
    其实这是29号上午就写好的,一直懒得贴出来,这几天把前一阵子堆积的工作处理得七七八八,有点儿闲空,觉得既然写了就贴出来算了。评委出题的本意就是要考AIX5.3新增加的那个环境变量,但我觉得单独使用一个环境变量没有实际用处(前面已论述),所以就“文不对题”地扩展出很多东东,这些都是原来做AIX管理员时的经验之谈,脚本的做法在原公司已经实施,所以不便说得太细。
    比赛时,我对房评委有点儿小意见,觉得他剥夺了我进入前三的机会,但希望假如他老人家看到本文不要对我有意见就好了。:)当然自己失利怨别人显然是不对的,最该怨的肯定还是自己。最后,顺便提下我在LU写的“关于AIX挑战赛的几点建议”——http://www.loveunix.net/discuz/thread-79193-1-2.html ,希望以后的AIX高手挑战赛能办得更好!

========================================================================
任何形式的转载,请写明出处:
email: beginner@yeah.net
blog: http://blog.chinaunix.net/index.php?blogId=739   http://www.cublog.cn/u/739/
========================================================================

发表于: 2007-12-06,修改于: 2007-12-06 00:30,已浏览535次,有评论5条 推荐 投诉
网友: 本站网友 时间:2007-12-15 15:21:54 IP地址:60.176.180.★
呵呵,加油,很多兄弟们都支持着马老师你呢
排个名次又有啥要紧的呢?在我们心中,马老师你一直是最棒的^_^

网友: banker 时间:2008-02-23 17:52:01 IP地址:202.108.130.★
加油,小马哥,你已然是一个专家了!

网友: fck 时间:2008-03-11 09:51:32 IP地址:218.61.34.★
哇,这么复杂,佩服!

网友: 本站网友 时间:2008-03-23 23:11:20 IP地址:116.204.224.★
厉害!!!理解的太好了啊!!! 小马歌对shell的理解不是一般的深啊!!

网友: 本站网友 时间:2008-06-28 16:32:17 IP地址:121.30.248.★
很高 的 高


给我留言
版权所有 ChinaUnix.net 页面生成时间:2.75545