next up previous contents index
Дал╕: Ре╓страц╕я в систем╕ через Вгору: Ре╓страц╕я в систем╕ та Назад: Ре╓страц╕я в систем╕ та

Ре╓страц╕я в систем╕ через терм╕нали

На рис. [*] показано, що саме в╕дбува╓ться при ре╓страц╕╖ користувач╕в з терм╕налу. Перш за все init  перев╕ря╓, чи ╓ програма getty  для з'╓днання з терм╕налом (чи консоллю). getty  сидить на терм╕нал╕ ╕ слуха╓, чека╓ поки користувач пов╕домить про те, що в╕н готовий для ре╓страц╕╖ в систем╕ (зм╕ст ц╕╓╖ фрази просто означа╓, що користувач повинен надрукувати що-небудь). Коли getty  пом╕тить, що користувач вв╕в щось з клав╕атури, в╕н виводить на екран прив╕тання з файлу /etc/issue , просить користувача ввести ╕м'я ╕ врешт╕-решт запуска╓ програму login . login 'у переда╓ться параметром ╕м'я користувача ╕ в╕н, в свою чергу, попросить користувача ввести пароль для входу в систему. Якщо ╕м'я ╕ пароль в╕дпов╕дають один одному, login  переда╓ управл╕ння командн╕й оболонц╕, яка вказана для користувача в /etc/passwd , якщо ж н╕ - просто зак╕нчу╓ свою роботу (можливо давши користувачев╕ ще один шанс спробувати з паролем). П╕сля цього init  пом╕ча╓, що терм╕нал зв╕льнився ╕ старту╓ новий getty  на цьому терм╕нал╕.


  
Рисунок: Вх╕д в систему через терм╕нал: вза╓мод╕я init , getty , login  та командно╖ оболонки.
\includegraphics{logins/logins-via-terminals.ps}

В╕дм╕тимо, що ╓диний новий процес при цьому - це той, який створений init 'ом (за допомогою системно╖ функц╕╖ fork ), а getty  та login  т╕льки зам╕нюють програму, що працювала до них (за допомогою системно╖ функц╕╖ ecxec ).

Для того, щоб пом╕тити вх╕д користувача в систему потр╕бна окрема програма на кожному посл╕довному порт╕, оск╕льки пом╕тити активн╕сть на посл╕довн╕й л╕н╕╖ може бути досить складно. Кр╕м того, швидк╕сть передач╕ та ╕нш╕ параметри, як╕ дуже важлив╕ для телефонних л╕н╕й, можуть зм╕нюватися в╕д дзв╕нка до дзв╕нка, ╕ тому getty  пристосову╓ться до властивостей посл╕довного порта.

╤сну╓ к╕лька верс╕й getty  та init , кожна з яких ма╓ як сво╖ позитивн╕, так ╕ негативн╕ якост╕. Д╕знатйтеся про верс╕╖, встановлен╕ саме в Ваш╕й систем╕, але корисно знати також ╕ про ╕нш╕ верс╕╖ (можна скористуватися мапою програмного забезпечення Л╕накса для пошуку потр╕бних програм). Якщо Ви не користу╓тесь телефонними каналами чи посл╕довними л╕н╕ями зв'язку для п╕д'╓днання до ╕нших систем чи ╤нтернету, то скор╕ше всього Вам нема про що турбуватися в в╕дношенн╕ getty , але про init  все-таки корисно дещо знати.



Dmytro Kovalev
1999-06-10