next up previous contents index
Next: Logins via the network Up: Logging In And Out Previous: Logging In And Out

通过终端登录

7.1显示了通过终端登录发生的事情。 首先,init 确认有一个getty  程序提供给终端连接(或控制台)。 getty 侦听终端等候用户告知它要登录 (这通常意味着用户必然键入些什么)。当它注意到一个用户,getty 输出一个 欢迎信息(存在/etc/issue 中),并提示用户名, 最后运行login 程序。 login 作为一个参数得到用户名,并提示用户输入口令。 如果正确,login 启动给此用户设置的shell;否则退出并终止进程 (可能在再给用户一个机会输入用户名和口令之后)。 init 注意到进程终止,就给这个终端启动一个新的getty 

  figure2174
图7.1:通过终端登录: init getty login 和shell的交互

注意唯一的新进程是由init 产生的(用fork 系统调用); getty login 只是替代进程运行的程序 (使用exec 系统调用)。

为注意用户,串行线需要一个单独的程序,因为终端活动时可以(传统上也是)变得复杂。 getty 也适应连接的速度和其他设置, 这对拨号连接特别重要,因为连接和连接的参数可能不同。

getty init  有多个版本在使用,各有优缺点。学习你的系统的版本也了解其他版本是个好主意(你可以用 Linux Software Map来找。)如果你没有拨入,可能不必考虑 getty ,但 init 仍然很重要。


next up previous contents index
Next: Logins via the network Up: Logging In And Out Previous: Logging In And Out

Linux学院
RedhatCentOSSuse LinuxDebianUbuntu
Sun Jun 29 13:31:22 EEST 1997
《Linux命令大全》 | 《Linux函数调用大全》 | 《Linux系统管理员手册》 | 中国存储网