[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 = '

时间: 2024-09-23 23:38:54

[20121121]关于linux下history命令.txt的相关文章

Linux下history命令详解---转载

Linux下History命令主要用于显示历史指令记录内容, 下达历史纪录中的指令 . >History命令语法: [www.linuxidc.com@linux]# history [n] [www.linuxidc.com@linux]# history [-c] [www.linuxidc.com@linux]# history [-raw] histfiles 参数: n  :数字,要列出最近的 n 笔命令列表 -c :将目前的shell中的所有 history 内容全部消除 -a :将

linux下history命令的使用方法

History命令主要用于显示历史指令记录内容, 下达历史纪录中的指令 . 1>History命令语法: [test@linux]# history [n] [test@linux]# history [-c] [test@linux]# history [-raw] histfiles 参数: n   :数字,要列出最近的 n 笔命令列表 -c  :将目前的shell中的所有 history 内容全部消除 -a  :将目前新增的history 指令新增入 histfiles 中,若没有加 hi

理解 Linux 下 Shell 命令的不同分类及它们的用法

当你打算真正操纵好你的 Linux 系统,没有什么能比命令行界面更让你做到这一点.为了成为一个 Linux 高手,你必须能够理解 Shell 命令的不同类型,并且会在终端下正确的使用它们. 在 Linux 下,命令有几种类型,对于一个 Linux 新手来说,知道不同命令的意思才能够高效和准确的使用它们.因此,在这篇文章里,我们将会遍及各种不同分类的 Linux Shell 命令. 需要注意一件非常重要的事:命令行界面和 Shell 是不同的,命令行界面只是为你提供一个访问 Shell 的方式.而

Linux下find命令实例

Linux下find命令实例 $find ~ -name "*.txt" -print #在$HOME中查.txt文件并显示 $find . -name "*.txt" -print $find . -name "[A-Z]*" -pri26nbsp; #对匹配的文件使用cpio命令,将他们备份到 磁带设备中-prune #忽略某个目录 $find . -name "[A-Z]*" -print #查以大写字母开头的文件 $f

Linux 下 Make 命令实例详解

  Linux 下 Make 命令实例详解          Linux 下 make 命令是系统管理员和程序员用的最频繁的命令之一.管理员用它通过命令行来编译和安装很多开源的工具,程序员用它来管理他们大型复杂的项目编译问题.本文我们将用一些实例来讨论 make 命令背后的工作机制. Make 如何工作的 对于不知道背后机理的人来说,make 命令像命令行参数一样接收目标.这些目标通常存放在以 "Makefile" 来命名的特殊文件中,同时文件也包含与目标相对应的操作.更多信息,阅读关

理解Linux下Shell 命令的不同分类及它们的用法

当你打算真正操纵好你的 Linux 系统,没有什么能比命令行界面更让你做到这一点.为了成为一个 Linux 高手,你必须能够理解 Shell 命令的不同类型,并且会在终端下正确的使用它们. 在 Linux 下,命令有几种类型,对于一个 Linux 新手来说,知道不同命令的意思才能够高效和准确的使用它们.因此,在这篇文章里,我们将会遍及各种不同分类的 Linux Shell 命令. 需要注意一件非常重要的事:命令行界面和 Shell 是不同的,命令行界面只是为你提供一个访问 Shell 的方式.而

[20140707]linux下使用iotop.txt

[20140707]linux下使用iotop.txt 生产系统disk io量很大,并且很慢,像通过os命令了解那个进程存在大量io.使用vmstat,dstat,nmon只能了解大概的情况,不能确定那个 进程. 检查安装包发现iotop可以满足需要,我安装的是centos 6.2. 参数如下: OPTIONS        --version               Show the version number and exit        -h, --help           

grep-windows下类似linux下搜索命令

问题描述 windows下类似linux下搜索命令 想问一下如何在windows下有没有类似linux下的"find "+url+" | xargs grep "+keyWords的命令, 就是在指定路径下通过关键字搜索返回含有关键字的文件. 解决方案 写个批处理留着,类似http://wenku.baidu.com/link?url=KC_AB4vCJ85JbBT0EJFYwzQOvuqmDdATAOVwv85raC_q6N0-CXd9d7pk3n3yz1pobh

Linux下ps命令的10个基本例子

  在Linux下ps命令是用于查看系统上运行的进程的最基本的命令之一.它提供了当前进程的同时,如用户ID,CPU使用率,内存使用率,命令名称等,它不显示实时数据,如top或htop命令的详细信息.但是,即使是功能和输出简单,但它仍然是一个必用的过程管理/监控工具,每一个Linux新手应该知道这一点,好好学习.在这篇文章中,我们将使用ps命令以不同的方式来查看进程.筛选和排序它们,以加强基础部分. 语法注意: ps命令带有2种不一样的风格,分别是BSD和UNIX.新用户经常会混淆和错误地解释这两