Где /bin/ логин запущен?
Так что я постоянно учусь sysVinit. Я знаю, что при запуске /bin/login нужно запустить, чтобы отобразить приглашение к входу, но я не смог найти файл, который его запускает. Он запускается по умолчанию в терминалах, указанных в inittab, или что там происходит?
1 ответ
Решение
Он запускается 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 начинает вход в систему.