在进行Linux培训时,我发现了这样的好奇心:
如果我做了"sudo su - username"并登录到那个用户名帐户,当我做“手指用户名”时,它不算登录

以这个图片为例,“jonathan‘and (当前用户)和alumne2是我为测试基本命令而创建的另一个帐户。
"sudo su - alumne2"?发布于 2018-11-30 16:14:35
访问一个用户帐户有多种方法;例如,您可以在控制台上登录,或者在服务器上登录ssh,或者通过ftp获取文件,或者有一个cron作业,或者.
并不是所有这些方法都被视为“登录”。
sudo和su都是假设帐户身份的方式,但这两种方式都不被认为是登录方法。
因此,如果您执行了finger或last,或者查看了lastlogin记录,那么您可能不会在那里看到该帐户下的活动。
您可能只在像/var/log/auth.log这样的东西中看到它(确切的文件名将取决于您的操作系统)。
发布于 2018-11-30 16:15:12
正如Stephen在评论中所指出的,su不是登录命令。相反,您将您的shell当前标识替换为另一个。
这在OpenBSD的su手册页中得到了很好的解释。
su实用程序允许用户使用另一个用户的用户和组ID运行shell,而不必以另一个用户的身份登录。默认情况下,除了LOGNAME、HOME、SHELL和USER之外,环境是未修改的。HOME和SHELL设置为目标登录名的默认值。LOGNAME和USER被设置为目标登录名,除非目标登录名为0,并且没有指定-l标志,在这种情况下,它是未修改的。调用的shell是目标登录名,这是su的传统行为。
https://unix.stackexchange.com/questions/485187
复制相似问题