从https://unix.stackexchange.com/a/489913/674
登录是一个用户空间构造;内核不关心这个。
这方面的例子有很多;例如,cron 作业可以以任何用户身份运行,而无需该用户登录。 ...使用 SSH 连接也算作登录。
既然有有登录和没有登录的例子,请问什么是登录?哪些活动算作登录,哪些活动不算?
让我猜一下。是否有任何活动涉及询问用户名和密码,并输入该信息/etc/passwd
并/etc/shadow
算作登录?否则不算登录?
正在运行su
登录吗?
正在运行sudo
登录吗?或者不是,因为它不要求目标用户的密码?
还有哪些其他教育例子?
谢谢。
答案1
在最基本的层面上,它可以被认为是“对服务进行身份验证以从该服务获取资源”。
但是,在 Unix 中,该术语的定义并不那么严格。不同的服务可以以不同的方式解释。
当您想到“登录 Unix”并获得“登录会话”,而不是“访问服务”时,术语会变得混乱。
所以,比如说,ssh remotemachine
被认为是登录,但是ssh remotemachine cat /etc/passwd
可能不是(sshd
将执行不同的操作,记录不同的数据,更新不同的文件);它们都对服务进行身份验证并获取资源......但第二个版本不被视为“登录会话”。
另请注意,身份验证不需要使用passwd
和shadow
文件(例如,FTP 服务器可以使用不同的身份验证数据库,或者可以使用 SSH 公钥,或者 kerberos 票证,或者...)。