![显示自上次重启以来所有可用的登录:](https://linux22.com/image/570896/%E6%98%BE%E7%A4%BA%E8%87%AA%E4%B8%8A%E6%AC%A1%E9%87%8D%E5%90%AF%E4%BB%A5%E6%9D%A5%E6%89%80%E6%9C%89%E5%8F%AF%E7%94%A8%E7%9A%84%E7%99%BB%E5%BD%95%EF%BC%9A.png)
我在 Linux 中使用 last 命令来获取最后登录的用户。但 last 命令在用户名字段中仅显示 8 个字符。在下图中,用户名行政人员修剪为管理。
还有其他方法可以获取最后登录用户的全名吗?
我也尝试过 lastlog。
答案1
last -w
应该可以帮你解决问题。我没有任何长用户名来测试,但手册页建议它应该可以工作。
您还可以使用last -a
将主机名列为最后一个字段而不截断它们,或者last -i
将它们显示为 IP 地址而不是主机名。
这些是系统的本地用户,因此/etc/passwd
如果上述选项不起作用,您可以从文件中 grep 他们。只有当您有两个用户共享相同的前 8 个字符时,您才会遇到问题。
如果以上方法都失败了,您可以尝试strings /var/log/wtmp
。这些数据可能更难解释,但它应该包含完整的用户名和主机名。
答案2
尝试这个,
显示自上次重启以来所有可用的登录:
最后 -Fw | grep -E 'Oct ([ 1-9]|1[0-9]|2[0-9]|30)' | grep $(date +"%Y")
答案3
last
从 utmp 读取,其中用户名字段限制为 8 个字符。因此,最好让用户名的前几个字符具有一定的独特性。