Фэндом


При установке сети Plan 9 первой машиной, на которую проводится установка, является автономный CPU и аутентификационный сервер. После этого вы можете настраивать конфигурацию файлового сервера, затем загружать терминалы и остальные CPU серверы отсюда.

Эти инструкции относятся к текущей версии Plan 9 и, следовательно, вы должны содержать вашу систему в обновленном состоянии. (см. Обновление системы)

Установите систему с нуля и создайте автономный терминал. Войдите как glenda и отключите проверку разрешений ФС.

Выберите имя для владельца CPU сервера, — это пользователь, который запускает все остальные CPU серверы. Мы назовем его bootes.

Редактирование cpurcПравить

Первым делом отредактируйте файл /rc/bin/cpurc. Вы увидите, что он содержит почти все необходимые инструкции, но большинство из них — закомментированы.

В верхней части файла после строки facedom= вы можете связывать (команда bind) любые устройства, которые вам нужны. Команда cat /dev/drivers выведет список всех доступных драйверов. В этом случае у нас есть: m (мышь), i (прорисовка), S (sd — диск), и t (uart — последовательный):

for (i in m i S t)
	bind -a '#'^$i /dev >/dev/null >[2=1]

Перед строкой ndb/cs добавьте вызов ip/ipconfig, определив при этом подходящие значения аргументов:

ip/ipconfig -g шлюз.адрес ether /net/ether0 ip.адрес ip.маска

Закомментируйте или модифицируйте следующую строку с соответствующим timeserver:

aux/timesync plan9.bell-labs.com

Если вы хотите получить возможность загрузки других систем из этого сервера (рекомендовано), раскомментируйте две строки:

#ip/dhcpd
#ip/tftpd

Раскомментируйте следующие строки, чтобы включить аутентификационные функции:

# auth/keyfs -wp -m /mnt/keys /adm/keys >/dev/null >[2=1]
# auth/cron >>/sys/log/cron >[2=1] &

Раскомментируйте приведенный ниже блок кода. Имена файлов указывают порт и протокол, а сам файл содержит команды для запуска сервиса. authsrv. и _ prefixes указывают на отключенные сервисы; добавление или удаление префикса включает или отключает сервис:

# if(! test -e /rc/bin/service.auth/il566){
#	mv /rc/bin/service.auth/authsrv.il566 /rc/bin/service.auth/il566
#	mv /rc/bin/service.auth/authsrv.tcp567 /rc/bin/service.auth/tcp567
#	mv /rc/bin/service/il566 /rc/bin/service/_il566
#	mv /rc/bin/service/tcp567 /rc/bin/service/_tcp567
# }

Оригинальные /rc/bin/service/il566 и /rc/bin/service/tcp567 определяют какие прокси вызовы для сервисов аутентификации будут использоваться терминалами. Мы не нуждаемся в них на сервере аутентификации.

Если вам нужно обслуживать файлы из локальной kfs, добавьте следующую строку в этом месте, чтобы kfs прослушивала запросы протокола 9P в порт 17008:

disk/kfscmd 'listen il!*!17008'

Наконец, проверьте, что следующие две строки следуют за любыми вышеописанными командами:

aux/listen -q -t /rc/bin/service.auth -d /rc/bin/service il
aux/listen -q -t /rc/bin/service.auth -d /rc/bin/service tcp

Дополнительно, добавьте логику из /rc/bin/termrc для запуска rio на этом сервере. В большинстве случаев, следующих трех строк будет достаточно:

aux/mouse $mouseport
aux/vga -l $vgasize
exec rio

Добавление владельцаПравить

Отредактируйте файл /adm/users как это описано в документе Настройка файловой системы kfs, для создания владельца bootes и других пользователей.

Далее необходимо очистить существующий файл ключа:

rm /adm/keys
disk/kfscmd 'create /adm/keys bootes bootes 660'

Если необходимо, создайте журнальный файл cron:

disk/kfscmd 'create /sys/log/cron bootes sys 664 a'

Сгенерируйте SSH ключи для хоста:

aux/ssh_genkey
chgrp -u bootes /sys/lib/ssh/hostkey.*

Сетевая база данныхПравить

Отредактируйте /lib/ndb для соответствия вашей сети как это описано в документе Настройка сети. Проверьте следующие атрибуты в базе данных:

  • auth=аутсервер — закомментирован
  • proto=il — закомментирован
  • cpu=аутсервер — если вы хотите, чтобы CPU сервер работал как «аутсервер»
  • fs=аутсервер — если вы хотите обслуживать файлы из «аутсервера»
  • ntp=ntpserver — если вы хотите использовать NTP для timesync
  • bootf=/386/9pc — если вы хотите загружать терминалы посредством ядра 9pc

Для того, чтобы проверить правильно ли вы сконфигурировали сеть, выполните следующие команды:

ndb/ipquery ip ваш.ip.ад.рес auth
ndb/ipquery ip ваш.ip.ад.рес cpu
ndb/ipquery ip ваш.ip.ад.рес ntp

Для того, чтобы пользователь CPU сервера мог становиться любым другим пользователем, раскомментируйте следующие строки в файле /lib/ndb/auth:

hostid=bootes
uid=!sys uid=!adm uid=*

Дополнительно вы можете настройте почту, отредактировав файлы rewrite, remotemail, smtpd.conf и names.local, все они находятся в каталоге /mail/lib.

Выполните следующий набор команд:

