Так что я постоянно учусь sysVinit. Я знаю, что при запуске /bin /login нужно запустить, чтобы отобразить приглашение на вход, но я не смог найти файл, который его запускает. Он запускается по умолчанию в терминалах, указанных в inittab, или что там происходит?
1 ответ
2
Он запускается getty после ввода имени пользователя.
- Init запускает /bin /agetty (или другой getty) на каждом терминале, в соответствии с inittab
- Getty инициализирует терминал, показывает /etc /issue и приглашение «login:»
- Пользователь вводит логин
- Getty execs /bin /login с именем пользователя в качестве параметра
- Логин показывает запрос пароля (внутренний или из PAM)
(Примечание: вход в систему также использовался для удаленных входов в Telnet (хотя не для входа в систему через ssh), и процесс был похожим: telnetd отображал бы приглашение имени пользователя и запускал вход в систему для запроса пароля)
В systemd процесс почти такой же: init запускает agetty в соответствии с getty@<tty>.service
, а agetty запускает логин.