ITPub博客

首页 > Linux操作系统 > Linux操作系统 > [20121121]关于linux下history命令.txt

[20121121]关于linux下history命令.txt

原创 Linux操作系统 作者:lfree 时间:2012-11-21 10:48:04 0 删除 编辑
[20121121]关于linux下history命令.txt

昨天跟别人聊天,提到linux下history命令带来的安全隐患,主要是一些命令会记录在~/.bash_history中。实际上有许多方法可以使系统不记录这样一些命令,自己也看了一些文档,总结如下:

1.使用环境变量HISTCONTROL。

export HISTCONTROL=ignorespace

如果设置HISTCONTROL=ignorespace,这样开头有空格的命令就不会记录。例子:

export HISTCONTROL=ignorespace
ls -l
 sqlplus scott/tiger
history | tail -4

 1014  2012-11-21 10:12:31 = export HISTCONTROL=ignorespace
 1015  2012-11-21 10:12:35 = ls -l
 1016  2012-11-21 10:12:53 = history | tail -4

--可以发现sqlplus的命令就没有记录在里面。

2.以上情况下要主要要求管理员在输入口令时有意识的规避,前面加空格,或者在命令行不输入口令。不注意还是会记录在历史文件中的。还可以使用HISTIGNORE参数,这样可以限制一些命令不出现在历史记录中。

export HISTIGNORE="sqlplus*:impdp*:expdp*:imp*:exp*:rlwrap*:*system*"

注意一定要使用*号,而且和上面的HISTCONTROL=ignorespace配合起来,就可以达到比较好的安全目的。例子:

export HISTIGNORE="sqlplus*:impdp*:expdp*:imp*:exp*:rlwrap*:*system*"
export HISTCONTROL=
w
 sqlplus scott/tiger
 sqlplus system/xxxx
history | tail

 1001  2012-11-21 10:35:48 = export HISTIGNORE="sqlplus*:impdp*:expdp*:imp*:exp*:rlwrap*:*system*"
 1002  2012-11-21 10:35:50 = w
 1003  2012-11-21 10:36:02 =  sqlplus scott/tiger
 1004  2012-11-21 10:36:05 = history | tail

--可以发现取消HISTCONTROL设置,带空格的sqlplus命令记录在历史中,而sqlplus system/xxxx因为包括在*system*中不记录。
--所以要建立更加严格的安全机制,最好设置如下:

export HISTIGNORE="*sqlplus*:*imp*:*exp*:*rlwrap*:*system*"
export HISTCONTROL=ignorespace

3.另外history其他参数中设置,我个人觉得设置如下:(效果如上)
export HISTTIMEFORMAT='%F %T = '






来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/267265/viewspace-749635/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
熟悉oracle相关技术,擅长sql优化,rman备份与恢复,熟悉linux shell编程。

注册时间:2008-01-03

  • 博文量
    4006
  • 访问量
    7969295