“登录”的确切定义是什么

“登录”的确切定义是什么

拉杜的回答在这里提供了非常丰富的信息 https://askubuntu.com/questions/376932/why-who-command-does-not-shows-root-as-a-logged-in-user 然而这让我想知道“Linux 中“登录”的确切定义是什么?

答案1

我不知道你是否能找到一个大家都同意的精确定义。也许只是“/bin/login或同等”。每个人至少应该同意这su不是登录,因为它不会取代终端上的现有登录,并且登录的定义特征之一是一次只有一个人在任何一个终端上登录。

我的定义可能会受到争议,“登录”意味着在当前没有人使用的终端(或 X 显示器)上启动一个新会话。但是当你创建一个新终端时呢?启动 xterm 感觉不像登录,即使它创建了一个新的 tty,因为它不要求身份验证(您在 X 会话开始时进行身份验证,或者如果您使用startx.

另一方面,启动新的 ssh 连接绝对非常像登录,即使它没有配置为使用/bin/login.除非您指定在远程而不是交互式 shell 上运行的命令 - 该操作需要身份验证,但感觉并不完全像“登录”。

您链接到的原始问题更容易回答,因为它是关于具体的东西(命令who),而不是“登录”意味着什么的哲学问题。准确的答案是who报告文件的内容utmp。如果您想知道特定操作(例如suxtermssh localhost -l root)是否会在 中记录条目utmp,答案通常是“视情况而定”。xterm有选项-ut+ut来控制是否将终端添加到utmp.

在 中,您可以使用后跟 来screen切换当前 tty 的utmp条目。 L 代表登录。CtrlAL

对于 ssh,我没有看到任何专用选项。经过几次实验后,utmp如果您创建一个 tty,即使您在其上运行非交互式命令(在其自己的列表中ssh -t localhost w显示),您似乎也会获得一个条目。w

答案2

维基百科

这听起来是我见过的最好的解释。

摘自维基百科:http://en.wikipedia.org/wiki/登录

名词登录可以用作动词是一个常见的误解。实际上,术语“登录”是一个动词,指识别和验证用户的过程,而术语“登录”是一个名词,指获得访问权限所需的凭据。对于用户必须输入用户名和密码的系统,用户名和密码组合就是他们的登录名,提供这些详细信息进行验证的行为就是登录。

登录是一种特殊的动词,称为短语动词。短语动词是由两个单词组成的动词,由 (1) 一个动词和 (2) 另一个词类(副词或介词)组成。由于短语动词 log in 使用如此频繁,因此空格经常被粗心且错误地删除。1

开放组

另外,如果您查看 OpenGroup 基本规范中的定义,The Open Group 基本规范第 6 期

摘抄

3.213 登录

用户获取系统访问权限的未指定活动。每个登录名都与一个登录名相关联。

3.214 登录名

与登录关联的用户名。

答案3

登录过程的第一步是授权。此步骤确定是否允许或拒绝登录。在大多数情况下,授权需要身份验证:想要登录的用户提供凭据(用户名和密码、用户名和基于私有 SSH 密钥的计算、用户名和 Kerberos 令牌等),系统确定这些凭据是否有效被授权登录。通常,但并非总是,成功完成身份验证过程的任何用户都被允许登录。不涉及任何身份验证的授权示例是 root 运行su以其他用户身份登录时 — root始终被授权这样做。身份验证不足以登录的一个示例是 root 被限制在某些终端上,例如许多系统禁止 root 通过网络登录。

第二步是启动一个会议。这总是涉及至少以所需用户的身份启动一个进程,可能是帐户数据库中指示的用户登录 shell。其他常见步骤包括写入日志条目、设置环境变量、设置资源限制……

相关内容