Книга: Сетевые средства Linux

Редактирование начального сообщения Telnet

Редактирование начального сообщения 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
 echo "Kernel $(uname -r) on $a $SMP$(uname -m)" >> /etc/issue.net
else
 echo "Welcome to Mandrake Linux" > /etc/issue.net
 echo "-------------------------" >> /etc/issue.net
fi

На заметку

Начиная с версии 7.2 в системе Red Hat используются статические файлы issue и issue.net. В Caldera 3.1 и Mandrake 8.1 эти файлы по-прежнему формируются с помощью сценария /etc/rc.d/rc.local.

В некоторых строках приведенного выше кода используются переменные, которые были определены ранее в сценарии. Такой подход позволяет системе включать в состав начального сообщения дополнительную информацию, например номер процессора. Если вы измените содержимое /etc/issue и /etc/issue.net, при следующей загрузке сценарий /etc/rc.d/rc.local восстановит исходный вид этих файлов. Для того чтобы изменить начальное сообщение, можно закомментировать строки сценария, которые отвечают за запись в файлы /etc/issue и /etc/issue.net, либо модифицировать код самого сценария.

Оглавление книги


Генерация: 1.752. Запросов К БД/Cache: 3 / 1
поделиться
Вверх Вниз