温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

比较Unix和linux的历史命令记录

发布时间:2020-07-16 23:25:16 来源:网络 阅读:1189 作者:zhuw1989 栏目:系统运维

 比较Unixlinux的历史命令记录

这里使用的unix版本是sun solaris9linux版本是centos5.5,比较二者历史命令记录的一些异同点来。

Solaris有个极为有用的记账功能,通过设置日志文件对每个用户的每一条命令进行记录,这一功能默认是不开启的,为了打开它,需要执行/usr/lib/acct/目录下的accton文件,格式如下:/usr/lib/acct/accton /var/adm/pact。在sun手册上,只有这一种用法,但这样的缺点是明显的,大多数有经验的***者一定不会放过/var/adm/var/log这两个目录,发现pacct文件,会获取root用户的命令历史记录,同时又可以删除自己的记录。这种情况其实有个很好的解决办法,执行/usr/lib/acct/accton,后面跟一个别的目录和文件即可。如下面:/usr/lib/acct/accton /home/log/commandlog。管理员想查看记录时,只要把commandlog这个文件拷贝到/var/adm下,改为pacct,使用命令lastcomm命令就可以查看记录了。如果想关闭,输入/usr/lib/acct/accton.即可。

Linux下也有命令历史记录,默认下用户输入的命令会被记录在~/.bash_history(以默认bash为例),可以用命令history来查看,每个用户的命令历史记录都记录在各自的文件里。

现在来说说说二者的不同,solaris里面是用syslogd来实现的记账功能,记录的每个用户的每个命令,所有记录都在同一个文件里,用lastcomm查看时,能看到执行命令的用户和时间,但没有记录命令的参数。

Linux中的命令历史记录是由bash(以bash为默认shell)来完成的,记录是各自用户的每个命令,并且记录了命令的参数,但默认是没有显示执行命令的时间的,可以通过设置,让history命令显示命令执行的时间。如下面的设置:

# vi /etc/bashrc

添加下面三行

# 让系统记录每条历史命令的执行时间。注意最后的"号前面要放个空格

export HISTTIMEFORMAT=""%Y-%m-%d_%H:%M:%S "

# 设置保存历史命令的文件大小

export HISTFILESIZE=1000000

# 保存历史命令条数

export HISTSIZE=2000

保存退出

执行命令 source /etc/bashrc使配置立即生效。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI