Запуск в server режиме

Установка вашего SLIP клиента была наиболее сложной частью. Теперь, настроив ваш хост для работы как SLIP сервер, вы увидите, что это гораздо проще. Единственный способ это сделать — использовать dip в режиме сервера, запуская его под именем diplogin. Его главный файл конфигурации — /etc/diphosts, который соединяет логин и имя хоста. В качестве альтернативы, вы можете использовать sliplogin, утилиту производную от BSD, которая предоставляет гибкую схему конфигурации, позволяя выполнить shell скрипты при соединении и разъединении. На данный момент это находится на стадии бета-тестирования.

Обе программы требуют создания учетной записи для каждого SLIP клиента. Например, если вы предоставляете SLIP сервис для Arthur Dent из Dent.beta.com, вы можете создать учетную запись с именем dent, добавив следующую строку к вашему файлу паролей:

dent:*:501:60:Arthur Dent's SLIP account:/tmp:/usr/sbin/diplogin

После этого вам потребуется установить пароль для dent с помощью утилиты passwd. Теперь, когда dent подключается, dip запускается как сервер. Чтобы убедиться, что ему разрешено использовать SLIP, программа ищет имя пользователя в файле /etc/diphosts. Этот файл подробно описывает права доступа и параметры соединения для каждого пользователя SLIP.

Типовая запись для dent может выглядеть следующим образом:

dent::dent.beta.com:Arthur Dent:SLIP,296

Первый раздел, разделенный двоеточием - это имя пользователя. Второй раздел может содержать дополнительный пароль (см. ниже). Третий раздел - это имя хоста или IP-адрес клиента. Далее идет информационная часть, которая пока не имеет особого значения. Последний раздел описывает параметры соединения: это список, разделенный запятыми, который определяет протокол (текущие доступные значения — SLIP и CSLIP) и значение MTU.

Когда dent входит в систему, diplogin извлекает информацию о нем из файла diphosts и, если второй раздел не пуст, отображает запрос "Пароль внешней защиты". Введенная пользователем строка сравнивается с паролем из файла diphosts. Если они не совпадают, попытка входа будет отклонена.

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

Diplogin требует прав суперпользователя. Если вы установили dip с правами суперпользователя (setuid root), то diplogin должен быть отдельной копией dip, а не просто ссылкой. После этого diplogin может быть запущен с правами setuid, не влияя на состояние основного dip.