为什么“users”命令会根据我是 ssh 还是打开新终端返回不同的用户?

为什么“users”命令会根据我是 ssh 还是打开新终端返回不同的用户?

如何users定义登录的用户?

如果我ssh两次进入一个盒子,如果我执行 ,我会看到我的用户名被列出两次users。但是,如果我通过 创建一个新的登录 shell sudo su -,我不会看到root列为用户。对于任何其他用户(例如 )也是如此sudo su - user。当然,非登录 shell 也不会出现在users.

答案1

users计算登录会话数。来自须藤:

su命令用于成为另一个用户期间登录会话。

(强调是我的。)登录会话创建一个新的 tty,其中 assu使用现有的 tty。

我只是查看了源代码用户命令。它的作用是读取乌特姆普。所以我想最重要的是,如果你编写一个程序并写入 utmp,你就会在用户中看到。

相关内容