Общая схема работы init

    После запуска init просматривает inittab (строчка за строчкой) и запускает на выполнение процессы, соответствующие текущему уровню выполнения. Как только init просмотрит inittab, он встанет в ожидание, из которого его может вывести один из трех сигналов: SIGCLD (просматривает inittab для запуска процессов по respawn), SIGQUIT, SIGRWR.

 

    Команда init q выходит из текущего уровня, возвращаясь к уровню по умолчанию, tellinit n, задает новый уровень. При смене уровня init заново просматривает inittab для запуска еще не запущенных и остановки более высокоуровневых процессов по sigterm и через 5 секунд по sigkill.

 

Инициализация пользователей в системе

Getty выдает приглашение с требованием ввести свое имя, по exec (сама на себя) запускается login, который прости ввести пароль. Пароль проверяется с использованием файлов /etc/passwd (UID. GID, HOME, SHELL) и /etc/security/passwd. Если пароль не верный, то в файл /etc/security/failedlogin делается запись о неудачной попытке входа в систему.

 

     Если имя и пароль верны, то из файлов /etc/security/user и /etc/security/limit проверяются ограничения пользователя. Если ограничения не нарушены, то начинается инициализация среды пользователя. Для этого текущим домашним каталогом делается каталог присущий для UserID и GroupID (т.е. все действия выполняются от их имени) и вызывается по exec командный процессор, назначенный пользователю по умолчанию.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: