Энциклопедия системного администратора Linux

         

Входы в систему через терминалы


Сначала init удостоверится, что имеется программа getty для подключения терминала (или консоли). getty следит за терминалом и ждет пользователя, чтобы сообщить ему о готовности ко входу в систему (это обычно означает, что пользователь должен напечатать что-либо). Когда это произойдет, getty выводит приветственное сообщение (оно хранится в /etc/issue), и запрашивает username (логин пользователя). В заключение выполняется программа входа в систему (процесс login). login получает username как параметр, запрашивает и проверяет пароль. Если пароль правильный, login запускает оболочку, заданную для этого пользователя; в противном случае процесс завершается (возможно после предоставления пользователю другой возможности для ввода username и пароля). init обращает внимания, на завершенный процесс, и запускает новый процесс getty для терминала.

Обратите внимание, что единственный новый процесс создан init (с использованием системной функции fork), фактически это просто еще одна копия init. Процессы getty и login только заменяют программу init (используя системный вызов exec).

Отдельная программа для регистрации пользователя необходима для последовательных линий, так как на них регистрация может быть (и традиционно была) сложной задачей. Проблема состоит в том, чтобы заметить, когда терминал становится активным. getty также приспосабливается к быстродействию и другим параметрам настройки подключения, которые являются важными особенно для вызванных по телефону подключений, где эти параметры могут изменяться при разных обращениях.

Имеется несколько версий getty и init. Каждая имеет свои хорошие и плохие стороны. Лучшим решением будет внимательно ознакомиться с версиями, которые есть в Вашей системе, а также с другими версиями (Вы можете использовать Linux Linux Software Map, чтобы искать их). Если Вы не имеете dial-in доступ, Вы, вероятно, не должны волноваться относительно getty , но init все еще важен.



Содержание раздела