怎样利用Linux记录查询找出黑客
2016-04-14 22:16
573 查看
当编译器出现问题,代码被修改的时候,往往第一时间找不到重要的信息。今天给大家写的这篇文章的目的就是告诉大家怎么把服务器上的所有操作记录的信息记录全,以及查看信息用到的一些简单命令。
查看用户登录的情况
常用的有 who 和 last 命令
who命令
首先使用 who 命令可以查看当前服务器上有哪些用户在使用。
语法:who [-Himqsw][–help][–version][am i][记录文件]
参数:
-H 显示各栏位的标题信息列。
-i或-u 显示闲置时间,若该用户在前一分钟之内有进行任何动作,将标示成”.”号,如果该用户已超过24小时没有任何动作,则标示出”old”字符串。
-m 此参数的效果和指定”am i”字符串相同。
-q或–count 只显示登入系统的帐号名称和总人数
who am i (whoami)这个命令查看当前终端是哪个用户的信息。
last命令
使用 last 命令可以查看最近的服务器登录情况。
语法:last [-adRx][-f <记录文件>][-n <显示列数>][帐号名称…][终端机编号…]
参数:
-a 把从何处登入系统的主机名称或IP地址,显示在最后一行。
-d 将IP地址转换成主机名称。
-f <记录文件> 指定记录文件。
-n <显示列数>或-<显示列数> 设置列出名单的显示列数。
-R 不显示登入系统的主机名称或IP地址。
-x 显示系统关机,重新开机,以及执行等级的改变等信息。
-i 显示指定ip的登录情况
-t 显示YYYYMMDDHHMMSS之前的信息
单独执行last指令,它会读取位于/var/log目录下,名称为wtmp的文件,并把该给文件的内容记录的登入系统的用户名单全部显示出来。
默认读取的是wtmp文件,还有一个/var/log/btmp文件,这里面记录了更加全的信息,可以查看。可使用-f 参数指定文件,显示出来。
查看历史操作记录
历史命令的操作我们常用的就是 history 这个命令能看所有的操作命令,但是默认的很单调没有很多的详细信息,下面就是修改配置,来增加我们的详细信息。
history命令
默认显示的是一个简单的编号和命令,想要查找一些有用的信息都无法查看到,所以要对其进行修改。
修改history命令记录的长度和文件大小及显示时间格式
在系统修改 /etc/bash.bashrc 文件,在最后面加入下面的语句
HISTFILESIZE=20000
HISTSIZE=20000
HISTTIMEFORMAT="%Y%m%d-%H%M%S:"
export HISTTIMEFORMAT
设置history默认的格式
在系统中修改 /etc/profile 文件,在文件的最后加入下面语句:
#设置history格式
export HISTTIMEFORMAT="[%F %T] [`who am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`] "
#实时记录用户在shell中执行的每一条命令
export PROMPT_COMMAND='\
if [ -z "$OLD_PWD" ];then
export OLD_PWD=$PWD;
fi;
if [ ! -z "$LAST_CMD" ] && [ "$(history 1)" != "$LAST_CMD" ]; then
logger -t `whoami`_shell_cmd "[$OLD_PWD]$(history 1)";
fi ;
export LAST_CMD="$(history 1)";
export OLD_PWD=$PWD;'
上面这个脚本可以记录下在哪个目录执行了哪些操作以及时间等信息,这样就可以方便我们查看在服务器上谁什么时间在哪个目录执行了哪些操作。
需要退出终端重新进行登录,然后在执行 history 就能看到效果了。通过上面的流程一般就可以查看linux下的操作记录,了解更多linux的使用技巧不妨来学习:linux系统教程(http://www.maiziedu.com/course/qrs/)
查看用户登录的情况
常用的有 who 和 last 命令
who命令
首先使用 who 命令可以查看当前服务器上有哪些用户在使用。
语法:who [-Himqsw][–help][–version][am i][记录文件]
参数:
-H 显示各栏位的标题信息列。
-i或-u 显示闲置时间,若该用户在前一分钟之内有进行任何动作,将标示成”.”号,如果该用户已超过24小时没有任何动作,则标示出”old”字符串。
-m 此参数的效果和指定”am i”字符串相同。
-q或–count 只显示登入系统的帐号名称和总人数
who am i (whoami)这个命令查看当前终端是哪个用户的信息。
last命令
使用 last 命令可以查看最近的服务器登录情况。
语法:last [-adRx][-f <记录文件>][-n <显示列数>][帐号名称…][终端机编号…]
参数:
-a 把从何处登入系统的主机名称或IP地址,显示在最后一行。
-d 将IP地址转换成主机名称。
-f <记录文件> 指定记录文件。
-n <显示列数>或-<显示列数> 设置列出名单的显示列数。
-R 不显示登入系统的主机名称或IP地址。
-x 显示系统关机,重新开机,以及执行等级的改变等信息。
-i 显示指定ip的登录情况
-t 显示YYYYMMDDHHMMSS之前的信息
单独执行last指令,它会读取位于/var/log目录下,名称为wtmp的文件,并把该给文件的内容记录的登入系统的用户名单全部显示出来。
默认读取的是wtmp文件,还有一个/var/log/btmp文件,这里面记录了更加全的信息,可以查看。可使用-f 参数指定文件,显示出来。
查看历史操作记录
历史命令的操作我们常用的就是 history 这个命令能看所有的操作命令,但是默认的很单调没有很多的详细信息,下面就是修改配置,来增加我们的详细信息。
history命令
默认显示的是一个简单的编号和命令,想要查找一些有用的信息都无法查看到,所以要对其进行修改。
修改history命令记录的长度和文件大小及显示时间格式
在系统修改 /etc/bash.bashrc 文件,在最后面加入下面的语句
HISTFILESIZE=20000
HISTSIZE=20000
HISTTIMEFORMAT="%Y%m%d-%H%M%S:"
export HISTTIMEFORMAT
设置history默认的格式
在系统中修改 /etc/profile 文件,在文件的最后加入下面语句:
#设置history格式
export HISTTIMEFORMAT="[%F %T] [`who am i 2>/dev/null| awk '{print $NF}'|sed -e 's/[()]//g'`] "
#实时记录用户在shell中执行的每一条命令
export PROMPT_COMMAND='\
if [ -z "$OLD_PWD" ];then
export OLD_PWD=$PWD;
fi;
if [ ! -z "$LAST_CMD" ] && [ "$(history 1)" != "$LAST_CMD" ]; then
logger -t `whoami`_shell_cmd "[$OLD_PWD]$(history 1)";
fi ;
export LAST_CMD="$(history 1)";
export OLD_PWD=$PWD;'
上面这个脚本可以记录下在哪个目录执行了哪些操作以及时间等信息,这样就可以方便我们查看在服务器上谁什么时间在哪个目录执行了哪些操作。
需要退出终端重新进行登录,然后在执行 history 就能看到效果了。通过上面的流程一般就可以查看linux下的操作记录,了解更多linux的使用技巧不妨来学习:linux系统教程(http://www.maiziedu.com/course/qrs/)
相关文章推荐
- centos7火狐插件安装flash插件;
- Centos 7.0 忘记密码,如何重置
- Linux下进程间通信之共享内存
- 1.2.6 Linux distributions
- Linux下常用的C/C++开源Socket库
- Linux下的Autoconf和AutoMake
- 1.2.5 Linux的内核版本
- 1.2.4 Linux的开发:虚拟团队的产生
- Linux进程调度——schedule()函数分析
- 1.2.3 初次释出Linux 0.02
- Linux---centos搭建SVN服务器
- 将/proc/uptime文件中的数转化成long然后转成日期
- linux 的 socket例子
- linux系统时间同步,硬件时钟和系统时间同步,时区的设置
- Linux gdb 调试命令
- Linux学习笔记知识点(find命令)
- 基于Linux和Windows管理的samba
- linux基础学习之 grep总结
- linux常用命令(一)
- arm移植NTP(同步嵌入式linux系统时间)