Введение в Taylor UUCP
Сказать, что конфигурация UUCP является тяжелой, было бы замалчиванием фактов. Это, действительно, запутанная тема, и иногда краткий формат файлов конфигурации не делает вещи проще (хотя формат Talyor читается очень просто по сравнению с более старыми форматами в HDB или Version 2).
Введение в Taylor UUCP
Сказать, что конфигурация UUCP является тяжелой, было бы замалчиванием фактов. Это, действительно, запутанная тема, и иногда краткий формат файлов конфигурации не делает вещи проще (хотя формат Talyor читается очень просто по сравнению с более старыми форматами в HDB или Version 2).
Чтобы дать Вам понять, как взаимодействуют все эти файлы, представим наиболее важное и будем просматривать типовые записи этих файлов. Мы не будем объяснять все подробно; более точные сведения даны в отдельных разделах ниже. Если Вы хотите установить на Вашу машину UUCP, лучше всего начать с типовых файлов и адаптировать их постепенно. Вы можете выбирать из предложенного ниже набора примеров или того, что есть в Вашем дистрибутиве Linux.
Все файлы, описанные в этом разделе хранятся в
/etc/uucp или в его подкаталогах. Некоторые дистрибутивы Linux содержат код UUCP, который поддерживает HDB и Taylor конфигурации, и используют различные подкаталоги для каждого набора файлов конфигурации. Обычно есть файл README в каталоге
/usr/lib/uucp.
Чтобы UUCP работал правильно, эти файлы должны принадлежать пользователю uucp. Некоторые из них содержат пароли и номера телефона, и следовательно, должны иметь права доступа 600. Обратите внимание, что хотя большинство команд UUCP должно иметь бит setuid на имя uucp, Вы должны удостовериться, что программа uuchk такого бита не имеет. Иначе, пользователи будут способны отобразить пароли системы даже при том, что файлы имеют режим доступа 600.
Центральный файл конфигурации UUCP называется
/etc/uucp/config. Он используется, чтобы установить общие параметры. Наиболее важный из них (и теперь единственный), является именем UUCP Вашей системы. Для нашей модельной сети Virtual Brewery использован vstout в качестве шлюза UUCP:
# /etc/uucp/config - UUCP main configuration file nodename vstout
Следующий важный файл конфигурации называется sys . Он содержит всю системно-специфическую информацию об участках сети, с которыми Вы связаны. Она включает имя участка и информацию относительно связи, например, номера телефонов при использовании связи по модему. Типичный скрипт для модемной связи с машиной pablo:
# /usr/lib/uucp/sys - name UUCP neighbors # system: pablo system pablo time Any phone 555-22112 port serial1 speed 38400 chat ogin: vstout ssword: lorca
Ключевое слово port задает порт, который нужно использовать, time определяет время, в которое система может вызываться. chat описывает сценарии входа в систему: последовательность строк, которыми нужно обменяться, чтобы uucico зарегистрировали на pablo. Мы опишем сценарий входа позже. Команда port не называет конкретный файл устройства, например, /dev/cua1, она указывает на файл с соответсвующими записями. Вы можете назначить любое походящее имя.
Файл port содержит информацию о связи непосредственно. Для модемной связи он описывает специальный файл устройства, который нужно использовать, скорость и тип оборудования, соединенного с портом. Пример ниже описывает /dev/ttyS1 (он же COM2), с которым соединен модем NakWell способный к передаче на скорости до 38400bps. Имя порта должно соответствовать имени, заданному в файле sys.
# /etc/uucp/port - UUCP ports # /dev/ttyS1 (COM2) port serial1 type modem device /dev/ttyS1 speed 38400 dialer nakwell
Информация, имеющая отношение к программам набора номера, cохраняется в другом файле, называемом dial. Для каждого типа программы набора номера он содержит последовательность команд, которые требуются, чтобы вызвать удаленную машину по номеру телефона. Все это называется chat script (сценарий дружеской системы). Пример для вышеупомянутого NakWell мог бы выглядеть следующим образом:
# /etc/uucp/dial - per-dialer information # NakWell modems dialer nakwell chat "" AT&F OK ATDT\T CONNECT
<
/p>
Строка, начинающаяся с chat, определяет скрипт модема, который является последовательностью команд, посланных и полученных от модема, чтобы инициализировать его и набрать желательный номер. Последовательность \T будет заменена на номер телефона uucico.
Чтобы в общем показать Вам, как uucico работает с этими файлами конфигурации, предположим, что Вы дали команду:
$ uucico -s pablo
Первым делом uucico ищет pablo в файле sys. Из строки в файле sys для pablo она видит, что должна использовать порт serial1 для установки соединения. Файл port сообщает uucico, что serial1 является портом модема, и что есть подключенный модем NakWell.
uucico теперь ищет запись dial , описывающую модем NakWell, и найдя первую такую запись, открывает последовательный порт /dev/cua1 и выполняет "дружескую беседу" программы набора номера. То есть, посылает AT&F, ждет в ответ OK и т.д. При столкновении со строкой \T, она заменяет эту строку на номер телефона (555-22112), извлеченный из файла sys.
После того, как соединение будет установлено (модем вернет CONNECT), uucico возвращается к файлу sys и выполняет дружескую беседу входа в систему (login chat). В нашем примере она ждет приглашения login: затем посылает имя пользователя (vstout), ждет приглашения password: и посылает пароль (lorca).
После завершения авторизации удаленная система активизирует собственный uucico. Две копии uucico
проводят фазу рукопожатия (handshake phase), описанную в предыдущем разделе. Я прекрасно понимаю, что термины "фаза рукопожатия" и "дружеская беседа входа в систему" звучат не очень удачно, но эквивалентная русская терминология в этой области отсутствует.