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