流程大致如下
- 在開機的時候init會根據/etc底下的設定,init會fork出新的process並且exec tty(看有設定與有多少個COM port)
- 找到對應device,並且將0, 1, 2這些IO對應好,跟著顯示exec login這個程式,也就是提示user/password輸入,這些程式都具備有root身分
- 當對應完成的時候,將exec login_shell,可能是bash shell或者其他,使用setuid()...等等,將process權限設定為使用者的權限,shell會與terminal連結好,使用者就可以開始進行操作了
現在大家大多使用網路,以前開發者的想法蠻不錯的,就是只要做出pesudo的tty,讓程式以為自己在跟tty溝通,那麼過去的程式都不用動就可以移植過來,所以圖形就變得如下
rlogind也可能是inetd主要作為pty (pesudo tty)中間的媒介
這下子終於大概了解到/dev底下一堆tty以及pty在做啥用的了
沒有留言:
張貼留言