没办法显示登录时间戳? 为什么Linux的who命令无法显示登录时间戳?阐述原因与解决办法。 (为什么linux who)
在Linux系统中,who命令是一个很有用的工具,用于查看当前系统上的登录用户信息。但是,在执行who命令时,我们会发现它无法显示登录时间戳,这是为什么呢?
原因分析:
我们需要了解一下Linux系统中的时间戳概念。时间戳就是一段时间内自1970年1月1日0时0分0秒到现在的总秒数。在Linux系统中,常常用时间戳来记录一些系统资源的使用情况。
然而,在很多Linux系统中,who命令并不能正确显示用户的登录时间戳。这是由于系统的安全策略引起的。为了保护用户的隐私,Linux系统会默认关闭用户的登录时间戳功能。
此外,在Linux系统中,who命令是通过读取/var/log/wtmp文件来实现的。这个文件记录了所有用户的登录、注销和系统启动等事件。但是,由于系统默认关闭了登录时间戳功能,所以who命令无法获取到用户的登录时间戳信息,也就无法正确显示出来。
解决方法:
为了解决这个问题,我们可以通过以下两种方法来实现显示用户登录时间戳:
方法一:启用登录时间戳功能
为了启用登录时间戳功能,我们需要编辑/etc/rsyslog.conf文件,并添加以下两行内容:
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
$IncludeConfig /etc/rsyslog.d/*.conf
然后,我们需要创建一个名为/var/log/wtmp的文件,使用命令touch /var/log/wtmp来创建。最后使用重启rsyslog服务的命令systemctl restart rsyslog.service来重启rsyslog服务。
这样,系统就会自动记录用户的登录时间戳信息,并且who命令可以正确地显示出来。
方法二:使用last命令代替who命令
除了who命令外,还有一个类似的命令叫做last。它可以用来查看用户的登录、注销和系统启动等信息,而且可以正确显示用户的登录时间戳。
使用last命令的语法很简单,只需要在终端输入last即可。
:
在Linux系统中,who命令无法正确显示用户的登录时间戳信息。这是由于系统默认关闭了登录时间戳功能。要解决这个问题,我们可以通过启用登录时间戳功能或使用last命令来获取用户的登录时间戳信息。使用这些方法可以方便我们准确地了解系统使用情况,并帮助我们提高系统管理的效率。