Редактирование начального сообщения Telnet
При получении запроса на установление соединения сервер telnetd
читает содержимое файла /etc/issue.net
и передает его клиенту. Данные, содержащиеся в этом файле, отображаются перед тем, как пользователь получает возможность зарегистрироваться на сервере. Опция -h
, указанная при запуске telnetd
, подавляет вывод данного сообщения. Как правило, в начальном сообщении приводятся некоторые сведения о компьютере, на котором выполняется Telnet-сервер. Ознакомившись с ними, пользователь может убедиться, что он обратился к нужному ему узлу сети. По умолчанию в начальном сообщении содержатся данные о версиях системы и ядра. Большинству пользователей эти сведения не нужны, но они наверняка заинтересуют злоумышленника, который собирается взломать систему. Прочитав начальное сообщение, он сможет определить, какое программное обеспечение выполняется на компьютере, и догадаться, какими недостатками в защите можно воспользоваться.
Аналогичные сведения отображаются при регистрации пользователя с консольного терминала (непосредственно подключенного к компьютеру). Они содержатся в файле /etc/issue
. (При установлении соединения с помощью X Window данный файл не используется. Вопросы удаленной регистрации средствами X Window будут рассматриваться в главе 14.)
Многие системы позволяют непосредственно редактировать файл /etc/issue.net
. Вы можете изменять текст в этом файле по своему усмотрению. В составе начального сообщения могут содержаться специальные переменные, которые telnetd
заменяет данными о системе. Назначение этих переменных описано в табл. 13.1.
Таблица 13.1. Переменные, используемые в файле /etc/issue.net
Переменная | Описание |
---|---|
%t | Используемый терминал (число, описывающее устройство ввода-вывода текста) |
%h | Полное доменное имя компьютера |
%D | Имя домена NIS (если сервер NIS используется в сети) |
%d | Текущая дата и время |
%s | Имя операционной системы (Linux) |
%m | Тип аппаратного обеспечения (процессора) |
%r | Номер версии ядра |
%v | Версия операционной системы (обычно не используется) |
%% | Символ % |
Предположим, что текст в файле /etc/issue.net
выглядит следующим образом:
Welcome to %h.
Current time is %d.
Notice: For authorized users only!
Если ваш компьютер имеет имя maple.threeroomco.com
, начальное сообщение будет выглядеть так:
$ telnet maple.threeroomco.com
Trying 172.21.32.43...
Connected to maple.threeroomco.com.
Escape character is '^]'.
Welcome to maple.threeroomco.com.
Current time is 10:57 on Monday, 12 August 2002.
Notice: For authorized users only!
В некоторых разновидностях Linux (в частности, в Caldera, Mandrake и некоторых версиях Red Hat) файлы /etc/issue
и /etc/issue.net
создаются в процессе загрузки. Формированием этих файлов занимается сценарий /etc/rc.d/rc.local
. Код сценария, используемого в системе Mandrake 8.1, приведен ниже.
# Этот сценарий создает файл /etc/issue при каждой
# загрузке системы. Чтобы сохранить изменения, внесенные
# в файл /etc/issue, надо изменить код сценария.
if [ -х /usr/bin/linux_logo ]; then
/usr/bin/linux_logo -c -n -f > /etc/issue
echo "" >> /etc/issue
else
echo "" > /etc/issue
fi
echo "$R" >> /etc/issue
echo "Kernel $(uname -r) on $ a $SMP$ (uname -m) / \1" >> /etc/issue
if [ "$SECURITY" -le 3 ]; then
echo "Welcome to %h" > /etc/issue.net
echo "$R" >> /etc/issue.net