Операционная система ЗОСРВ «Нейтрино» > Описание базовых компонентов целевой системы > Сервисы > telnetd



telnetd

Сервис протокола TELNET DARPA (UNIX)

Синтаксис:

telnetd [-4 | -6] [-debug [порт]] [-D модификатор] [-n]

Опции:

-4
-6
Семейство адресов, используемое для режима -debug. В нормальном режиме работы (при вызове из сервиса inetd) telnetd использует дескриптор файла, передаваемый сервисом inetd.
-D модификатор
Отобразить отладочную информацию. Можно указать любое из следующих значений:
options
Вывести информацию о согласовании опций TELNET.
report
Вывести ту же информацию, что и для options, а также дополнительную информацию о выполняемой обработке.
netdata
Отобразить поток данных, полученный сервисом telnetd.
ptydata
Отобразить данные, записанные на псевдотерминал.
-debug
[порт] Обычно сервис telnetd запускается автоматически из inetd. Эта опция позволяет запустить сервис telnetd вручную.
-n
Деактивировать опцию keepalive.
-l
Задает линейный режим. Пытается заставить клиентов использовать линейный режим. Если опция LINEMODE не поддерживается, то будет переведен в линейный режим kludge.
-g gettyent
Определяет, какая запись из /etc/gettytab должна использоваться для для получения строк баннеров, программы входа в систему и другой информации. По умолчанию используется запись default.
u длина
Эта опция используется для указания размера поля в структуре utmp, содержащего имя удаленного хоста. Если разрешенное имя хоста длиннее указанной длины, то вместо него будет использоваться десятичное значение с точками. Это позволяет однозначно идентифицировать хосты с очень длинными именами, которые переполняют это поле. Указание -u0 означает, что в файл utmp должны помещаться только десятичные адреса с точками.
-U
Эта опция заставляет /usr/libexec/telnetd отказывать в соединениях с адресами, которые не могут быть отображены в символическое имя с помощью процедуры gethostbyaddr().
-S tos
Устанавливает параметр IP type-of-service (TOS) для telnet-соединения в значение tos, которое может быть числовым значением TOS или, в системах с его поддержкой, символическим именем TOS, находящимся в файле /etc/iptos.
-X тип_аут
Эта опция действительна только в том случае, если telnetd был собран с поддержкой опции аутентификации. Она отключает использование аутентификации типа тип_аут и может быть использована для временного отключения определенного типа аутентификации без необходимости перекомпиляции telnetd.
-h
Отключает печать информации о хосте до завершения входа в систему.
-s
Эта опция включается только в том случае, если telnetd скомпилирован с поддержкой карт SecurID. Она заставляет передавать опцию -s в login и, таким образом, полезна только в том случае, если login поддерживает флаг -s , указывающий на то, что разрешен только вход с подтверждением SecurID. Обычно это полезно для контроля удаленных входов в систему из-за пределов межсетевого экрана.
-a режим
Эта опция может быть использована для указания режима аутентификации. Обратите внимание, что данная опция полезна только в том случае, если telnetd был скомпилирован с поддержкой аутентификации, которая в текущей версии отсутствует. Понимаются следующие значения:
debug
Включает отладочный код аутентификации.
user
Разрешает соединения только в том случае, если удаленный пользователь может предоставить достоверную аутентификационную информацию для идентификации удаленного пользователя, и ему разрешен доступ к указанной учетной записи без предоставления пароля.
valid
Разрешает соединения только в том случае, если удаленный пользователь может предоставить достоверную аутентификационную информацию для идентификации удаленного пользователя. Команда login обеспечит любую дополнительную проверку пользователя, если удаленному пользователю не разрешен автоматический доступ к указанной учетной записи.
other
Разрешать только те соединения, которые предоставляют некоторую аутентификационную информацию. В настоящее время эта опция не поддерживается ни одним из существующих механизмов аутентификации, поэтому она аналогична указанию valid
none
Это состояние по умолчанию. Информация об аутентификации не требуется. Если аутентификационная информация отсутствует или недостаточна, то программа login обеспечит необходимую проверку пользователя.
off
В этом случае код аутентификации отключается. Вся верификация пользователя будет осуществляться через программу login.

Платформы:

ЗОСРВ «Нейтрино»

Целевые архитектуры:

aarch64, arm, armv7, e2k, mips, ppc, x86

