[ Что нового ? | Заметки | Статьи | Ссылки | Настройка pppd ]     [ win | koi ]
24.08.1999, © Igor Sysoev, igor@nitek.ru

 

Провайдим с помощью getty по-старинке

 

После того, как мы настроили порты для входящих звонков, необходимо эти звонки принимать. Проще всего это делается с помощью программы getty. Для этого нужно чуть-чуть изменить файл /etc/ttys. Начнём с ttyd1:

 
ttyd1	"/usr/libexec/getty std.57600"	dialup	on insecure

Программы из этого файла запускаются процессом init. Он просматривает строки, и если у строки есть параметр "on", то запускает указанную в ней программу на соответствующем терминале. Если программа по каким-то причинам завершает работу, init запускает её снова. В нашем случае, он будет запускать getty:

/usr/libexec/getty std.57600 ttyd1

Тип термнала - std.57600, это терминал без бита четности и фиксированной скоростью обмена, равной 57600. Мы увеличили скорость с 9600 на 57600. Причина, по которой мы это сделали объясняется в статье Протокол V.42bis и скорость порта. Кроме того, мы перевели наш терминал в ранг небезопасных - "insecure", то есть на этом терминале нельзя залогиниться под root'ом.

Тоже самое Вы можете сделать для остальных портов - ttyd2 и ttyd3.

После этого нужно перезапустить процесс init, который запускает программы из /etc/ttys:

kill -1 1

После того, как процесс init запустит getty, getty попытается открыть устройство /dev/ttyd0 и будет заблокирован до тех пор, пока сигнал DCD не станет активным, то есть, пока кто-либо не позвонит и модемы не установят соединения. После того, как это произойдет, getty будет разблокирована и она выведет приглашение - "login:". Когда другая сторона введет имя, getty вызывает login и передает ему в качестве параметра введенное имя. После ввода пароля login проводит аутентификацию пользователя и если имя и пароль правильные, то он вызывает шелл, указанный в /etc/master.passwd для данного пользователя. Если Вы хотите, чтобы этот пользователь мог осуществлять только PPP-соединение с Вашем компьютером, то его шеллом может быть /usr/sbin/pppd.

В Window 95 и NT ввод имени и пароля можно делать ручками в терминальном окне или же автоматизировать этот процесс, написав скрипт.

counter