Где /bin/ логин запущен?

Так что я постоянно учусь sysVinit. Я знаю, что при запуске /bin/login нужно запустить, чтобы отобразить приглашение к входу, но я не смог найти файл, который его запускает. Он запускается по умолчанию в терминалах, указанных в inittab, или что там происходит?

1 ответ

Решение

Он запускается getty после ввода имени пользователя.

  1. Init запускает /bin/agetty (или другой getty) на каждом терминале, в соответствии с inittab
  2. Getty инициализирует терминал, показывает /etc/issue и приглашение "login:"
  3. Пользователь вводит логин
  4. Getty execs / bin / login с именем пользователя в качестве параметра
  5. Логин показывает запрос пароля (внутренний или из PAM)

(Примечание: вход в систему также использовался для удаленных входов в Telnet (хотя не для входа в систему через ssh), и процесс был похожим: telnetd отображал бы приглашение имени пользователя и запускал вход в систему для запроса пароля).

В systemd процесс почти такой же: init запускает agetty согласно getty@<tty>.service, и agetty начинает вход в систему.

Другие вопросы по тегам