Linux操作系统中记录操作记录的地方
清除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