什么是“登录用户”?

沃拉克
$ users
vorac


# Non-login shell, /root/.profile not sourced.
$ su
$ users
vorac

# Login shell, /root/.profile sourced.
$ su -
$ users
vorac

因此,我们在上一个示例中以另一个用户身份启动登录 shell,但仍然只有原始用户“已登录”。“登录用户”的概念是如何定义的?

拉吉

Unix/Linux 系统在/var/run/utmp文件中维护一个当前登录用户的数据库(在某些 Unix 变体中还有一个并行utmpx文件,但它们都用于相同的目的)。login程序,其控制登录物理控制台上,ssh守护进程或GUI登录方案在该文件中,当用户登录或退出与X服务器更新信息机器。who命令从该数据库读取信息。

您开始的 shellsu -是一个“登录”shell,因为它的行为方式与login程序或 ssh 守护程序启动的登录 shell相同(执行相同的初始化文件等),但它不会在utmp文件中记录登录,因此您在who命令的输出中看不到这些外壳

另一方面,如果你例如。启动一个screen会话,screenutmp文件中记录一个条目,您可以在who命令的输出中看到该会话

此外,在某些图形 DE 中,您打开的每个新终端窗口都被视为一个新的登录并记录在 中utmp,而在另一个窗口中则不是 - 只有一个主要条目utmp用于登录到整个 DE 会话的用户。这当然取决于终端应用程序。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章