Linux操作系统中记录操作记录的地方

目录1. history -c命令2. ~/.bash_history文件3. /var/log/secure 安全日志文件4. /var/log/lastlog二进制日志文件5. /var/log/wtmp二进制日志文件

清除Linux操作系统里的操作记录:

history -c 命令
~/.bash_history文件
/var/log/secure安全日志文件
/var/log/lastlog二进制日志文件
/var/log/wtmp二进制日志文件

1. history -c命令

该命令可以清空本次登入的所有输出命令,但不清空.bash_history文件,所以下次登陆后,旧命令还将出现,历史命令是存在于当前用户根目录下的./bash_history文件。

2. ~/.bash_history文件

保存当前用户使用过的历史命令
记录的命令条数可以在 /etc/profile文件 进行设置:

HISTFILESIZE 定义了在 ~/.bash_history 文件中保存命令的记录总数,可以理解为~/.bash_history文件中最多只有 HISTFILESIZE 行;
HISTSIZE 定义了 history 命令输出的记录数,即输出.bash_history文件中的最后HISTSIZE行。

3. /var/log/secure 安全日志文件

这个文件可以记录服务器登陆行为。此文件如果很大,说明有人在破解你的root密码(一般是SSH暴力破解),可以通过这个日志查到对方的IP,每次登陆,无论密码对错都会被详细记录下来,所以文件会很大,解决办法是在/etc/hosts.deny 文件中加入IP,服务器就会拒绝这个IP的SSH登陆,语法:

sshd:IP

如果对方频繁换IP,可以用一些工具,如DenyHosts,可以自动将频繁输错密码的IP加入hosts.deny文件。具体安装和设置方法网上有。
另外/var/log/secure 文件是可以清空的,用这个命令:

echo /dev/null > /var/log/secure

如果这个文件很大,可以先清空,等有了新数据再查看。

4. /var/log/lastlog二进制日志文件

记录所有用户的最近登陆信息。这是一个二进制文件,因此需要用lastlog命令查看内容。

lastlog命令:检查最后一次登录本系统的用户登录的时间信息。

[root@lp ~]# lastlog
用户名           端口     来自             最后登陆时间
root             pts/0    192.168.28.1     一 4月 20 14:34:07 +0800 2020
bin                                        **从未登录过**
lp                                         **从未登录过**
......
[root@lp ~]#
[root@lp ~]# lastlog -u root
用户名           端口     来自             最后登陆时间
root             pts/0    192.168.28.1     一 4月 20 14:34:07 +0800 2020
[root@lp ~]#

lastlog命令的选项:
选项:

-b,–before DAYS仅打印早于DAYS的lastlog记录
-h,–help显示此帮助消息并退出
-t,–time DAYS仅打印比DAYS更新的lastlog记录
-u,–user LOGIN打印指定LOGIN的lastlog记录

5. /var/log/wtmp二进制日志文件

/var/log/wtmp是一个二进制文件,记录每个用户的登录次数和持续时间等信息。
系统的每一次登录,都会在此日志中添加记录,为了防止有人篡改,该文件为二进制文件。

统计系统所有用户的登录时间和信息,包括系统曾经进行过重启操作的重启时间信息。这是一个重要的日志查询命令。通过查看系统重启信息可以方便用户了解系统是否非正常重启了,或者是被他人登录重启了。

该日志文件永久记录每个用户登录、注销及系统的启动、停机的事件。因此随着系统正常运行时间的增加,该文件的大小也会越来越大,增加的速度取决于系统用户登录的次数。该日志文件可以用来查看用户的登录记录,

last命令就通过访问这个文件获得这些信息,并以反序从后向前显示用户的登录记录,last也能根据用户、终端tty或时间显示相应的记录。

last命令的选项参数:

-a,--hostlast 最后一列显示主机名;
-d,--dns 将IP号转换回主机名;
-F,--file<文件> 用指定文件代替 /var/log/wtmp;
-F,--fulltimes 打印弯针的登陆和注销时间和日期;
-i,--ip 以数字和点的形式显示IP号;
-n,--limit<数字> 要显示的行数
-R,--nohostname 不显示主机名字段;
-s,--since <时间> 显示从指定时间起的行;
-t,--until<时间> 显示到指定时间为止的行;
-p,--present<时间> 显示在指定时间谁在场;
-w,--fullnames 显示完整的用户名和域名;
-x,--system 显示系统关机项和运行级别更改;--time-format<格式> 以指定<格式>显示时间戳:notime | short | full | iso
-h,--help 显示此帮助并退出;
-V,--version 输出版本信息并退出。

查看/var/log/wtmp文件的方法:直接用last命令

[root@lp ~]# last
root     pts/0        192.168.28.1     Mon Apr 20 14:34   still logged in   
reboot   system boot  2.6.32-279.el6.x Mon Apr 20 14:33 - 14:57  00:23)    
root     pts/0        192.168.28.1     Fri Apr 17 08:08 - 18:10  10:02)      
reboot   system boot  2.6.32-279.el6.x Mon Feb 18 14:13 - 14:17  00:03)    
root     pts/2        192.168.152.1    Wed Jan 16 16:02 - 13:30  21:28)    
root     pts/1        192.168.74.1     Wed Jan 16 14:41 - 18:10  03:29)    
root     pts/0        :0.0             Wed Jan 16 14:31 - 13:30  22:59)    
root     tty1         :0               Wed Jan 16 14:30 - crash 32+23:42)  
reboot   system boot  2.6.32-279.el6.x Wed Jan 16 14:30 - 14:17 32+23:47)  
root     pts/0        :0.0             Sat Oct 20 14:13 - down   01:29)    
root     tty1         :0               Sat Oct 20 14:12 - down   01:29)    
reboot   system boot  2.6.32-279.el6.x Sat Oct 20 14:10 - 15:42  01:31)    
......
root     tty1         :0               Sun Feb 25 17:24 - down   00:04)    
reboot   system boot  2.6.32-279.el6.x Mon Feb 26 03:22 - 17:29  -9:-52)   

wtmp begins Mon Feb 26 03:22:07 2018
[root@lp ~]# 

如何清除/var/log/wtmp数据:

echo > /var/log/wtmp

Published by

风君子

独自遨游何稽首 揭天掀地慰生平

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注