Описание:


Caution: Для запуска этого сервера пользователю необходимо войти в систему с учетной записью root.

Сервис telnetd – это сервер, поддерживающий протокол виртуального терминала TELNET, соответствующий стандарту DARPA.

Сервис telnetd запускается после получения сервисом inetd запроса службы на подключение к порту TELNET (сервис inetd прослушивает запросы служб, указанные в файле inetd.conf, на порте, определенном в файле services).

С помощью опции -debug сервис telnetd можно запустить вручную, а не из inetd. При таком способе запуска сервиса telnetd можно использовать аргумент порт для выполнения сервиса telnetd на порте с альтернативным номером TCP.

Для отладки используется опция -D. Если указана эта опция, сервис telnet выводит отладочную информацию через соединение, что позволяет просматривать данные о работе сервиса telnetd.

Работа сервиса telnetd состоит в выделении устройства псевдотерминала для клиента, последующем создании процесса входа в систему, для которого в качестве стандартного потока ввода, стандартного потока вывода и стандартного потока ошибок используется подчиненная сторона псевдотерминала. Сервис telnetd управляет основной стороной псевдотерминала путем реализации протокола TELNET и передачи символов между удаленным клиентом и процессом входа в систему.


Note: Получение сообщения о том, что все сетевые порты заняты, означает, что либо исчерпано количество псевдоустройств, либо не запущен сервис devc-pty. Сервис telnetd учитывает устройства псевдотерминалов только с именами /dev/pty[pqrs][0-f] вне зависимости от количества других созданных устройств псевдотерминалов.

При открытии сеанса TELNET сервис telnetd передает на сторону клиента опции TELNET, свидетельствующие о готовности к удаленному выводу символов, подавлению продолжения и реализации удаленного управления обменом данными, а также получению информации о типе терминала, скорости передачи данных терминала и размере окна от удаленного клиента. В случае готовности удаленного клиента данные о типе удаленного терминала передаются в среду созданного процесса входа в систему. Псевдотерминал, назначенный для клиента, настраивается для работы в режиме с обработкой с включением режимов XTABS и CRMOD.

Сервиса telnetd готов к выполнению следующих команд:

А также – к выполнению следующих команд на стороне удаленного клиента:

Проблемы разрешения имен

Для сервиса telnetd необязательно наличие доступа к функциям разрешения имен. В случае отсутствия доступа к этим функциям сервис telnetd выполняет обратный поиск имени клиента Telnet (поиск имени хоста по IP-адресу).

В случае использования сервера имен следует убедиться в корректности его конфигурации. Если конфигурация некорректна, может возникнуть задержка при возврате клиенту приглашения на вход в систему продолжительностью до 1,5 минут, пока преобразователь имен библиотеки сокетов осуществляет попытку разрешения IP-адреса в имя хоста.

Типовая конфигурация для выполнения telnetd во встраиваемой целевой системе

Как было указано выше, для выполнения сервиса telnetd в среде системы хоста следует просто ввести команду inetd в командной строке. При необходимости выполнения сервиса telnetd во встраиваемой целевой системе следует скопировать в целевую систему следующие файлы:

Для конфигурирования интерфейса через приглашение командного интерпретатора следует использовать либо утилиты ifconfig и route, либо dhcp.client. После этого можно запустить сервис inetd.

Предостережения:

В виду наличия ошибок в исходной утилите telnet из пакета BSD версии 4.2 сервис telnetd выполняет обмен некоторыми данными по протоколу для получения подтверждения того, что удаленным клиентом действительно ялвяется Telnet версии 4.2 BSD.

Для двоичного режима не предусмотрено единой интерпретации, за исключением случаев его реализации между одинаковыми операционными системами (в данном случае UNIX).

Имя типа терминала, получаемое от удаленного клиента, преобразуется в символы нижнего регистра.

Сервис telnetd не передает команды TELNET Go Ahead.

Классификация:

Базовые подсистемы ЗОСРВ «Нейтрино», UNIX, NetBSD

В ЗОСРВ «Нейтрино» редакции 2020 сервер обновлен до версии NetBSD 9.0

Тематические ссылки:

/etc/hosts, ifconfig, inetd, inetd.conf, login, /etc/resolv.conf, route, /etc/services, sh, telnet




Предыдущий раздел: Сервисы