callback(8)

НАЗВАНИЕ
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, Владимир Ступин <wheel69@yandex.ru>