答案1
有多种方法可以访问用户帐户;例如,您可以登录控制台、ssh
服务器、ftp
获取文件、工作cron
或...
并非所有这些方法都被视为“登录”。
sudo
和su
是假定帐户身份的方法,但这两种方法都不被视为登录方法。
因此,如果您执行finger
或last
或 查看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的传统行为。