1.終端登錄
- 內核創建進程ID爲1的進程(init),使系統進入多用戶模式
- init讀取文件/etc/ttys,對允許登錄的設備,調用一次fork,生成的子進程則exec getty程序
- getty對終端設備調用open函數,以讀寫的方式將終端打開。
- 一旦設備打開,文件描述符0,1,2設置到該設備。getty輸出“login”信息等待用戶鍵入用戶名
- 當輸入完成用戶名,getty調用login程序
login程序
- 調用getpwnam取得用戶的口令文件登錄項
- 調用getpass以顯示“Password:"讀取鍵入的口令
- 調用crypt將用戶鍵入的口令與pw_passwd字段比較
- 若口令無效,則login以參數1調用exit表示登錄失敗,父進程(init)得到子進程終止情況,再次調用fork,在執行getty
正確登錄後login