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

[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博客 ” ,链接:http://blog.itpub.net/267265/viewspace-749635/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/267265/viewspace-749635/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值