Skip to content
On this page

linux 用户是如何登录的


标签:linux/basic  

系统启动后,init 首先 fork + exec 一个 getty 程序(在 linux 上这个程序是 agetty),然后当用户在 getty 输入用户名后,getty 会 exec 替换为 login 程序,再输入密码,如果登录成功,exec 替换为 shell 程序,登录失败返回替换为 getty 程序。

如果在 /etc/passwd 中,把用户登录的 shell 改成其他的程序,登录后一样会启动对应的程序,从而防止该用户启动 shell。

简单来说,我们开机欢迎的交互界面并不是 shell。

Last updated: