Электронная библиотека

Хакер


Хакер

Xakep Online -> Журнал, номер #011, стр. 011-050-1


MAL [mal@xakep.ru]

delta [delta@slackware.ru]

Привет, читатель, соединяться друг с другом через модем при помощи всяких терминалок это сто процентный отстой. Почему, спросишь ты? Да потому что захочешь ты скачать у другана своего порнухи мегабайт на пять в зипе и, соединившись через терминалку, ты файло-то качать будешь, но вот никаких других сетевых действий производить невозможно. А при помощи диалин сервера ты можешь и телнетиться к другану, и на фтп залезть, и на IRC (если стоит IRC сервер) базарить с ним и все в одно время. Что-то вроде intranet получается, с соединением через модем.

Делаем сервак!

Для того чтобы хост являлся диалин сервером, естественно, нужно всунуть в него момед и протянуть телефонную линию. Кстати, насчет модемов - линукс не любит винмодемы и ненавидит plug & play (настроить, конечно, можно и их для работы с unix os, но ты столкнешься с гимором), поэтому при покупке, если рассчитываешь на то, что ты будешь работать в юниксах, бери или внешний модем, или с джэмперами :).

Тебе еще понадобится getty который будет держать связь. Обычно он запускается из файла - /etc/inittab. Getty кладется в бэкграунд процесс. Модемный getty будет в стадии ожидания пока ни поступит звонок, после которого он ответит и начнет соединение между двумя машинами. Существует несколько gettys, которые могут быть использованы для этого случая. Я объясню настройку mgetty. Обычно можно увидеть такой файл /sbin/mgetty, который является ссылкой на реальный файл. А валяться он может в разных местах, в зависимости от дистрибутива.

На самом деле опций, которые ты можешь изменить в mgetty сам - полно, но самые важные из них настраиваются в таком файле: /etc/mgetty/mgetty.conf. Опять же, если у тебя нет такой директории или файла, то возможно, он валяется где-нибудь в другом месте, воспользуйся поиском. Если ты хочешь врубить AutoPPP, то придется подредактировать /etc/mgetty/login.config. Но об этом чуть позже.

Для того чтобы запустить mgetty, нужно подредактировать /etc/inittab. Тут тебе нужно будет выбрать, какой порт будет мониторить mgetty, то бишь где у тебя модулятор висит. Обычно это ttyS* in. Например, если у меня модем на третьем ком-порту, я добавляю такую строку:

S2:2345:respawn:/sbin/mgetty ttyS2 -D /dev/ttyS2.

Опция "-D" говорит mgetty: ожидать модемные звонки, остальное игнорировать. После изменений в inittab убиваем процесс1

kill -1 1

И /etc/inittab перегружается. Естественно, запускается mgetty.

По умолчанию mgetty запускает SLIP (Serial Line Internet Protocol) и при авторизации используется /etc/passwd. При этом пользователь попадает в шелл.

Даем юзверю вход по PPP

Но можно сделать и так, чтобы он получал ppp после авторизации. Для начала позволь юзерам запускать pppd:

chmod u+s /usr/sbin/pppd.

А теперь добавь в /etc/bashrc

alias ppp="exec /usr/sbin/pppd -detach".

Теперь после авторизации пользователь, набрав команду ppp, запускает pppd. Все равно немного неудобно :). Тогда сделаем так: не будем мучить юзвера, после авторизации сразу запустится pppd.

Содержание  Вперед на стр. 011-050-2