man callback(8) - перезвонить пользователю, позволяя войти в систему |
- Statistics
- Participants
- Translate into Russian
- Translation result
- Translation complete.
ИМЯ
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 подбирает установленное подключение, запрашивает у пользователя входное имя и выполняет системный вызов forks, запуская /bin/login.
Вывод: callback не будет работать с версиями mgetty до 4 февраля 1996 года (в которых нет поддержки этого сигнала), и если у вас это не работает, пожалуйста вышлите мне ОБА файла журналов mgetty и callback, в противном случае неисправность очень трудно найти.
ОШИБКИ
callback содержит экспериментальный код, на данный момент не очень стабильный.
callback довольно плохо обрабатывает повторные попытки.
callback должен запускаться с правами root.
Большая часть документации заключается в чтении исходного текста.
СМОТРИ ТАКЖЕ
mgetty(8), ct(1)
АВТОР
Copyright (C) 1993-1996 Герт Доеринг (Gert Doering), <gert@greenie.muc.de>.
Original (English): man callback(8) - call a user back, presenting a login prompt
Translation: © saturn721, Владимир Ступин .
