- 论坛徽章:
- 0
|
大家好!\r\n\r\n最近遇到一个问题:\r\n\r\n需求:记录每个用户的所有操作到指定文件。\r\n\r\n环境:SUNOS 5.6\r\n\r\n描述:\r\n\r\n记得unix有命令history可以查看每个用户的操作,所以希望在solaris上找到相同的程序,稍作修改即可。不幸的是solaris本身并没有history这个命令。\r\n\r\n希望通过对AIX下的history的研究,在solaris上实现该功能。\r\n\r\n查阅大量资料,有以下发现:\r\n\r\n1,history是fc -l命令的别名\r\n\r\n2, cat /bin/fc (AIX) \r\ncommand=`/usr/bin/basename $0` # Invoke the ksh builtin\r\nif [ \"$command\" = \"type\" ]\r\nthen\r\n whence -v \"$@\"\r\nelif [ \"$command\" = \"hash\" ]\r\nthen\r\n alias -t - \"$@\"\r\nelse\r\n $command \"$@\"\r\nfi\r\n\r\n3,solaris下无此别名,但在/bin/下仍有fc\r\ncat /bin/fc (solaris)\r\ncmd=`basename $0`\r\n$cmd \"$@\"\r\n\r\n4,fc输出文件为用户主目录下: .sh_history\r\n该文件应该有大小,行数或时间限制\r\n\r\n\r\n请教达人高手如何在solaris下使用fc,并将输出重定向到其它文件?\r\n\r\n\r\n___________________________________________________________\r\n\r\n\r\n\r\n答案:\r\n1,vi .profile\r\nSHELL=/bin/ksh;export SHELL\r\nHISTFILE=/opt/log/my_history;export HISTFILE\r\n如果你有大小要求:\r\nHISTSIZE=xxx;export HISTFILE\r\n\r\n如果建立用户的时候指定了sh,还要到/etc/passwd修改下默认sh就可以了\r\n\r\n用fc -l查看,觉得不方便自己加个别名就可以了\r\n\r\n2,/usr/lib/acct/accton /opt/mylog/pacct\r\n 将/usr/lib/acct/startup加到启动脚本里面\r\n需要看的时候\r\ncp /opt/mylog/pacct /var/adm/pacct\r\n然后用lastcomm查看所有记录,用lastcomm username查看指定用户。\r\n\r\nSUN工程师称该方案不占用系统多少资源,可以放心使用。\r\n\r\n谢谢大家尤其是2位版主的帮助!\n\n[ 本帖最后由 c5085 于 2006-2-10 17:46 编辑 ] |
|