callback

НАЗВАНИЕ
ОБЗОР
ОПИСАНИЕ
ОПЦИИ
ФАЙЛ КОНФИГУРАЦИИ
ДИАГНОСТИКА
ПОДРОБНОСТИ
НЕИСПРАВНОСТИ
СМОТРИ ТАКЖЕ
АВТОР
АВТОРЫ ПЕРЕВОДА

НАЗВАНИЕ

callback − перезвонить пользователю, позволяя войти в систему

ОБЗОР

callback [−x<уровень_отладки>] [−V] [−l<модемные_линии>] [−m<строка_инициализации>] [−s<скорость>] [−d] [−S] [номер_телефона] ...

ОПИСАНИЕ

Вызвать заданный номер телефона (если он не задан в командной строке, запросить у пользователя), и если СОЕДИНЕНИЕ установлено, передать управление mgetty(8), представив пользователю приглашение ко вводу имени для входа в систему.

callback используется для следующих целей:

* безопасность: позволяет быть уверенным, что ваши пользователи те, за кого они себя выдают, поскольку звонят с хорошо известного номера телефона.

* экономия расходов: позволяет вашей компании перезвонить вам.

callback может быть вызван непосредственно из командной строки (для этого нужны права администратора системы, в противном случае callback не сможет передать сигнал mgetty), или из файла "login.config" принадлежащего mgetty. Смотри образец файла login.config, поставляемый с mgetty.

ОПЦИИ

−x <уровень_отладки>

Используйте заданные уровни подробности для журналирования: 0 − обозначает полное молчание, 5 − очень подробно.

−V

Напечатать номер версии и завершить работу.

−d

Не переходить в фоновый режим. Это полезно для отладки.

−l <модемные_линии>

Использовать указанные модемные линии. Несколько линий разделяются знаком ":", как в sendfax(8). Пример: callback −l tty1a:tty2a

−m <строка_инициализации>

Установить строку инициализации модема (как обычно: ожидать отправить ожидать …). С её помощью можно делать практически всё, до тех пор, пока модем продолжает отвечать на команды (то есть, здесь не должно быть команды ATQ1) и переключить модем в режим данных (AT+FCLASS=0), если он используется в режиме данных/факса.

−s <скорость>

Скорость передачи в битах, которая должна использоваться соединением машина−модем. Скорее всего вы захотите установить её с помощью опции "speed <nnnn>" в файле "callback.config".

−S

Использовать для обратного звонка ту линию, откуда был запущен callback. callback может использовать несколько модемных линий, а с помощью этой опции вы можете заставить его использовать тот модем, с которого поступил звонок.

ФАЙЛ КОНФИГУРАЦИИ

При запуске callback прочитает все свои настройки из файла, который обычно называется /etc/mgetty/callback.config. Смотри документацию в mgetty.info для уточнения деталей.

ДИАГНОСТИКА

В большинстве случаев callback не выводит каких либо ошибок в консоль, потому что он должен немедленно отключиться от терминала, в случае если кто−то захочет, чтобы ему перезвонили по модемной линии, с которой поступил звонок. Таким образом, нет сообщений для вывода…

В результате этого, все ошибки callback журналируются в файл протокола (количество сообщений регулируется опцией "−x"), в том числе о причинах, по которым вызов не был выполнен или о том, что именно не удалось.

Только два сообщения могут выводиться на стандартный вывод и они самоочевидны: вызов от пользователя, не являющегося root, и неправильная опция.

ПОДРОБНОСТИ

Как это работает?

Это немного сложнее, из за способа управления init(8) файлом utmp(5). Вы не можете воспользоваться любой программой, которая запросит у пользователя входное имя и запустит используемую пользователем оболочку ("login shell"), это не сработает (по той же причине mgetty(8) запускается из /etc/inittab).

mgetty должна запросить у пользователя входное имя. Но я не хочу помещать весь код для дозвона в mgetty, раздувая её ещё больше.

Способ достичь этого состоит в следующем: callback звонит через модемное устройство. Он должен работать только с таким модемным устройством, за которым наблюдает mgetty (!). Когда соединение установлено (CONNECT), callback отправляет mgetty сигнал SIGUSR1, который, в свою очередь, отправит тот же сигнал назад, сообщая "я получил твой сигнал". Тогда callback завершает работу и mgetty подбирает установленное подключение, запрашивает у пользователя входное имя и выполняет системный вызов fork, запуская /bin/login.

Вывод: callback не будет работать с версиями mgetty до 4 февраля 1996 года (в которых нет поддержки этого сигнала), и если у вас это не работает, пожалуйста вышлите мне ОБА файла журналов mgetty и callback, в противном случае неисправность очень трудно найти.

НЕИСПРАВНОСТИ

callback содержит экспериментальный код, на данный момент не очень стабильный.

callback callback довольно плохо обрабатывает повторные попытки.

callback должен запускаться с правами root.

Большая часть документации заключается в чтении исходного текста.

СМОТРИ ТАКЖЕ

mgetty(8), ct(1)

АВТОР

callback Copyright (C) 1993−1996 Герт Дёринг (Gert Doering), <gert@greenie.muc.de>.

АВТОРЫ ПЕРЕВОДА

Перевод выполнен на сайте коллективных переводов http://translated.by. Авторы перевода: Олег Безначев aka saturn721, Владимир Ступин <vladimir@stupin.su>.