有关使用“sudo su - 用户名”登录日志的问题吗?

有关使用“sudo su - 用户名”登录日志的问题吗?

在进行 Linux 培训时,我发现了这样的好奇心:

如果我这样做"sudo su - username"并登录到该用户名帐户,那么当我执行“手指用户名”时,它不会被视为登录

在此输入图像描述

拿这张图片来说,“jonathan”是我(当前用户),而 alumne2 是我创建的另一个帐户,用于测试其基本命令。

如果我从乔纳森“登录”为,为什么它不显示最后一次记录(手指校友2)"sudo su - alumne2"

答案1

有多种方法可以访问用户帐户;例如,您可以登录控制台、ssh服务器、ftp获取文件、工作cron或...

并非所有这些方法都被视为“登录”。

sudosu是假定帐户身份的方法,但这两种方法都不被视为登录方法。

因此,如果您执行fingerlast或 查看lastlogin记录,那么您可能看不到报告该帐户下的活动。

您可能只会在类似的情况下看到它/var/log/auth.log(确切的文件名取决于您的操作系统)。

答案2

正如斯蒂芬·哈里斯在评论中所述,su这不是登录命令。相反,您正在用另一种身份替换 shell 的当前身份。

这在中得到了很好的解释OpenBSD 的 su 手册页

su 实用程序允许用户使用另一个用户的用户和组 ID 运行 shell,而无需以该其他用户身份注销和登录。

默认情况下,除 LOGNAME、HOME、SHELL 和 USER 之外,环境未修改。 HOME 和 SHELL 设置为目标登录的默认值。 LOGNAME 和 USER 设置为目标登录名,除非目标登录名的用户 ID 为 0 并且未指定 -l 标志,在这种情况下它不会被修改。调用的 shell 是目标登录名的 shell。这是su的传统行为。

相关内容