cd /rc/bin/service.auth
mv authsrv.il566 il566
mv authsrv.tcp567 tcp567

Компиляция и установка ядра автономного CPU/аут сервераПравить

Три оперативных слова — это «standalone», «CPU» и «Authentication».

Автономность подразумевает тот факт, что сервер будет загружаться из собственной файловой системы kfs, следовательно, kfs нуждается в разделе bootdirнастройки ядра. Также в этом разделе необходим factotum аутентификации:

bootdir
	factotum.hack factotum
	/386/bin/disk/kfs

CPU отмечает, что сервер будет CPU сервером, следовательно, в настройке ядра необходимы следующие строки:

port
	int cpuserver = 1;

В 4-й версии Plan 9 конфигурационный файл /sys/src/9/pc/pcauth хорошо подходит для базовой настройки. Основная процедура компиляции ядра показана ниже:

cd /sys/src/9/pc
mk 'CONF=pcauth'
cp 9pcauth /386
9fat:
cp 9pcauth /n/9fat

(Так как по умолчанию ядро для установки CPU сервера не включает все драйверы, вам, возможно, придется добавлять нужные вам драйверы вручную, на эту тему читайте документ Компиляция ядер, в противном случае вы можете пропустить что-нибудь важное.) Отредактируйте файл /n/9fat/plan9.ini следующим образом:

bootfile=sdXX!9fat!9pcauth

где sdXX — это диск с разделом 9fat. Вам придется использовать многочисленные записи bootfile=, пока вы отлаживаете настройку вашего CPU сервера; смотрите 9load(8).

Раздел nvramПравить

Для поддержки характеристик безопасности аутентификационного сервера необходим раздел диска, который имитировал бы не изменяемую оперативную память (non-volatile ram NVRAM). Это можно сделать, создав подраздел внутри раздела Plan 9, посредством disk/prep. Этот подраздел должен быть названnvram.

disk/prep /dev/sdC0/plan9

Измените эту команду для соответствия вашему разделу plan9. В программе удалите подраздел своппинга swap и поставьте вместо него раздел своппинга меньший на 1 сектор за оригинальный. Далее на свободном пространстве создайте раздел nvram, ему необходим лишь 1 сектор диска.

echo blahblahblah >/dev/sdC0/nvram

при этом контрольная сумма будет некорректна при следующей загрузке, что заставит CPU сервер запрашивать у вас информацию аутентификации.

ПерезагрузкаПравить

Перезагрузите машину. Произойдет загрузка ядра 9pccpud, а затем вывод сообщения о некорректности контрольной суммы nvram.

После этого появится приглашение ввести authid, authdom, ключ secstore и пароль. Authid — это имя владельца, т.е. bootes. Authdom — это не пустой домен (например, moscvax.edu) по вашему усмотрению (для отладки), и ключ secstore и пароль должны быть секретным паролем из 8 или более символов. Запомните пароль.

Настройка аутентификационного сервераПравить

Первым делом вы должны аутентифицировать bootes, используя auth(8) и пароль (Plan 9), который вы вводили.

auth/changeuser bootes

При необходимости, введите пароль еще раз также как и секрет Inferno/POP. Это должен быть тот же пароль Plan 9. Другие поля не обязательны. После этого вы должны аутентифицировать других пользователей.

Ну вот и все, вы сконфигурировали автономный CPU сервер, чья первичная цель — сервер аутентификации. Сделав kfs сетевой файловой системой, вы сможете использовать одну машину для поддержки сети, а не две. Но это не лучший способ использования системы Plan 9. Kfs — медленная система и не может обеспечить резервное архивирование в стиле файловой системы dump, с другой стороны, она легче при управлении сетью, когда каждая машина имеет собственную работу. И, все-таки, при небольших инсталляциях (одна-две машины) это скромный путь для загрузки терминалов без необходимости в каком-либо локальном состоянии.

Настройка CPU сервераПравить

Чтобы ваш сервер прослушивал команду cpu в порт 17010, а терминалы могли использовать команду cpu, используйте следующие команды:

cd /rc/bin/service
echo '#!/bin/cpu -R' >il17010
echo '#!/bin/cpu -R' >tcp17010
chmod +x *17010

Если вы желаете установить файловый сервер Plan 9 и загружать ваш CPU/аутентификационный сервер из него, вам следует прочитать документ Установка файлового сервера Plan 9. Мы рекомендуем его прочтение так как этот документ делает системное администрирование намного проще. Вы можете быть спокойны после бедствий, если используете диск в CPU сервере как резервный раздел для вашего файлового сервера.

КомментарииПравить

  • Эти инструкции были модифицированы для 4-й версии Plan 9 14 декабря 2002 года. В случае, если они не работают у вас, дайте знать 9fans или сами отредактируйте англоязычную wiki страницу.
  • drawterm(8) позволяет подключение других операционных систем к CPU серверу Plan 9. Двоичные файлы для различных платформ доступны в каталоге/sys/src/cmd/unix/drawterm/bin. Параметры программ: -a аут.сервер.ip, -c cpu.сервер.ip.
  • Двоичный файл netkey доступен по адресу: ftp://plan9.bell-labs.com/netkey/.
  • Для подключения при помощи drawterm-freebsd использует порты 567 и 17013.

Copyright © 2003 Перевод Андрей С. Кухар. Последняя модификация 22.08.2003

Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

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

Также на Фэндоме

Случайная вики