Библиотека сайта rus-linux.net
Глава 8. Доступ к системе
- Локальное оглавление
- Доступ через терминалы
- Доступ по сети
- Что делает login
- X и xdm
- Контроль доступа
- Запуск оболочки
Этот раздел описывает то, что происходит, когда пользователь входит в систему или выходит из нее. Рассмотрены различные взаимодействия фоновых процессов, журналов, файлов конфигурации, и тому подобного.
Входы в систему через терминалы
Сначала 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 все еще важен.