因此,我需要知道我的 ubuntu 帐户何时被访问。是否有任何命令可以向我显示确切时间当发生这种情况时。我需要这个,因为我怀疑有人在远程控制我的计算机并更改内容。
答案1
last
救援命令
该last
命令按给定的用户名或所有用户名显示:
$ last rick
rick tty7 :0 Wed Apr 24 16:25 gone - no logout
rick tty8 :1 Wed Apr 24 16:24 - down (00:00)
rick tty7 :0 Tue Apr 23 20:12 - down (20:06)
rick tty7 :0 Tue Apr 23 18:30 - crash (01:42)
(...SNIP...)
rick tty7 :0 Tue Apr 2 16:52 - down (00:31)
rick tty7 :0 Tue Apr 2 03:14 - crash (13:37)
默认情况下,它只显示当前月份的历史记录。如果您需要查看一个月之前的历史记录,可以/var/log/wtmp.1
使用命令读取文件last
。
last -f wtmp.1 rick
将显示用户上个月的登录历史记录rick
:
$ last -f /var/log/wtmp.1 rick
rick tty7 :0 Sun Mar 31 16:53 gone - no logout
rick tty7 :0 Sat Mar 30 19:18 - down (13:20)
(...SNIP...)
rick tty7 :0 Fri Mar 1 20:55 - down (11:55)
wtmp.1 begins Fri Mar 1 18:23:28 2019
安全性得到加强,普通用户无法写入或删除该文件:
$ ll /var/log/wtmp.1
-rw-rw-r-- 1 root utmp 107520 Mar 31 16:53 /var/log/wtmp.1
仅限控制台登录
控制台使用login
记录数据的命令/var/log/lastlog
:
$ ll /var/log/lastlog
-rw-rw-r-- 1 root utmp 292292 Apr 24 16:22 /var/log/lastlog
但是,当您查看上面的文件所有者和文件组时,该lastlog
文件不能轻易被篡改。“普通”用户只有读取权限。但是它是一个二进制文件,因此您不能直接cat
获取有意义的信息。请使用以下命令:
$ lastlog
Username Port From Latest
root **Never logged in**
daemon **Never logged in**
bin **Never logged in**
sys **Never logged in**
(...SNIP...)
usbmux **Never logged in**
rick tty1 Wed Nov 28 04:19:53 -0700 2018
vnstat **Never logged in**
有趣的是,所有不同的用户 ID 都可以登录,但从来没有也不应该登录。我很惊讶,自去年 11 月以来,我还没有登录过控制台/终端。
答案2
如果远程控制您系统的“人员”不够聪明,无法清理日志,就会出现这种情况/var/log/auth.log
。您可以使用以下方法查看登录数据:
sudo cat /var/log/auth.log | grep USERNAME
(USERNAME
你的用户在哪里)。
但是,除此之外,如果这个日志里没有任何内容,而你真的如果你确实认为你正在受到远程控制,我建议你全新安装你的系统,并从头开始使用不同的密码,更好地强化你的系统。