ГЛАВА 10 РАЗДЕЛЕНИЕ УДАЛЕННЫХ ФАЙЛОВ СОДЕРЖАНИЕ ВВЕДЕНИЕ Разделение ресурсов Домены Управление Защита Защита соединения Защита монтирования Защита на уровне пользователя и группы РАЗДЕЛЯЕМЫЕ РЕСУРСЫ Объявленные ресурсы Псевдонимы Защита ресурса Локальная таблица объявления Таблица объявления домена Снятие объявления Монтирование удаленных ресурсов Автоматические дистанционные монтирования Руководство по монтированию Правила монтирования Таблица смонтированных файловых систем станции Таблица смонтированных файловых систем домена Размонтирование Принудительное размонтирование ОТОБРАЖЕНИЕ УДАЛЕННЫХ ПОЛЬЗОВАТЕЛЕЙ Как работает отображение Компоненты отображения Файлы правил Команда idload Станционные файлы passwd и group Выбор стратегии отображения Без отображения Отображение удаленных идентификаторов Отображение удаленных имен СОПРОВОЖДЕНИЕ Введение Управление станцией Управление доменом Контроль и настройка Сопровождение станции Запуск станции Пароли и верификация Опции команды rfstart Остановка станции Изменение пароля станции Обновление информации о пользователях и группах Сопровождение домена Добавление новых станций Исключение станции Смена текущего сервера имен домена Переназначение сервера имен домена Добавление новых доменов Обновление файлов пользователей и групп Режим разделения удаленных файлов (init 3) Запуск уровня выполнения Выполнение init Изменение способа выполнения init Добавление управляющих файлов режима РУФ Восстановление Первичный выключается Выключаются первичный и вторичные Сервер выключается Мониторинг Удаленные системные вызовы (sar -Dc) Время центрального процессора (sar -Du) Процессы-серверы Использование ресурсов (fusage) Пространство на удаленном диске (df) Настройка параметров Параметры РУФ (системы разделения удаленных файлов) ВВЕДЕНИЕ Разделение удаленных файлов (РУФ) позволяет компьютерам, рабо- тающим под управлением операционной системы UNIX версия V.3 из- бирательным образом совместно использовать ресурсы (файлы, ка- талоги, устройства и именованные каналы). В качестве админист- ратора рабочей станции сети с разделением удаленных файлов (РУФ-сети), Вы можете выбрать каталоги, которые Вы хотели бы совместно использовать и включить их в список доступных ресур- сов сети. Из этого списка Вы можете выбрать ресурсы удаленной рабочей станцци, которые Вам хотелось бы использовать на своем компьютере. Каждая рабочая станция сети с разделением удаленных файлов мо- жет быть объединена с другими в домен или функционировать как независимый домен. Домен может обеспечить центральный пункт для управления группой рабочих станций. В отличие от других поставляемых файловых систем, используемых с операционной системой UNIX, разделение удаленных файлов встроено в операционную систему. Такой подход имеет несколько преимуществ: Совместимость Как только Вы смонтировали удаленный ресурс на Вашей системе, он будет выг- лядеть для ваших пользователей как часть локальной системы. Вы можете ис- пользовать множество стандартных средств системы UNIX в применении к этому ресурсу. Стандартные команды и системные вызовы, наряду с такими специ- альными возможностями, как блокирование доступа к файлу или записи в файл, ра- ботают на удаленном ресурсе так же как и на местном. Прикладные программы бу- дут без модификации работать с удален- ным ресурсом. Защита Стандартная система защиты файлов сис- темы UNIX будет в состоянии защитить Ваши ресурсы. Кроме того, в систему разделения удаленных файлов были добав- лены специальные средства верификации доступа рабочих станций к Вашим ресур- сам и ограничения прав удаленных поль- зователей. Гибкость Поскольку Вы можете присоединить (смон- тировать) удаленный ресурс к любому ка- талогу на Вашей системе, Вы имеете большую степень свободы в выборе "точки зрения Вашего компьютера на мир". Вы не обязаны делать доступными все Ваши фай- лы всем рабочим станциям сети. С другой стороны, Вы не можете сделать все файлы сети доступными пользователям Вашей ма- шины. Разделение ресурсов Совместное использование (разделение) ресурсов в системе разде- ления удаленных файлов начинается с маршрутного имени каталога в системе UNIX. Если это каталог, который Вы хотели бы совмест- но использовать, Вы приписываете ему имя ресурса и "объявляете" его другим рабочим станциям с помощью команды adv(1M). Имя ре- сурса используется для ссылки на этот каталог других рабочих станций. Станции, которые прошли установленные Вами проверки, связанные с защитой, могут затем смонтировать Ваш ресурс как они могли бы смонтировать файловую систему на месте. Пусть администратор станции, имеющий имя fie в системе разделе- ния удаленных файлов, хочет совместно использовать все файлы и каталоги, находящиеся в дереве его системы под /fs1. Админист- ратор объявляет /fs1 в качестве ресурса, именуемого FSLOGS. Другая машина в домене, принадлежащем fie называется fee. Чтобы увидеть, что FSLOGS доступен на fie, администратор с fee ис- пользует команду nsquery. Затем администратор fee создает ката- лог /logs/alogs у себя на fee (команда mkdir) и монтирует (mo- unt) FSLOGS к /logs/alogs. Файлы и подкаталоги из /fs1 теперь доступны пользователям fee. Пользователи могут применить cd к удаленному каталогу и запус- тить у себя удаленную программу. Если каталог /dev является ре- сурсом, то пользователи могут осуществлять непосредственный вы- вод на удаленное устройство, как если бы оно было на собствен- ной станции. Домены Понятие "домен" в системе разделения удаленных файлов является средством логического группирования рабочих станций в админист- ративных целях. В каждом домене выделяются так называемые "сер- веры имен", которые отслеживают доступные ресурсы и информацию о паролях для станций, которые они обслуживают. Каждая станция в системе разделения удаленных файлов должна быть включена в домен. Размер домена - от одной машины до любо- го количества допустимого для данной сети. При создании домена Вы определяете первичный и ни одного или несколько вторичных серверов имен домена. Если первичный откажет, то обслуживание имен домена будет подхвачено одним из вторичных серверов. Домен обеспечивает следующие виды услуг для своих станций: сервер имен домена Сервер имен домена следит за всеми станциями и ресурса- ми домена. Он обеспечивает прозрачный доступ к ресурсам и гарантирует уникальность имен внутри домена. Сервер имен домена хранит также пароли, списки пользователей и сетевые адреса станций других доменов. обеспечение надежности Первичный и вторичные серверы имен домена гарантируют, что сбой на одной из станций не разрушит системы разде- ления удаленных файлов. Даже если первичный выйдет из строя, вторичный быстро возьмет на себя его функции. Если выйдет из строя рабочий компьютер, не являющийся сервером имен домена, то его ресурсы более не доступны, но все остальные монтирования в сети остаются нетрону- тыми. центральный пункт доступа По мере роста сети с разделением удаленных файлов объе- динение рабочих компьютеров в домены упрощает связи, предоставляя центр (первичный сервер имен домена), че- рез который может быть определено местоположение раз- личных станций. Поскольку Ваш домен знает адрес сервера имен другого домена, то Вы имеете возможность получить доступ к ресурсам любой станции того домена. Имея такой информационный центр, администратор некото- рой станции не должен обращаться к каждой станции для выяснения того, что ей требуется для совместного ис- пользования ресурсов. Вся информация, необходимая для определения местонахождения ресурсов, поддержания защи- ты и взаимодействия с другими станциями, хранится на сервере имен домена данной станции. Управление Управление системой разделения удаленных файлов должно рассмат- риваться на двух уровнях - станции и домена. В качестве адми- нистратора рабочей станции Вы должны делать следующее: 1. Запустить систему разделения удаленных файлов. Это подключит Вас к службе разделения удаленных файлов на сети. 2. Выбрать, какие ресурсы Вы хотите совместно использовать и с кем. Когда Вы объявляете ресурсы, они вносятся в список сервером имен Вашего домена. 3. Выбрать ресурсы других станций, которыми Вы хотели бы пользоваться, и смонтировать их в Вашей файловой систе- ме. 4. Необязательно определять, каким образом идентификаторы пользователей и групп пользователей с удаленных станций отображены в множество идентификаторов пользователей и групп Вашей станции. Вы можете предоставить список Ва- ших пользователей и групп пользователей, c тем чтобы они могли быть отображены на другие компьютеры. Все управление внутри домена осуществляется из сервера имен до- мена. Эта деятельность включает в себя: определение имен и сетевых адресов первичного и вторичных серверов имен домена, включая серверы имен других доступных доменов поддержание списка всех станций в домене (необязательно) поддержание информации о паролях и об отобра- жении пользователей для всех доступных станций внутри домена Если первичный сервер выключается, то вторичный возьмет на себя функции сервера имен домена. Администратор вторичного, однако, не может добавить или удалить станции или изменить их пароли. Вы можете только передать всю ответственность сервера имен до- мена обратно первичному, когда тот вновь заработает. Первичный сервер имен домена может обслуживать несколько доме- нов. При этом вторичные должны быть одними и теми же, для всех доменов обслуживаемых данным первичным. Это упрощает процесс возврата ответственности сервера имен первичному после того, как тот отключится и включится вновь. Инструментарий, используемый Вами для расширения возможностей системы разделения удаленных файлов, предпочтительнее, чем мо- дификация стандартного интерфейса системы UNIX. Вы можете ис- пользовать те же самые команды и системные вызовы для удаленных ресурсов, что и для локальных. Были, однако, добавлены некото- рые новые возможности и команды, ориентированные специально на потребности системы разделения удаленных файлов. Например, команда sar -u по-прежнему выдает отчет о деятельнос- ти системы, но sar -Du добавляет к отчету строчку о системе разделения удаленных файлов. Аналогично, файловая структура системы UNIX выглядит точно так же, но к ней добавлено монтиро- вание удаленных ресурсов (команда mount -d). Защита Будучи администратором станции, Вы можете поддерживать строгий контроль Ваших ресурсов. Другие станции не имеют доступа ни к каким файлам, каталогам или устройствам файловой системы, кото- рая не предназначена для совместого использования. Поскольку местные пользователи должны входить в систему обычным образом, то непосредственный доступ к Вашему компьютеру нахо- дится под контролем. Что касается дистанционной доступности, то Вы можете установить защиту, разрешающую доступ к Вашим ресур- сам только определенным удаленным станциям. Следующие разделы проясняют некоторые из этих вопросов. ЗАЩИТА СОЕДИНЕНИЯ Когда удаленная станция пытается смонтировать ресурс с Вашей станции, а никакие другие ресурсы еще не смонтированы, то она пытается установить связь (виртуальное соединение) по сети с Вашей станцией. Как только такое виртуальное соединение уста- новлено, станция может смонтировать любой ресурс, который Вы сделали для нее доступным. Это виртуальное соединение закрыва- ется, когда последний ресурс размонтируется. Перед созданием такого виртуального соединения станция должна преодолеть установленную Вами защиту. Вы можете установить: любая станция, которая пытается присоединиться, может это сделать (см. команду rfstart); могут присоединиться только те станции, для которых Ваша име- ет соответствующее имя и пароль (см. опцию -v команды rfstart). Такая информация находится в файле(ах) паролей домена, которые Вы можете поддерживать. Если Вы хотите, чтобы присоединение было позволено толь- ко части станций каждого домена, Вы можете моди- фицировать каждый из этих файлов. ЗАЩИТА МОНТИРОВАНИЯ Ресурсы с Вашей станции, которые другая станция может смонтиро- вать, после того как она установила с ней соединение, зависят от того как Вы объявляли каждый ресурс. Ваши возможности: Вы можете объявлять ресурс таким образом, что любая станция, которая может подсоединиться к Вашей, может и смонтировать его. Вы ограничили доступ к ресурсу определенным набором станций; удаленная станция, пытающаяся смонтировать его, должна быть одной из них (см. опцию клиенты... команды adv). Кроме того Вы можете объявить ресурс доступным только для чте- ния (см. adv -r). В этом случае удаленная станция может смонти- ровать ресурс только на чтение, в отличие от доступности на чтение/запись по умолчанию. ЗАЩИТА НА УРОВНЕ ПОЛЬЗОВАТЕЛЯ И ГРУППЫ Для обеспечения следующего уровня защиты можно определить права удаленных пользователей. Удаленные пользователи и группы могут быть отображены в списки пользователей и групп Вашей станции, с тем чтобы установить их права по отношению к Вашим ресурсам. Вы можете установить эти правила отображения на глобальном или станционном уровне. Глобальные правила устанавливают права тех пользователей и групп пользователей всех станций, для которых нет явных станционных правил отображения. Далее указано, как Вы можете отобразить пользователей удаленных станций на Вашу станцию. Эти правила применимы как к глобально- му (global), так и к станционному (host) отображению. без преобразования Если Вы не установили некоторого особенного отображения для определенной удаленной станции, то все ее пользова- тели будут отображены на Вашу станцию с идентификатором пользователя/группы "специального гостя" ("special gu- est"). Это простейший подход, поскольку в этом случае у Вас нет необходимости хранить какие-либо регистрационные записи для удаленной станции. отображение по умолчанию Вы можете установить преобразование по умолчанию, так что права всех удаленных пользователей отобразятся в од- но из следующих: - в локальный идентификатор пользователя, который для любого удаленного пользователя равен его идентифика- тору (прозрачное по умолчанию) - в единственный локальный идентификатор пользователя - в единственное локальное имя пользователя - в локальное имя пользователя, которое для любого удаленного пользователя равно его имени (map all) Права групп могут отображаться таким же образом. Пользо- ватели и группы отображаются независимо. При желании Вы можете исключить (exclude) определенных пользователей и группы пользователей из отображения по умолчанию, так что у них будут только права специального гостя (напри- мер exclude 0). специальное отображение Вы можете отобразить любого пользователя или группу с удаленной машины в некоторого отдельного пользователя или группу на Вашей машине. Это можно сделать, используя имя удаленного пользователя или его идентификатор. (Вы не можете использовать удаленные имена в блоках глобаль- ных отображений - см. ниже.) Применяя такую технику отображения и стандартные методы опреде- ления прав доступа к файлам, Вы можете поддерживать строгий контроль над Вашими ресурсами, даже после того как они дистан- ционно смонтированы. (Для большей конкретности см. раздел этой главы "Отображение удаленных пользователей".) РАЗДЕЛЯЕМЫЕ РЕСУРСЫ В этом разделе описано, как в системе разделения удаленных фай- лов использовать Ваши ресурсы совместно с другими машинами, и как воспользоваться ресурсами, которые другие станции сделали доступными. Для разделения ресурсов Вам предстоит пользоваться следующими командами: adv(1M)(с опциями) Делает Ваши ресурсы доступными другим станциям. mount(1M)(с опциями) Присоединяет удаленные ресурсы к Вашей станции. Чтобы распечатать информацию о разделяемых ресурсах, Вам следу- ет использовать такие команды: adv(1M)(без опций) Выдает список Ваших объявленных ресур- сов. nsquery(1M) Выдает список объявленных ресурсов дру- гих станций. mount(1M)(без опций) Перечисляет смонтированные Вами, уда- ленные ресурсы, точно также как и ло- кальные файловые системы. rmntstat(1M) Перечисляет Ваши ресурсы, смонтирован- ные другими станциями. fusage(1M) Сообщает о степени использования диска удаленными станциями. (См. в этой главе раздел "Мониторинг".) df(1M) Сообщает о доступности дискового прост- ранства на удаленных станциях. (См. в этой главе раздел "Мониторинг".) Для исключения удаленных ресурсов, Вы должны применять такие команды: unadv(1M) Исключает один из обявленных Вами ранее ресурсов. umount Размонтирует удаленный ресурс, смонти- рованный Вами на Вашей станции. fuser(1M) Проверяет, какие локальные пользователи имеют в настоящий момент доступ к уда- ленным ресурсам. (Вы можете этим вос- пользоваться перед размонтированием ре- сурса.) fumount(1M) Принудительно размонтирует один из Ва- ших ресурсов у всех клиентов, которые его смонтировали. Объявленные ресурсы Команда adv применяется для "объявления" каталога, так что он становится доступным другим станциям. При объявлении каталога Вы должны присвоить ему ресурсное имя. Этот ресурс должен иметь уникальное имя внутри Вашего домена. При выполнении adv с перечисленными ниже опциями ресурс регист- рируется Вашим сервером имен домена. Любая станция, которая хо- чет получить доступ к Вашему ресурсу может найти их список в таблице объявлений Вашего домена (команда nsquery). Удаленная машина не будет знать точного местоположения ресурса на Вашей станции. Все, что ей будет известно - это имя ресурса, краткое описание, данное Вами, то, что он находится на Вашей станции, и права чтения/записи. Вы можете так установить Вашу систему, что ресурсы будут объяв- лены автоматически, когда Вы введете init 3. Чтобы этого до- биться, поместите командную строку для каждого объявленного ре- сурса в файл /etc/rstab. Синтаксис команды adv для объявления ресурса, таков: adv [-r] [-d "описание"] ресурс маршрутное_имя [клиенты...] Синтаксис команды adv для модификации элемента таблицы, связан- ного с ресурсом, таков: adv -m ресурс -d"описание" [клиенты...] или : adv -m ресурс [-d"описание"] клиенты... Опции означают следующее: -r Применяется для объявления ресурса с доступом только на чтение. Если ей не воспользоваться, то удаленный поль- зователь будет иметь доступ на чтение/запись. -d Указывает, что следующим аргументом (описание) будет описание ресурса. Описание может содержать от 0 до 32 символов. Ресурс Это есть приписанное Вами имя ресурса. Имя ограничено 14-ю печатными символами кода ASCII; нельзя использо- вать: косую черту (/), точку (.) и символы-"невидимки". маршрутное_имя Это полное маршрутное имя каталога, который Вы хотите совместно использовать. Каталог должен находиться на Вашей локальной системе и не должен быть уже объявлен. клиенты... Это необязательный список из одного или нескольких имен станций или доменов, которыми Вы хотите ограничить дос- туп к ресурсу. Если клиенты не указаны, то ресурс будет доступен любой станции в системе разделения удаленных файлов, которая может соединиться с Вашей станцией. Вы можете также определить псевдонимы, так что одно имя может представлять группу станций и/или доменов. (См. ниже "Псевдонимы") -m ресурс Эта опция используется, чтобы изменить содержимое полей описание или клиенты в списке объявленных ресурсов. Ее нельзя использовать для изменения прав чтения/записи. ПСЕВДОНИМЫ Чтобы найти определение некоторых псевдонимов из поля "клиенты" команда adv читает файл /etc/host.alias. Формат этого файла та- ков: alias имя клиент1 клиент2 клиент3 ... где имя заменяется такой цепочкой символов, которой Вы хотите представить данный список клиентов. Каждый клиент может быть именем станции, именем домена или псевдонимом, определенным ра- нее в этом файле. Три поля должны быть разделены пробелами или символами табуляции. Если у Вас слишком много клиентов, чтобы поместить их на одной строчке, Вы можете отменить символ пере- хода на новую строку при помощи обратной наклонной черты (\). ЗАЩИТА РЕСУРСА Далее представлены уровни защиты объявленного вами ресурса: защита соединения Только те удаленные станции, которые прошли установлен- ные Вами проверки, связанные с защитой, могут связаться с вашей станцией. Вы можете указать, что связаться мо- гут только станции, о которых у Вас имеется регистраци- онная запись. (см. rfstart -v). защита монтирования Вы можете объявить свой ресурс таким образом, что толь- ко избранные станции смогут его смонтировать (см. опцию клиент команды adv). Если так, то когда станция впервые соединяется с Вашей, нужно проверить, является ли она одной из них. защита на уровне пользователя Права, которые удаленные пользователи будут иметь по отношению к Вашим ресурсам, устанавливаются на уровне станций. Иными словами, то отображение пользователей и групп, которое Вы установили для удаленной станции, бу- дет применяться к каждому из Ваших ресурсов, которые та монтирует. защита в системе UNIX В отношении доступа ко всем объявленным ресурсам будет применяться обычная защита системы UNIX: регулирование прав чтения, записи и выполнения. ЛОКАЛЬНАЯ ТАБЛИЦА ОБЪЯВЛЕНИЯ Все объявленные ресурсы для Вашей станции содержатся в локаль- ной таблице объявления Вашей станции. Чтобы вывести на экран таблицу объявления, следует воспользоваться командой adv без опций. Выходом будет листинг вроде этого: $ adv CUSTOMER /usr/bin/cust read-only "Atlanta customers" fee fie doc.tick SCCS /sccs read/write "Project Y source" unrestricted CALENDAR /usr/bin/cal read-only "UNIX System calendar" graph. hostgrp $ Информация будет отражать то, что Вы вводили, используя команду adv с подходящими опциями для каждого ресурса. Некоторая инфор- мация предполагается при объявлении ресурса по умолчанию. Нап- ример, если не была специфицирована опция -r, то доступ будет определен как чтение/запись, и, если не были указаны никакие клиенты, то их список не будет ограничен (unrestricted) опреде- ленными станциями. Клиентами перечисленными в последнем поле отчета могут быть: имена станций в Вашем домене (fee) имена станций в других доменах (doc.tick) имена доменов (graph.) unrestricted, если ресурс не ограничен определенным набором станций ТАБЛИЦА ОБЪЯВЛЕНИЯ ДОМЕНА Все объявленные ресурсы Вашего домена находятся в таблице объ- явления домена на станции, являющейся сервером имен домена. Для получения списка всех или части объявленных ресурсов в домене, любой пользователь может воспользоваться командой nsquery. Ко- манда имеет следующий синтаксис: nsquery [-h] [имя] где -h можно воспользоваться для подавления печати строки заго- ловка, а опция имя может быть заменена одним из следующих: имя станции Для перечисления ресурсов, объявленных конк- ретной станцией Вашего домена. имя домена. Для перечисления всех ресурсов, объявленных всеми станциями домена. (Точка после имени предписывает интерпретировать его как имя до- мена). имя домена.станции Для перечисления всех ресурсов, объявленных конкретной станцией, принадлежащей "чужому" домену. Если опция имя не используется, то nsqueru будет печатать все ресурсы в ее домене. Пример выдачи команды nsquery: # nsquery graph.fee RESOURCE ACCESS SERVER DESCRIPTION GRAPHICS read/write graph.fee Domain files CALENDAR read/write graph.fee Monthly meetings USERHELP read-only graph.fee System help information # Для каждого из доступных ресурсов nsquery напечатает имя ресур- са (RESOURCE), права доступа (ACCESS), станцию - владельца ре- сурса (SERVER) и описание ресурса (DESCRIPTION). Примечание Выдача nsquery не показывает, имеете ли Вы права досту- па к ресурсу. СНЯТИЕ ОБЪЯВЛЕНИЯ Вы можете снять объявление любого из ресурсов Вашей станции, используя команду unadv. Она удалит ресурс из таблиц объявлений принадлежащих вашей станции и серверу имен домена. Администра- тор домена может использовать unadv, чтобы снять объявление лю- бого ресурса в домене. (Единственный случай, когда Вы обязаны использовать unadv - когда станция отключается, иначе таблицы объявлений станции и домена будут рассогласованы.) Снятие объявления не исключает ресурс, который в настоящее вре- мя смонтирован удаленной станцией (см umount(1M)). Она предотв- ратит, однако, монтирование ресурса другими станциями. Есть две причины, по которым Вы можете пожелать применить эту команду. 1. Прежде чем Вы сможете размонтировать (umount) некоторую файловую систему, содержащую объявленный каталог, его объявление нужно снять. 2. Если Вы хотите ограничить ранее объявленный каталог только местным доступом - Вы должны снять его объявле- ние. Поскольку команды объявления могут быть установлены так, что они будут стартовать автоматически в init 3, Вы можете удалить их, если хотите снять объявление насовсем. (Для информации о том, как модифицировать файл /etc/rstab см. раздел "Объявление ресурсов" в данной главе.) Синтаксис команды таков: unadv ресурс или unadv домен.ресурс где ресурс используется для снятия объявления ресурса Вашей станции, а домен.ресурс - используется сервером имен домена для снятия объявления некоторого ресурса в домене. Во втором случае имени ресурса предшествует точка (.), а домен - это имя домена, в котором ресурс находится. Монтирование удаленных ресурсов Вы можете присоединить ресурс, объявленный другой станцией, воспользовавшись стандартной командой mount. Вы просто выбирае- те существующий каталог, предпочтительно пустой, или создаете новый, с тем чтобы использовать его в качестве точки монтирова- ния, и монтируете (mount) ресурс с опцией -d. Когда Вы пытаетесь монтировать удаленный ресурс, то станции, которая его объявляла, посылается запрос. Если у Вас есть право на монтирование ресурса, то он будет включен в Вашу таблицу смонтированных файловых систем и присоединен к указанной Вами точке монтирования. С помощью команды mount без опций Вы можете получить список удаленных ресурсов точно также, как и локальных файловых систем, смонтированных на Вашей станции. Используя ко- манду rmntstat, Вы можете посмотреть, какие станции смонтирова- ли Ваши объявленные ресурсы. Форма команды mount для монтирования удаленных ресурсов: mount [-r] -d ресурс каталог Опции: -r Означает, что ресурс нужно смонтировать только на чте- ние. Если ей не воспользоваться, то ресурс смонтируется с разрешением чтения/записи. (Удаленный ресурс может быть смонтирован только на чтение, если он был объявлен таким образом.) -d ресурс каталог Эта опция используется для обозначения того, что Вы монтируете удаленный ресурс. Вместо ресурс Вы должны подставить имя ресурса, а вместо каталог имя каталога, являющегося точкой монтирования. АВТОМАТИЧЕСКИЕ ДИСТАНЦИОННЫЕ МОНТИРОВАНИЯ Вы можете таким образом установить Ваши команды mount, чтобы они стартовали автоматически, когда станция входит в состояние init 3. Это можно сделать, поместив информацию о монтировании в файл /etc/fstab. Формат /etc/fstab для дистанционных монтирова- ний, следующий: ресурс каталог -d[r] ресурс заменяется именем ресурса, каталог заменяется именем ка- талога, в котором нужно смонтировать ресурс, а -d сообщает, что это удаленное монтирование. Вы можете использовать -dr вместо -d, чтобы смонтировать ресурс только на чтение. РУКОВОДСТВО ПО МОНТИРОВАНИЮ Ниже приведены руководящие правила, которые применяются при монтировании удаленных ресурсов. После того как Вы объявили ресурс с Вашей станции, Вы можете: - Монтировать локальную файловую систему в данном ката- логе или в его подкаталоге. Новая файловая система станет частью объявленного ресурса. - Смонтировать удаленный ресурс в подкаталоге Вашего объявленного ресурса. При этом смонтированный Вами ресурс не станет частью этого ресурса. Доступ к нему будут иметь только Ваши местные пользователи. (Уда- ленные пользователи смогут просмотреть этот каталог монтирования, но если они попытаются применить к ка- талогу системный вызов stat, то получат сообщение об ошибке EMULTIHOP.) Примечание Вы не можете смонтировать удаленный ресурс непосредст- венно к объявленному каталогу. Если ресурс был объявлен с разрешением только на чтение, Вы должны монтировать его только на чтение. Если он был объявлен с разрешением на чтение/запись, то у Вас есть выбор, смонти- ровать его только на чтение или на чтение/запись. ПРАВИЛА МОНТИРОВАНИЯ Вот некоторые правила, которым Вы должны следовать чтобы избе- жать неожиданностей при монтировании удаленных ресурсов. Правило 1. Монтирование основных каталогов Каталог, содержащий файлы, опредляющие Вашу машину, не должен использоваться в качестве точки монтирования аналогичного каталога с удаленной машины. Это приведет к тому, что локальные файлы окажутся недоступными на Вашей системе. Например, Вы не должны монтировать удаленный каталог /dev к каталогу /dev на Вашей машине, или вы сделаете недоступной консоль Вашей машины. Другой пример: если Вы смонтируете каталог /etc в Ваш каталог /etc, то пе- рекроете Ваши местные файлы inittab, passwd и mnttab другими. Некоторые другие каталоги, попадающие в эту категорию: /, /usr, /usr/bin, /usr/nserv, /usr/net и /shlib. Ко- нечно же, Вы можете безболезненно монтировать эти ката- логи к другим каталогам на Вашем компьютере. Правило 2. Монтирование буферных и рабочих каталогов Подобно Правилу 1, Правило 2 относится к монтированию каталога с одного компьютера в том же каталоге другого. В данном случае проблему представляют собой буферные файлы и рабочие каталоги. Такие прикладные программы как uucp и lp должны столкнуться с проблемами, когда несколько машин пытаются создать буферные файлы или заблокировать доступ к файлам в одном и том же катало- ге. Например, если Вы совместно используете каталог /usr/spool/lock, используя устройство tty для uucp на одной машине, Вы должны предотвратить использование устройства с тем же именем на другой машине. Кроме то- го, монтирование /tmp может привести к противоречиям среди временных файлов. Правило 3. Файловые системы на устройствах Если удаленной машине объявлен в качестве ресурса ката- лог, содержащий устройство, а это устройство содержит файловую систему, Вы не получите доступа к этой файло- вой системе простым монтированием этого устройства. Чтобы получить доступ к этой файловой системе на уст- ройстве, удаленная машина должна была бы смонтировать устройство локальным образом, а затем объявить эту точ- ку монтирования в качестве ресурса. Правило 4. Монтирование программ с битом навязчивости Монтирование удаленных ресурсов, содержащих выполняемые файлы с битом навязчивости, может повысить качество вы- полнения этих файлов. При выполнении на Вашей машине текст программы с битом навязчивости сохраняется в па- мяти машины, уменьшая таким образом, сетевые накладные расходы, связанные с будущими вызовами. С Вашей точки зрения как клиента, нужно быть осторожным и не монтиро- вать слишком много программ с битом навязчивости, пос- кольку Вы можете захватить слишком большой объем памя- ти. Если Вы являетесь сервером, совместно использующим Ваши файлы с битом навязчивости, Вы должны отдавать себе от- чет в том, что они трактуются отлично от определенных локальных файлов с битом навязчивости. Если клиенты за- пустили Вашу программу с битом навязчивости, то Вы не можете удалить ее без размонтирования от всех таких клиентов. Вам следовало бы сделать это, чтобы предотв- ратить сохранение в памяти машин клиентов устаревших текстов перекомпилированных или уничтоженных файлов. Перед удалением программы с битом навязчивости из объ- явленного ресурса, Вы должны отмонтировать ресурс от всех машин-клиентов (fumount(1M)), удалить программу, и затем вновь объявить ресурс. (Обсуждение локального ис- пользования бита навязчивости см. в гл.6.) ТАБЛИЦА СМОНТИРОВАННЫХ ФАЙЛОВЫХ СИСТЕМ СТАНЦИИ Вы можете получить список удаленных ресурсов, смонтированных на Вашей станции таким же образом, как и список локальных файловых систем: командой mount без опций. Выдача будет сделана этой ко- мандой в такой форме: каталог on ресурс права on дата где каталог - имя каталога, в котором смонтирован удаленный ре- сурс, права есть read only/remote (только чтение/удаленный) или read/write/remoute (чтение/запись/удаленный), а дата есть дата и время, когда ресурс был смонтирован. Нижеследующее - есть пример выдачи команды mount без опций. Две последние строчки в примере относятся к монтированию удаленных ресурсов. $ mount / on /dev/dsk/cld0s0 read/write on Thu Jan 16 09:07:19 1986 /usr2 on /dev/dsk/cld0s8 read/write on Thu Jan 16 09:07:32 1986 /usr on /dev/dsk/cldls2 read/write on Thu Jan 16 09:07:33 1986 /s/codes on LCODE read/write/remote on Thu Jan 16 09:10:13 1986 /s/timing on TEMPO read only/remote on Thu Jan 16 09:10:27 1986 $ ТАБЛИЦА СМОНТИРОВАННЫХ ФАЙЛОВЫХ СИСТЕМ ДОМЕНА Чтобы определить, какие удаленные станции смонтировали Ваши объявленные ресурсы, Вы можете воспользоваться командой rmnstat. Эта команда может выдать распечатку для всех Ваших ре- сурсов или для одного, выбранного Вами. Синтаксис таков: rmnstat [-h][ресурс] где -h приведет к выдаче без заголовка, а ресурс можно исполь- зовать для получения выдачи для конкретного ресурса. Вот пример выдачи команды rmnstat: $ rmntstat RESOURSE PATHNAME HOSTNAME CUSTOMER /usr/cust doc.host1 CALENDAR /usr/cal fee fie foe SPECIAL unknown fie $ Выдача демонстрирует ресурсы, объявленные машиной, их местопо- ложение на данной машине и станции, которые ресурс смонтирова- ли. Примечание Если в поле маршрута появляется unknown, это ознчает, что Вы сняли объявление ресурса, но он остается смонти- рованным на указанной удаленной машине. РАЗМОНТИРОВАНИЕ Командой umount Вы можете размонтировать ранее смонтированный Вами ресурс. Синтаксис команды umount для размонтирования уда- ленного ресурса таков: umount -d ресурс где ресурс заменяется именем ресурса, который Вы размонтируете. Прежде чем запустить umount, Вы, при помощи команды fuser, мо- жете убедиться в том, что никто из Ваших пользователей не ис- пользует ресурс. Если запустить команду fuser, то она выдаст перечень процессов на Вашей станции, обращающихся к данному удаленному ресурсу. Этот перечень можно использовать для унич- тожения всех процессов, связанных с ресурсом. Форма команды fuser для отчета об удаленных ресурсах такова: fuser [-ku] ресурс где -u породит расширенный отчет о процессах, содержащий файлы, открытые в некоторых каталогах и подкаталогах, связанных с ре- сурсом, а -k уничтожает все процессы, у которых имеются файлы, открытые в некоторых каталогах и подкаталогах, относящихся к ресурсу. ПРИНУДИТЕЛЬНОЕ РАЗМОНТИРОВАНИЕ Вы не можете размонтировать локальную файловую систему, исполь- зуя umount, если некоторая ее часть смонтирована дистанционно. В обычной ситуации Вы должны были бы попросить каждого адми- нистратора, на чьей станции смонтирован такой ресурс, размонти- ровать его (ресурс будет удаляться обычным порядком). Если же Вам нужно размонтировать файловую систему немедленно, Вы, чтобы удалить дистанционно смонтированный ресурс со всех станций, где он смонтирован, можете воспользоваться командой fumount. Это следует делать только в тех случаях, когда срочное удаление ресурса крайне необходимо, поскольку Вы можете прер- вать удаленные процессы, обращающиеся к ресурсу. Синтаксис команды fumount: fumount [-w сек] ресурс где -w предписывает ждать сек секунд перед дистанционным раз- монтированием ресурса, а ресурс заменяется именем ресурса. Вот что произойдет, когда Вы выполните fumount: 1. Объявление ресурса снято. 2. Если команда fumount выполняется с отсрочкой в несколь- ко секунд, то на всех станциях, где в настоящий момент используется ресурс, будет запущен управляющий файл ко- мандного процессора. /usr/bin/rfuadmin fumount ресурс По умолчанию он выдаст на все терминалы: ресурс is being removed from system in ## seconds (ресурс будет удален из системы в течение ## секунд) (Вы можете отредактировать rfuadmin и тем самым изме- нить действия предпринимаемые в ответ на fumount) 3. По окончании отсрочки в сек секунд, ресурс будет удален со всех удаленных станций, на которых он смонтирован. 4. По умолчанию rfuadmin стартует вновь на каждой удален- ной станции с тем, чтобы послать такое сообщение на все терминалы: ресурс has been disconnected from the system (ресурс был отсоединен от системы) 5. rfuadmin выполняет затем rmount. rmount будет каждые 60 секунд пытаться вновь смонтировать ресурс, до тех пор пока это не удастся. За более полной информацией о выполнении этих команд обращай- тесь к rfuadmin(1M) и rmount(1M). ОТОБРАЖЕНИЕ УДАЛЕННЫХ ПОЛЬЗОВАТЕЛЕЙ Отображая идентификаторы или имена удаленных пользователей в идентификаторы или имена Вашей станции, Вы можете определить права, которые они будут иметь по отношению к ресурсам Вашей станции. Точно также Вы можете отобразить удаленные группы в множество групп Вашей станции. Если Вы не хотите отображать удаленных пользователей, Вы можете не делать этого. Правила умолчания трактуют всех удаленных пользователей, как имеющих идентификатор специального гостя, равный MAXUID плюс один. MAXUID есть максимальный идентифика- тор, определенный для системы; тем самым всегда гарантировано, что MAXUID+1 не пересечется ни с каким из наличных или будущих пользователей (по умолчанию MAXUID+1 есть 60001). Как работает отображение Устанавливая отображение удаленных пользователей и групп для удаленной станции, Вы определяете, как будут обрабатываться запросы этих пользователей и групп. Это отображение влияет на доступ удаленных пользователей к файлам и каталогам, содержа- щимся в Ваших ресурсах, точно так же, как и на представления удаленных пользователей о правах собственности. Скажем, к примеру, Вы отображаете идентификатор пользователя 101 с машины abc в идентификатор 115 на Вашей машине. Когда 101 с машины abc пытается создать файл в каталоге одного из Ваших объявленных ресурсов, Ваша машина преобразует запрос от 101 в запрос от 115. Если 115 имеет права на создание файла в этом каталоге, файл будет создан. Если бы Вы попытались применить системный вызов stat к файлу на Вашей машине (например ls -l), Вы увидели бы, что владельцем был пользователь с идентификатором 115. Если, однако, вызов stat приходит с машины abc, Ваша машина проделает обратное пре- образование. Таким образом, пользователь с abc увидел бы файл так, будто он принадлежит пользователю с идентификатором 101. Обратное отображение с машины - хозяина ресурса (сервера) обес- печивает удаленному пользователю наиболее адекватный взгляд на файловую систему. Хотя, потенциально это может привести к про- тиворечию. Развивая приведенный пример, предположим, что вместо отображения только 101 в 115, Вы также преобразовали 102 с abc в 115 на Вашей машине. Тем не менее, когда пользователь с abc потребует статистику о файле, она всегда будет выдавать в ка- честве владельца наименьшее число: идентификатор пользователя 101. Примечание Тот же самый эффект будет, если Вы дадите локальным пользователям с разными именами одинаковый идентифика- тор. Если пользователи жалуются, что файлы, которые они создают ока- зываются не принадлежащими им, то причина в ситуации, описанной выше. Это не создает каких-либо проблем с возможностями доступа к ресурсу любым пользователем. Однако же, это должно приводить к прерыванию работы программ, зависящих от локальных идентифи- каторов. Компоненты отображения Для того чтобы создать отображение пользователей и групп, вы должны воспользоваться командой idload(1M). Эта команда читает созданные Вами правила отображения пользователей и групп, чита- ет, если нужно, Ваши станционные файлы /etc/passwd и /etc/group и отображает удаленных пользователей в набор прав Ваших пользо- вателей. Если для отображения на Вашу станцию Вы используете имена удаленных пользователей и групп, Вы должны получить спис- ки пользователей и групп с удаленной станции с тем, чтобы idlo- ad могла прочитать эти файлы и преобразовать те имена в подхо- ящие числовые идентификаторы. ФАЙЛЫ ПРАВИЛ Файлы правил, которые Вы создаете, сообщат команде idload как отображать удаленных пользователей. Оба файла содержатся в /usr/nserve/aith.info под именами: uid.rules - для правил, ка- сающихся отображрния пользователей, и gid.rules - для правил относительно отображрния групп. Следующий пример демонстрирует структуру правил, касающихся отображрния пользователей. Формат файла правил для групп точно такой же. Все строки в каждом из файлов необязательные. global default лок_ид | transparent exclude [уд_ид-уд_ид] | [уд_ид] map [уд_ид:локальный] host домен.имя_станции [домен.имя_станции...] default локальный | transparent exclude [уд_ид-уд_ид] | [уд_ид] | [уд_имя] map [удаленный:локальный] | удаленный | all здесь: лок_имя = локальное имя пользователя лок_ид = локальный идентификатор пользователя уд_ид = удаленный идентификатор пользователя уд_имя = удаленное имя пользователя локальный = локальное имя или идентификатор пользователя удаленный = удаленное имя или идентификатор пользователя Файл правил поделен на блоки информации. Каждый блок есть или глобальный (global), или станционный (host) блок. Есть только один глобальный блок на файл, и может быть по одному станцион- ному блоку на каждую отображаемую станцию. global Этой строкой начинается блок глобальной инфор- мации. Каждая строка определений после global и до первой строки типа host будет применяться ко всем станциям, которые не описаны явно в стан- ционных блоках. Внутри глобальных блоков Вы мо- жете использовать default, exclude и map. В глобальных блоках Вы не можете отображать или исключать имена. Вы должны использовать число- вые идентификаторы пользователей. host домен.имя_станции [домен.имя_станции...] Эта строка открывает блок станционной информа- ции. Каждая строка определений после этой стро- ки и перед следующей строкой такого же типа бу- дет применяться к указанным домен.имя_станции. Внутри станционных блоков Вы можете использо- ать default, exclude и map. Если Вы хотите отображать более одной станции, исходя из единственной пары файлов passwd и group, Вы можете поместить различные имена станций в одну строку. В этом случае idload прочтет файлы passwd и group на первой из ука- занных станций и использует информацию из этих файлов для всех перечисленных станций. В каждом файле правил станция может быть отображена один раз. Каждая из следующих строк может содержаться как в станционном блоке, так и в глобальном. Имя или числовой идентификатор долж- ны быть отображены один раз в блоке. Если нечто отображается более одного раза, то рассматривается только первое отображе- ние. 1)default локальный/transparent Для обозначения того, как отображать удаленных пользователей и группы пользователей, которые явно не отображены и не иск- лючены в каждом блоке, можно поместить единственную строчку "default" ("по умолчанию"). transparent (прозрачный) означает для неопределенных пользо- вателей применение на Вашей машине тех же идентификаторов пользователей, что они имели и на удаленной машине. Так, ес- ли запрос приходит от удаленного пользователя с идентифика- тором 101, то этот запрос будет иметь те же права, что и ло- кальный 101. локальный заменяется на локальное имя или идентификатор пользователя. По умолчанию права всех удаленных пользовате- лей будут отображены в набор прав локального пользователя с указанным именем или идентификатором. Если строка определе- ния по умолчанию отсутствует в блоке, то приписаны будут права пользователя MAXUID+1. 2)exclude[уд_ид-уд_ид]|[уд_ид]|[уд_имя] Необязательная строка "exclude" может включаться в блок для исключения определенных пользователей из отображения по умолчанию. Можно исключить 0 или несколько интервалов значе- ний идентификаторов пользователей (уд_ид-уд_ид), единичные удаленные_имена или удаленные_идентификаторы. (В глобальном блоке нельзя употреблять уд_имя.) Исключенный пользователь по-прежнему будет иметь доступ к Вашим ресурсам, но будет иметь только права пользователя MA- XUID+1. Все строки исключений должны предшествовать в блоке строкам с определением отображений. 3)map[удаленный:локальный]|удаленный|all Чтобы приписать определенным удаленным пользователям локаль- ные права, Вы в каждом блоке можете использовать строки отображений: "map". Есть несколько способов применения ко- манды map. Вы можете приравнять права некоторого удаленного пользователя и локального, используя либо имя, либо иденти- фикатор пользователя; отделите удаленного от локального дво- еточием (:). Введение только уд_идентификатора или уд_имени дает то, что соответствующий удаленный пользователь будет иметь права локального пользователя с тем же идентификатором или именем. Например: map mcn даст удаленному mcn те же права, что и местному mcn. Литера all отображает права всех пользователей в набор прав пользователей с теми же именами на Вашей машине. Примечание map all и отображение по именам запрещено в глобальном блоке. map all обычно будет порождать сообщения об ошибках, поскольку многочисленные попытки администра- тивных входов в систему будут иметь идентификатор поль- зователя 0 и idload будет пытаться преобразовать каждый 0 в 0. Но вреда в этом нет. КОМАНДА idload После того как созданы файлы правил, команда idload читает их и отображает пользователей на Вашу станцию. Поскольку в процессе монтирования (mount) с участием двух станций эта команда стар- тует автоматически на обеих станциях, Вам надо будет часто за- пускать idload с опцией -n. Эта опция напечатает, что представ- ляет собой Ваше отображение без фактического обновления таблиц. Она полезна, т.к. дает уверенность в том, что Вы делаете отоб- ражение правильно. Синтаксис idload таков: idload [-n] [-g г_правила] [-u п_правила] [каталог] Опции представляют собой следующее: -n Это опция "без обновления" ("no update mode"). При ее использовании idload будет выдавать результаты на Ваш терминал (stdout) без порождения таблиц преобразований. -g г_правила Эта опция позволяет Вам использовать в качестве файла правил преобразований для групп пользователей другой нежели /usr/nserve/auth.info/gid.rules -u п_правила Эта опция позволяет Вам использовать в качестве файла правил преобразований пользователей другой нежели /usr/nserve/auth.info/uid.rules каталог Этот аргумент обозначает каталог, отличный от /usr/ nserve/auth.info, содержащий каталоги домен/станция, в которых располагаются пользовательские и групповые фай- лы для каждой удаленной станции. Если аргумент отсутст- вует, то idload будет искать файлы домен/станция в /usr/ nserve/ auth.info. Каждый раз, создав или обновив файлы правил, запустите сначала idload с опцией -n. Результатом будет отображение, которое бу- дет произведено, когда команда будет запущена для фактической загрузки идентификаторов пользователей. СТАНЦИОННЫЕ ФАЙЛЫ passwd И group Если Вы отображаете пользователей по именам, Вам необходимо собрать списки этих пользователей с каждой удаленной станции. Эти списки должны быть копиями файлов /etc/passwd и /etc/group с каждой станции. (Информацию о том, в каком виде поставлять эти файлы см. в процедуре 10.1 "Генерация домена" и в процедуре 10.2 "Генерация станции") Если idload находит запрос для имени удаленного пользователя в блоке домен.станция, она будет искать файлы passwd и group в соответствующем каталоге. На Вашей системе такой станционный каталог будет содержаться в /usr/nserve/auth.info/домен/стан- ция, где домен и станция заменяются соответственно названием домена и именем удаленной станции. Примечание Отображение по имени может быть очень полезным. Однако, если Вы отображаете по идентификаторам или локальным именам и избегаете отображения по удаленным именам, то Вы избегаете также необходимости согласовывать распре- деление и обновление удаленных файлов passwd и group и перезапуска idload. Выбор стратегии отображения В этом разделе описываются некоторые стратегии, которых Вы мо- жете придерживаться для отображения пользователей. В нем даются простые подходы к правам удаленных пользователей и развиваются более сложные. Прочитайте каждый пример, чтобы решить, какая стратегия является наилучшей для Вашей станции. БЕЗ ОТОБРАЖЕНИЯ Если Вы не запускаете idload для отображения пользователей, то все удаленные пользователи будут иметь права пользователя с идентификатором MAXUID+1, что есть максимальный идентификатор пользователя, определенный на Вашей станции, плюс один. Пос- кольку на Вашей станции нет пользователей с таким идентификато- ром, то удаленные пользователи будут иметь права только по от- ношению к тем файлам, которые Вашими пользователями созданы доступными для всех. ОТОБРАЖЕНИЕ УДАЛЕННЫХ ИДЕНТИФИКАТОРОВ Если Вы отображаете удаленных пользователей, используя удален- ные идентификаторы, локальные идентификаторы и имена - у Вас нет необходимости получать с удаленных станций файлы passwd и group. Вот простой пример отображения, включающего только иден- тификаторы удаленных пользователей. global default transparent exclude 0 В этом примере, права удаленных пользователей с любыми иденти- фикаторами будут отображены в права пользователей с теми же идентификаторами на Вашей станции, за исключением пользователя root (идентификатор 0), который будет иметь только права специ- ального гостя. Это будет применено по отношению ко всем удален- ным станциям. Предостережение Строка exclude 0 настоятельно рекомендуется для пре- дотвращения возможных брешей в защите со стороны поль- зователей root с других систем. global default transparent exclude 0-100 map 732:106 В вышеприведенном примере, пользователи имеют те же права, что и в предыдущем, кроме пользователей с идентификаторами из ин- тервала 0 - 100, которые будут иметь права соответствующие MA- XUID+1, а некий пользователь с идентификатором 732 будет иметь права локального пользователя с идентификатором 106. global default transparent exclude 0-100 map 732:106 host graph.fee defaul mpg exclude 0-50 Здесь пользователи со стации fee из домена graph не будут отоб- ражаться по глобальным правилам. Вместо этого, все такие поль- зователи будут иметь права локального пользователя с именем mpg, и только пользователи с идентификаторами от 0 до 50 будут иметь права пользователя с идентификатором MAXUID+1. ОТОБРАЖЕНИЕ УДАЛЕННЫХ ИМЕН Если Вы хотите отображать определенные имена пользователей в множество Ваших локальных имен, Вы должны иметь доступ к файлам passwd и group с соответствующих станций, установленных на Ва- шей системе. Ниже приводятся несколько примеров того, как вы можете отображать удаленные имена пользователей. map all Если Вы хотите иметь на разных машинах один и тот же набор пользовательских имен, но с разными идентификаторами, Вы можете использовать map all, как показано ниже. global default transparent exclude 0 host graph.fee exclude mary 0 uucp map all В этом примере каждый пользователь станции fee домена graph бу- дет иметь те же права, что и такой же пользователь на Вашей станции. Единственными исключениями будут пользователи mary, root и uucp, которые будут иметь права пользователя с идентифи- катором MAXUID+1. map имя:имя Вы можете также отобразить определенные имена пользователей в локальные имена или идентификаторы на Вашей станции. Вот при- мер: global default transparent exclude 0 host graph.fee default transparent exclude 0 map mcn:jcb ral gwn:103 Здесь все пользователи будут отображены в те же самые идентифи- каторы со следующими исключениями: удаленный пользователь mcn будет иметь права локального jcb; удаленный ral будет иметь пра- ва локального ral и удаленный gwn будет иметь права локального с идентификатором 103. Нижеследующее есть результат запуска idload -n для примера при- веденного выше. (Файл gid.rules будет содержать просто глобаль- ный блок такого вида: default transparent.) # idload -n TYPE MACHINE REM_ID REM_NAME LOC_ID LOC_NAME USR GLOBAL DEFAULT n/a transparent n/a USR GLOBAL 0 n/a 600001 guest_id USR graph.fee DEFAULT n/a transparent n/a USR graph.fee 0 n/a 600001 guest_id USR graph.fee 100 mcn 105 jcb USR graph.fee 102 gwn 103 n/a USR graph.fee 191 ral 101 ral GRP GLOBAL DEFAULT n/a transparent n/a СОПРОВОЖДЕНИЕ Введение Задачи сопровождения системы разделения удаленных файлов делят- ся на три группы: станционная администрация, администрация до- мена и контроль. В следующих разделах, касающихся управления доменом и станцией, описывается, как поддерживать Ваши станцию и домен системы разделения удаленных файлов. В разделе, касаю- щемся контроля, описывается, как отслеживать деятельность сис- темы разделения удаленных файлов и настроить Вашу станцию для эффективного совместного использования ресурсов. УПРАВЛЕНИЕ СТАНЦИЕЙ Вам необходимо изучить следующие команды для управления станци- ей в системе разделения удаленных файлов. rfstart запускает систему разделения удаленных файлов. rfstop останавливает систему разделения удаленных файлов. idload распечатывает и модифицирует права удаленных поль- зователей по отношению к Вашим ресурсам. rfpasswd изменяет пароль Вашей станции. dname распечатывает и модифицирует имя домена или сеть, в которые входит Ваша станция. rfadmin выдает имя станции, являющейся текущим сервером имен. Если Вы установили систему разделения удаленных файлов, Вам нет нужды часто непосредственно использовать команды управления. Для автоматического запуска системы разделения удаленных файлов (rfstart), объявления Ваших ресурсов и монтирования удаленных ресурсов на Вашей станции нужно использовать init 3. init 2 автоматически выключит систему разделения удаленных файлов (rfstop), снимет объявление ресурсов, и размонтирует удаленные ресурсы. Прочие команды - idload, rfpasswd и dname - использу- ются для изменения текущей установки системы разделения удален- ных файлов. УПРАВЛЕНИЕ ДОМЕНОМ Если Вы являетесь администратором домена, то для его сопровож- дения, пока Вы находитесь в системе первичного серверa имен до- мена, Вам потребуются некоторые из следующих команд. rfadmin -a добавляет новую станцию к домену. rfadmin -r удаляет станцию из домена. rfadmin -p переустанавливает текущий сервер имен. Кроме вышеописанных команд, Вам необходимо поддерживать файл rfmaster. Вы должны также быть уверены в актуальности информа- ции о пользователях и группах в Вашем домене. КОНТРОЛЬ И НАСТРОЙКА Следующие команды применяются для контроля деятельности системы разделения удаленных файлов. sar -Du к обычному отчету команды sar -u добавляет ин- формацию о проценте времени центрального про- цессора, затраченного на обработку запросов других станций системы разделения удаленных файлов. sar -Dc к обычному отчету команды sar -c добавляет ин- формацию о количестве системных вызовов, потре- бовавшихся для поддержания деятельности системы разделения удаленных файлов, включая информацию о количестве символов, прочитанных и записанных системными вызовами read и write. sar -S выдает информацию о процессах, которые обраба- тывают запросы других станций на использование Ваших ресурсов (серверные процессы) и об очере- ди запросов. fusage выдает в килобайтах количество данных, которые переданы, прочитаны и записаны на диск удален- ными станциями так же, как и локальными пользо- вателями. df распечатывает информацию о дисковом пространст- ве, доступном для ресурсов. Информацию, выдаваемую этими командами, Вы можете использовать для принятия решений относительно настройки параметров и балан- сирования харктера загрузки. Сопровождение станции После подключения Вашей станции к системе разделения удаленных файлов требуется незначительное ее обслуживание. Все что Вам необходимо знать - как запустить и остановить разделение уда- ленных файлов. Если на Вашей станции используются некоторые бо- лее развитые возможности защиты и отображения пользоватей, то есть еще несколько файлов и видов работ, с которыми Вам необхо- димо познакомиться. Ниже дается перечень файлов и каталогов, которые могут заинтересовать Вас как пользователя станции в системе разделения удаленных файлов. Примечание Формат и содержание этих файлов - последняя модифика- ция. Когда это возможно, пользуйтесь для их изменения только интерфейсом этого пакета. Кроме того, не распо- лагайте никаких дополнительных файлов в каталоге /usr/ nserve. /usr/src/uts/master Этот файл содержит настраиваемые пара- метры системы разделения удаленных фай- лов. (См. раздел данной главы "Настра- иваемые параметры".) /etc/init.d/rfs Этот управляющий файл командного про- цессора присоединен к файлу в каталоге /etc/rc3.d. При вводе режима разделения удаленных файлов (init 3) он запускает систему разделения удаленных файлов, объявляет и монтирует ресурсы. Когда Вы выходите из init 3, этот управляющий файл обеспечит снятие объявлений, раз- монтирование и останов системы разделе- ния удаленных файлов. /usr/bin/rfuadmin Этот управляющий файл командного про- цессора определяет действия, предприни- маемые Вашей системой при прерывании связи с удаленным ресурсом. Для измене- ния реакции Вы можете модифицировать этот файл. /usr/nserve/domain Этот файл содержит имя домена Вашей станции. Он создается командой dna- me(1M). Вам не следует изменять этот файл. /usr/nserve/netspec Этот файл содержит имя сети (обеспече- ния транспортного уровня) с разделением удаленных файлов, в которую включена Ваша станция. Создается командой dna- me(1M). Вам не следует изменять этот файл. /usr/nserve/rfmaster Этот файл содержит имена и сетевые ад- реса первичного и вторичного(ых) серве- ров имен домена. Создается вручную на первичном сервере имен и автоматически переносится на все станции в домене. /usr/nserve/loc.passwd Этот файл содержит пароль, удостоверяю- щий Вашу станцию. Его создает команда rfstart(1M). /usr/nserve/auth.info/uid.rules Этот файл содержит установленные Вами правила отображения удаленных пользова- телей. /usr/nserve/auth.info/gid.rules Этот файл содержит установленные Вами правила отображения удаленных групп пользователей. /usr/nserve/auth.info/домен/passwd Этот файл(ы) может использоваться для верификации станции. Это может быть файл passwd для домена каждой станции, с которой Вы совместно используете ре- сурсы. Каждая запись в такого рода фай- лах состоит из имени станции и ее за- шифрованного пароля. Если Ваша станция является первичным сервером имен доме- на, этот файл будет содержать список станций Вашего домена. (См. rfstart -v относительно проверки пароля и rfadmin на предмет создания пароля станции.) /usr/nserve/auth.info/домен/станция/passwd Этот файл(ы) используется для отображе- ния пользователей. Может существовать по одному файлу passwd на каждую стан- цию в каждом домене, чьих пользователей Вы хотите детально отображать по именам на Вашу систему. /usr/nserve/auth.info/домен/станция/ group Этот файл(ы) используется для отображе- ния групп. Может существовать по одному файлу group на каждую станцию в каждом домене, чьи группы Вы хотите детально отображать на Вашу систему. /usr/net/servers/rfsetup Этот файл создается автоматически сис- темой разделения удаленных файлов. Он используется для создания серверных процессов, которые используются сетевым слушателем. (Чтобы слушатель работал правильно, этот файл должен принадле- жать пользователю root, и группа должна быть adm.) Вот быстрый способ познакомиться со средой Вашей системы разде- ления удаленных файлов. имя домена Чтобы увидеть имя домена Вашей станции и тип сети в которой она работает, вы- полните dname -a. текущий сервер имен Чтобы узнать имя станции, являющейся текущим сервером имен домена, выполните rfadmin. правила отображения Чтобы увидеть, как на основе файлов uid.rules и gid.rules из каталога /usr/nserve/auth.info отображаются пользователи, запустите idload -n. Фай- лы необязательные и могут, следователь- но, отсутствовать. Далее описаны задачи системы разделения удаленных файлов, вы- полнение которых может потребоваться на Вашей станции. ЗАПУСК СТАНЦИИ Команда rfstart инициирует деятельность разделения удаленных файлов на Вашей станции и регистрирует ее на сервере имен доме- на. Обычно эта команда запускается автоматически, когда Ваша система входит в состояние init 3. Но чтобы в первый раз запус- тить систему разделения удаленных файлов, это надо сделать вручную, находясь на уровне выполнения 2 (многопользовательский режим). Вот некоторые вещи, которые Вы можете проверить, если разделение удаленных файлов не запустится. rfmaster Файл /usr/nserve/rfmaster на Вашей станции может быть не в порядке. Чтобы явно ввести сетевой адрес первичного серве- ра имен домена, используйте rfstart -p адрес_сервера_имен сервер имен домена сервер имен Вашего домена (первичный или вторичный, рабо- тающий как первичный) должен быть включен и запущен. включение в домен Администратор домена должен включить Вас в домен, прежде чем rfstart будет работать (см. rfadmin -a). слушатель Чтобы rfstart работала, на станции должен быть запущен слушатель для сети, и он должен иметь конфигурацию, пред- назначенную для работы в системе разделения удаленных фай- лов (см. nlsadmin(1M)). сеть Сеть, лежащая в основе, должна быть запущена правильно. Сеть должна быть одной из числа совместимых с транспортным интерфейсом AT&T. суперпользователь Вы должны войти в систему как root. ПАРОЛИ И ВЕРИФИКАЦИЯ Если Вы в первый раз запускаете rfstart, у Вас будет запрошен пароль. Этот пароль сравнится с паролем, установленным для Ва- шей станции на первичном сервере имен домена (rfadmin -a). Если Вы запускаете rfstart и Ваш пароль не соответствует тому, что имеется на текущем сервере имен домена, Вы получите предупреж- дение, но rfstart НЕ завершится аварийно. У Вас могут возникнуть проблемы, даже если система разделения удаленных файлов и работает, если файл домен/passwd на первич- ном сервере имен домена используется совместно с другими стан- циями для верификации. В этом случае, при несоответствии паро- лей Ваш удаленный запрос mount не сработает. По этой причине рекомендуется всегда поддерживать идентичность станционных па- ролей на станции и на первичном сервере имен домена. Если же пароли для Вас не важны, то Вы можете просто опустить пароли (ввести в качестве них символ возврата каретки) на станции и первичном сервере имен домена. Если Вы получили предупреждение, что Ваш пароль не соответству- ет тому, что есть на первичном сервере имен домена, то в зави- симости от того, является ли текущим первичный сервер имен до- мена или вторичный временно взял на себя его функции - Вы долж- ны реагировать на проблему по-разному. вторичный является текущим сервером имен домена Если первичный отключился и вторичный перенял функции сервера имен домена, то этот вторичный может не иметь файла домен/paswd или иметь, но устаревший. В этом случае не пытайтесь исправлять Ваш пароль до тех пор пока пер- вичный снова не заработает в качестве сервера имен доме- на. первичный является текущим сервером имен домена Попытайтесь исправить Ваш пароль, введя его заново коман- дой rfpasswd. Если это не поможет, то выполните следующую последовательность действий. На первичном: rfadmin -r домен.имя_узла rfadmin -a домен.имя_узла Enter password for имя_узла: (наберите пароль) На станции: rm /usr/nserve/loc.passwd rfstart rfstart: Please enter mashine password: (наберите пароль) Вам нужно затем убедиться, что каждая станция, которая проверя- ет Ваш пароль, скопирует новый файл домен/passwd с первичного. ОПЦИИ КОМАНДЫ rfstart Имеется две опции, которые Вы можете использовать с rfstart. -v Проверять все станции. Если Вы используете эту опцию, то каждая станция, ко- торая пытается монтировать Ваш ресурс, должна иметь имя и пароль, соответствующие тем, что есть у Вас в файле passwd, в каталоге /usr/nserve/auth.info/домен на Вашей машине; здесь домен заменяется именем домена той станции. Если удаленная станция отсутствует в этом файле, или она присутствует, но пароль не совпадает, или не существует файла passwd, то удаленное монтиро- вание не пройдет. Если Вы не используете опцию -v, то произойдет следую- щее. Если домен/passwd для удаленной станции присутст- вует на Вашей, и та станция в нем есть, но пароль не совпадает, запрос на монтирование не будет удовлетво- рен. Если станция отсутствует в файле или не существу- ет самого файла домен/passwd, станции будет позволено смонтировать Ваш ресурс без всякого подтверждения. -p адрес_первичного Задает сервер имен. Эта опция требуется только при первом запуске системы разделения удаленных файлов, или если Ваш станционный rfmaster не может обеспечить правильного имени для сервера имен домена. Здесь ад- рес_первичного - есть сетевой адрес первичного сервера имен домена. При правильной работе системы разделения удаленных файлов Вы можете ожидать увидеть такой набор активных процессов. (Чтобы распечатать их, введите ps -e.) listen rfdaemon nserve rfudaemon server Под некоторыми из этих имен может работать по нескольку процес- сов. ОСТАНОВКА СТАНЦИИ Команда rfstop отсоединяет Вашу станцию от сети разделения уда- ленных файлов. Прежде чем Вы сможете применить rfstop, Вы долж- ны: снять объявление всех Ваших ресурсов отсоединить все, что Вы смонтировали из удаленных ресурсов (umount) убедиться, что все Ваши объявленные ресурсы отсоединены (раз- монтированы) от удаленных станций (может быть сделано прину- дительно, посредством fumount) Эти действия осуществятся автоматически, когда Вы покидаете состояние init 3. ИЗМЕНЕНИЕ ПАРОЛЯ СТАНЦИИ Команда rfpasswd изменяет пароль Вашей станции одновременно на станции и на первичном сервере имен домена. Оформление нового пароля следует тем же критериям, что и passwd(1). Поскольку изменение пароля требует связи с первичным сервером имен домена, то разделение удаленных файлов должно быть запуще- но как на Вашей станции, так и на первичном сервере имен доме- на. Вы не можете изменить пароль Вашей станции, если первичный отключен и текущим является вторичный. Предостережение Когда Вы меняете Ваш пароль, то станция, удостоверяющая Вашу, может не получить автоматически этих изменений. Если после того как Вы поменяли пароль, связь со стан- цией прекратилась, то проверьте, скопирована ли с Ваше- го первичного сервера имен домена последняя версия фай- ла passwd Вашего домена. ОБНОВЛЕНИЕ ИНФОРМАЦИИ О ПОЛЬЗОВАТЕЛЯХ И ГРУППАХ Команда idload модифицирует права удаленных пользователей по отношению к Вашим ресурсам. После появления новых пользователей и групп на некоторой станции, Вы, если у Вас определено отобра- жение удаленных имен или конкретных идентификаторов пользовате- лей, можете пожелать изменить Ваши правила отображения. Вам следует регулярно проверять, не поменяла ли станция (чьих пользователей Вы отображаете по именам) своих файлов passwd и group на сервере имен домена. Если так, то Вы можете применить idload для обновления этой информации на Вашей станции. idload -n полезна для контроля действующего отображения. За детальным описанием команды idload обращайтесь разделу "Отображение уда- ленных пользователей" или к idload(1M). Сопровождение домена Если Вы являетесь администратором домена, то Вам следует позна- комиться с основной процедурой установки станции в качестве сервера имен и с некоторыми простыми задачами по сопровождению. Вам следует познакомиться с файлами, описанными в разделе "Соп- ровождение станции". Ваш домен будет иметь одну станцию, являющуюся первичным и, возможно, одну или больше станций, являющихся вторичными серве- рами имен домена. На первичном будут храниться определяющие за- писи домена. Если первичный сервер имен домена выйдет из строя, то вторичный быстро подхватит его функции. Вторичный имеет лишь ограниченные обязанности сервера имен. На вторичном, к примеру, нельзя доба- вить или исключить станцию. Обязанности сервера имен домена следует вернуть первичному, как только он вернется в строй. Вот быстрый обзор того, что Вам стоило бы знать о Ваших домене и станции. имя домена Введите dname -a, чтобы узнать имя до- мена, в который входят Ваша станция и тип сети. серверы имен Загляните в файл rfmaster в каталоге /usr/nserve; в этом файле есть перечень всех первичных и вторичных серверов имен в домене(нах), который обслуживает Вашу станцию; он поддерживается на пер- вичном сервере имен каждого домена. Ес- ли Ваш домен может взаимодействовать с другими, то в этом файле будут содер- жаться также имена и адреса серверов имен тех доменов. текущий сервер имен Чтобы распечатать имя станции, являю- щейся текущим сервером имен, выполните rfadmin. (Прежде чем взяться за адми- нистративную деятельность в домене, убедитесь в том, что это Ваша станция.) Далее описаны основные задачи по сопровождению станции. ДОБАВЛЕНИЕ НОВЫХ СТАНЦИЙ Чтобы включить новую станцию в домен системы разделения удален- ных файлов, Вы должны находиться на первичном сервере имен. Это включение делается так: rfadmin -a имя где имя заменяется именем домена и именем узла сети, разделен- ными точкой (например: dom1.host1). У Вас будет запрошен исходный пароль для станции. Он должен совпадать с паролем, который администратор станции ввел, когда впервые запустил систему разделения удаленных файлов на станции (команда rfstart). Воспринимается пустой (нажмите - "возв- рат каретки") пароль. После того как пароль введен, система до- бавляет имя станции и пароль в файл /usr/nserve/auth.info/до- мен/passwd, где домен - есть имя Вашего домена. ИСКЛЮЧЕНИЕ СТАНЦИИ Чтобы навсегда исключить станцию из домена системы разделения удаленных файлов, Вы должны находиться на первичном сервере имен. Делается это так: rfadmin -r имя где имя заменяется именем домена и именем узла сети, разделен- ными точкой (например: dom1.host1). Если станция не указана в файле rfmaster в качестве первичного или вторичного сервера имен, то rfadmin удалит элемент из файла домен/passwd. Иначе вы получите сообщение об ошибке, и станция не будет удалена. СМЕНА ТЕКУЩЕГО СЕРВЕРА ИМЕН ДОМЕНА Если Ваша станция является текущим сервером имен домена, то Вы можете переложить эту обязанность на другую станцию следующим образом: rfadmin -p Основным назначением опции -p является возврат обязанностей сервера имен обратно первичному после того, как он был отключен и вновь вернулся в строй. Если Вы находитесь на первичном сер- вере имен, то можете пожелать исполнить эту команду, если отк- лючаете Вашу систему. Команда rfadmin -p передаст информацию сервера имен домена следующей по списку станции в файле rfmas- ter домена. Эта станция будет затем действовать как текущий сервер имен домена. Примечание Поскольку вторичный предназначен только для временного выполнения функций сервера имен домена, то следует по возможности быстрее вернуть первичному обязанности сер- вера имен командой rfadmin -p. Это не произойдет авто- матически! Большая часть работ по сопровождению домена (добавление новых станций или смена паролей) не может быть выполнена, пока вторичный является действующим сервером имен домена. ПЕРЕНАЗНАЧЕНИЕ СЕРВЕРА ИМЕН ДОМЕНА Если Вы хотите иметь обязанности сервера имен домена на более постоянной основе, то Вам необходимо следующим образом внести изменения в файл rfmaster: Остановить систему разделения удаленных файлов на первичном и вторичных серверах имен домена (rfstop или init 2). Отредактировать файл rfmaster на первичном сервере имен доме- на. Запустить первичный снова (rfstart или init 3). Снова запустить вторичные (rfstart или init 3). После изменения на серверах имен все станции воспримут эти из- менения, как только на них в следующий раз будет запущена сис- тема разделения удаленных файлов. Более подробную информацию о структуре файла rfmaster см. в Процедурах 10. ДОБАВЛЕНИЕ НОВЫХ ДОМЕНОВ Вы можете пожелать взаимодействовать с другими доменами Вашей локальной сети. Чтобы это осуществить, получите имена и сетевые адреса серверов имен каждого домена и включите их в файл rfmas- ter в каталоге /usr/nserve. Подробности струкуры файла rfmaster см. в разделе процедур. ОБНОВЛЕНИЕ ФАЙЛОВ ПОЛЬЗОВАТЕЛЕЙ И ГРУПП Если станции Вашего домена отображают удаленных пользователей по именам, то первичный сервер имен должен обеспечить централь- ный пункт сбора информации о станционных паролях и группах. Каждая станция будет обязана предоставить Вам эту информацию. По получении обновленных файлов passwd и group поместите их в каталог, предназначенный для этой станции. Они должны будут по- пасть в подходящие каталоги: /usr/nserve/auth.info/domain/до- мен/станция. (домен нужно заменить именем домена, станция - именем станции.) Режим разделения удаленных файлов (init 3) Запуск системы разделения удаленных файлов и совместного ис- пользования ресурсов состоит из нескольких шагов. Для упрощения этой процедуры был определен новый уровень выполнения - уровень с разделением удаленных файлов или уровень выполнения 3. Когда Вы переходите на уровень выполнения 3, используя init 3, разделение удаленных файлов стартует автоматически посредством /etc/rc3 из управляющего файла командного процессора в каталоге /etc/rc3.d Вашего компьютера. Этот управляющий файл запускает разделение удаленных файлов, объявляет местные ресурсы и монти- рует удаленные ресурсы. Когда Вы выходите из 3-го уровня выпол- нения (shutdown или init 2), процесссы разделения удаленных файлов будут прекращены. Вы можете добавить новые управляющие файлы командного процессо- ра к тем, которые запускают уровень выполнения 3. Вы можете также перекроить управляющие файлы 3-го уровня выполнения, что- бы сделать более подходящим для Вас способ использования систе- мы разделения удаленных файлов. Примечание Прежде чем ввести режим разделения удаленных файлов, необходимо уже установить и определить конфигурацию системы разделения удаленных файлов. Информацию о гене- рации системы разделения удаленных файлов см. в Проце- дуре 10.1. ЗАПУСК УРОВНЯ ВЫПОЛНЕНИЯ 3 Вы можете войти в init 3 одним из трех способов: из однопользовательского режима (уровень выполнения s) Режим разделения удаленных файлов является многопользо- вательским режимом. Таким образом, если Вы выполните init 3, находясь в однопользовательском режиме, все про- цессы многопользовательского режима (gettys, cron и т. д.) стартуют перед процессами режима разделения удален- ных файлов. из многопользовательского режима (уровень выполнения 2) Когда init 3 запускается с уровня выполнения 2, то init проверяет, что все многопользовательские процессы запу- щены, а затем стартует все процессы режима разделения удаленных файлов. (init 3 не станет порождать еще один такой процесс уровня 2, который уже запущен.) во время загрузки По умолчанию Ваша система будет запускать уровень выпол- нения 2 во время загрузки. Вы можете изменить это с тем, чтобы уровень выполнения 3 стартовал автоматически во время загрузки: измените значение опции initdefault в файле /etc/inittab так, чтобы она выглядела следующим образом: is:3:initdefault ВЫПОЛНЕНИЕ INIT 3 Когда выполняется init 3, то стартуют все строки файла inittab, включая /etc/rc3, которые относятся к уровню 3. /etc/rc3 выпол- няет все управляющие файлы командного процессора из /etc/rc3.d, которые начинаются с S. Система разделения удаленных файлов помещает единственный файл в /etc/rc3.d, а именно S21rfs. (rfs - remote file sharing - разделение удаленных файлов.) Этот файл присоединяется к файлу rfs в /etc/init.d. Кроме того rfs присоединяется к K50rfs в /etc/rc2.d и к K65rfs в /etc/rc0.d. В процессе запуска уровня выполнения 3 /etc/rc3 выполняет S21rfs с опцией start. S21rfs делает затем следующее: Проверяет, что на Вашей машине определено имя домена. Проверяет, что файл rfmaster создан. (Он создается автомати- чески при первом выполнении rfstart -p. Последняя копия должна затем пересылаться на Вашу машину с первичного сервера имен домена.) Выполняет команду rfstart непрерывно, с 60-секундными интер- валами, до тех пор, пока она либо не завершится успешно, либо не закончится фатальной ошибкой. Выполняет /etc/init.d/adv, чтобы объявлять все системные ре- сурсы, которые Вы определили в Вашем файле /etc/ rstab. (В этом файле содержится исходная командная строка adv для каж- дого объявленного ресурса.) Выполняет /etc/rmountall /etc/fstab, чтобы смонтировать все удаленные ресурсы, перечисленные Вами в файле /etc/fstab. Та попытка удаленного монтирования, которая не завершится успеш- но, будет посредством etc/rmount(1М) повторяться непрерывно до тех пор, пока не получится. (См. раздел "Автоматические удаленные монтирования" в данной главе на предмет формата файла /etc/fstab.) Когда Вы выходите из уровня 3 посредством init 1 или 2, rfs за- пускается с опцией stop. Это приведет к выполнению rfstop. Примечание Если по некоторым причинам rfs не сможет прекратить ра- боту rfstart, система разделения удаленных файлов может продолжить работу на более низких уровнях выполнения. Вы можете надежно отключить разделение удаленных фай- лов: запустив unadv и fumount для каждого из объявлен- ных ресурсов; umount для каждого смонтированного уда- ленного ресурса; и rfstop. ИЗМЕНЕНИЕ СПОСОБА ВЫПОЛНЕНИЯ INIT 3 При инициализации 3-го уровня делаются некоторые предположения о том, как Вы используете Вашу систему разделения удаленных файлов. Вот описание того, как изменить некоторые из имеющих место процедур. верификация Если, Вы хотите использовать проверку станций, чтобы ог- раничить доступ к Вашей станции, то Вы можете отредакти- ровать файл /etc/rc3.d/S21rfs с тем, чтобы автоматически запускать rfstart с опцией -v. Вы должны вставить -v приблизительно в 61-ю строку этого файла, после команды rfstart, как показано ниже. trap 'rm -f /usr/tmp/rfs$$;exit' 0 1 2 3 15 stat=1 retries=0 while [ $(stat) -eq 1 ] do /usr/bin/rfstart -v /dev/console 2>/usr/tmp/rfs$$ stat=$? case $(stat) in повторные попытки rfstart По умолчанию init 3 будет пытаться повторять rfstart, пока она не выполнится успешно. Если Вы хотите, чтобы она повторялась ограниченное число раз, Вы должны отре- дактировать файл /etc/rc3.d/S21rfs. Найдите строку ret- ries=0 и измените 0 на желаемое количество повторных по- пыток. повторные попытки монтирований Когда Вы вводите init 3, система пытается раз за разом (с интервалом в 60 секунд) смонтировать каждый ресурс упомянутый в /etc/fstab, пока монтирование не удастся или Вы покинете уровень 3. Чтобы изменить такой образ действий, Вы можете отредактировать /etc/rmount. Найдите строку RETRIES=0 и измените 0 (проявить настойчивость) на желаемое количество попыток монтирования каждого ре- сурса. Найдите строку TIME=60 и измените 60 на желаемое количество секунд между попытками. ДОБАВЛЕНИЕ УПРАВЛЯЮЩИХ ФАЙЛОВ РЕЖИМА РУФ Все файлы в /etc/rc3.d и в других каталогах /etc/rc?.d являются управляющими файлами командного процессора, и Вы можете прос- мотреть их, чтобы узнать, что они делают. Вы можете модифициро- вать существующие файлы, но предпочтительнее добавлять Ваши собственные, поскольку поставляемые управляющие файлы могут меняться в будущих реализациях. Создавая Ваши собственные уп- равляющие файлы, Вы должны придерживаться следующих правил: Поместите файл в /etc/init.d Присоедините файл к файлам подходящего уровня выполнения, ис- пользуя описанное ниже соглашение об именах. Сделайте, чтобы файл воспринимал опции start и/или stop. Вы должны давать имена файлам, следуя такому соглашению: S00имя или K00имя Имена файлов можно разбить на три части: S или K Первая буква каждого имени файла определяет - будет ли процесс запускаться (S - start), или уничтожаться (K - kill) при переходе на новый уровень. 00 Следующие два символа представляют собой число от 00 до 99. Эти числа указывают порядок, в ко- тором файлы будут запущены (S00, S01, S02 и т.д.) или остановлены (K00, K01, K02 и т.д.). имя Имя файла в каталоге /etc/init.d, к которому данный файл должен быть присоединен. Например, файл из init.d по имени netdaemon присоединяется к файлам S68netdaemon из rc2.d и K67netdaemon из rc0.d. Когда вы введете init 2, то один файл выполнится с опцией start: sh S68netdaemon start. Когда Вы введете init 0, другой файл выпол- нится с опцией stop: sh S67netdaemon stop. Восстановление Будучи узлом сети разделения удаленных файлов, Ваш компьютер полагается на другие машины сети в том, что касается обслужива- ния имен и разделения ресурсов. Система разделения удаленных файлов сконструирована таким образом, чтобы быстро восстанавли- ваться, если связь между машинами прерывается из-за того, что машина выключается или изымает свои серверные процессы. В сле- дующих разделах описаны происшествия, которые могут случаться в системе разделения удаленных файлов, и механизмы восстановле- ния, сконструированные для того, чтобы на них реагировать. ПЕРВИЧНЫЙ ВЫКЛЮЧАЕТСЯ Все необходимые регистрационные записи домена поддерживаются на первичном сервере имен домена. Наиболее необходимые из них эта машина регулярно поставляет вторичным серверам имен домена. (Эти записи не включают в себя файлы и каталоги, содержащиеся под /usr/nserve/auth.info. Информация о совместном использова- нии этих данных находится в Процедуре 10.1.) Если первичный выключается, то обязянности сервера имен перехо- дят к первому по списку вторичному серверу имен из файла rfmas- ter. Вторичный предназначен только для временной подмены. При- чина в том, что вторичный имеет ограниченный набор возможностей сервера имен. Это сделано для поддержания на первичном опреде- ляющих регистрационных записей домена. Смена сервера имен не влияет ни на какие смонтированные в данный момент ресурсы. Пока действующим сервером имен домена является вторичный, сле- дующие функции невыполнимы: сопровождение списков станций Пока действующим сервером имен домена является вторич- ный, станции не могут быть добавлены или исключены из списков домена. изменение паролей станций Пока действующим сервером имен домена является вторич- ный, ни он сам и ни какая другая станция не могут сме- нить удостоверяющих их паролей. Вторичный будет поддерживать списки объявленных ресурсов домена и продолжать выполнение основных функций сервера имен с тем, чтобы деятельность системы разделения удаленных файлов могла продолжаться. В большинстве случаев станциям домена нет необхо- димости знать, что первичный выключился. Когда он вернется в строй, то вторичный должен будет передать обязанности сервера имен обратно первичному при помощи команды rfadmin -p. Примечание Когда первичный заканчивает работу аварийно, без пра- вильного выхода из состояния разделения удаленных фай- лов и аккуратной передачи обязанностей сервера имен вторичному, таблица объявлений на вторичном может со- держать некоторые ошибки. Ресурсы первичного могут ос- таваться в списке как доступные, а объявленных в пос- леднее время ресурсов других станций может не оказаться в списке. Вы можете привести в порядок таблицу объявле- ний домена, выполнив команды unadv и adv -m с сервера имен домена. ВЫКЛЮЧАЮТСЯ ПЕРВИЧНЫЙ И ВТОРИЧНЫЕ Если первичный и все вторичные отключатся одновременно, то вся информация об объявленных ресурсах будет потеряна. Действующие монтирования и связи, однако, не нарушатся. Проблема в том, что когда первичный вернется в строй, то все станции будут продол- жать думать, что их ресурсы объявлены, но на первичном другие объявленные ресурсы не будут зарегистрированы. Коль скоро первичный работает, каждая станция может удостове- риться, что ее объявленные ресурсы соответствуют тем, что пере- числены на первичном, одним из двух способов: перезапустить систему разделения удаленных файлов Вы можете отключить разделение удаленных файлов, запус- тить вновь и вновь объявить Ваши ресурсы. Это может быть сделано автоматически, переходом из init 3 в init 2 и в init 3. переобъявить с опцией -m Это менее крутой способ обновить таблицы объявлений на первичном. Переобъявите каждый ресурс при помощи команды adv -m с той станции, где ресурс расположен. Эта команда вернет таблицы объявлений на станции и на первичном сер- вере имен в синхронное состояние. СЕРВЕР ВЫКЛЮЧАЕТСЯ Каждая машина, которая использует свои ресурсы совместно с дру- гими, по определению является машиной - сервером (не путать с сервером имен домена!). Когда выключается сервер, то машины, смонтировавшие его ресурсы, теряют контакт с этими ресурсами. Для поддержания функций пользовательского уровня, требующихся при отключении связи, демон системы разделения удаленных файлов (rfudaemon) запускает управляющий файл командного процессора (rfuadmin). rfudaemon Процесс rfudaemon запускается автоматически, когда стартует разделение удаленных файлов (rfstart) и действует пока оно не остановится (rfstop). Процесс rfudaemon будет ждать пока не произойдет одно из событий указанных ниже, а затем передаст ин- формацию об этом управляющему файлу командного процессора rfu- admin. разъединение Когда обрывается связь с удаленным ресур- сом, rfudaemon передает сообщение о разъ- единении и имя ресурса управляющему файлу rfuadmin. принудительное размонтирование Когда ресурс размонтируется (fumount) сер- вером, то rfudaemon передает управляющему файлу rfuadmin соответствующее сообщение и имя ресурса. предупреждение о принудительном размонтировании (fuwarn) Когда сервер посылает сообщение о том, что он собирается размонтировать ресурс (fumo- unt), то rfudaemon передает управляющему файлу командного процессора rfuadmin пре- дупреждение о принудительном размонтирова- нии (fuwarn), имя ресурса и количество се- кунд до размонтирования. rfuadmin Когда разъединяются связи с ресурсами, то реакция на разъедине- ние отрабатывается на пользовательском уровне управляющим фай- лом командного процессора rfuadmin. Отредактировав этот управ- ляющий файл, Вы можете изменить реакцию Вашей системы на отсое- динение ресурса. Процесс rfudaemon запускает rfuadmin с одним из следующих аргументов: disconnect ресурс Если rfuadmin запускается с таким аргу- ментом, то он посредством wall(1) посы- лает на все терминалы такое сообщение: ресурс has been disconnected from the system. (ресурс должен быть отсоединен от системы.) Затем он выполняет fuser(1M), чтобы уничтожить все процессы, использующие ресурс, размонтирует [umount(1M)] ре- сурс, чтобы уведомить ядро, и запускает rmount, пытаясь вновь смонтировать ре- сурс. Предполагается, что или связь прервалась по ошибке, или, как только сервер вновь сделает ресурс доступным, клиент захочет его смонтировать. fumount ресурс Когда rfuadmin запускается демоном rfudaemon с такими аргументами - обра- ботка подобна случаю disconnect. fuwarn ресурс секунды Когда rfuadmin запускается демоном rfudaemon с такими аргументами, то rfuadmin посылает на все терминалы та- кое сообщение: ресурс is being removed from system in # seconds. (ресурс должен быть удален из системы в течение # секунд.) Есть целый ряд причин, по которым Вы могли захотеть изменить управляющий файл командного процессора rfuadmin. Если доступ к ресурсу прекратился, то Вы можете пожелать ответить на это по- пыткой смонтировать другой ресурс. Кроме того, можно посылать другие сообщения при потере ресурса. Примечание Когда ресурс отсоединяется, rfuadmin пытается снова смонтировать его посредством /usr/bin/rmount. Эта ко- манда повторяет попытку монтирования каждые 60 секунд, пока она не завершится успешно. Чтобы изменить этот об- раз действий, Вам следует либо отредактировать файл /etc/rfuadmin так, чтобы он больше не вызывал rmount, или отредактировать rmount так, чтобы он делал ограни- ченное количество попыток. (См. rmount(1M).) Мониторинг В этом разделе описываются команды, используемые для контроля за деятельностью системы разделения удаленных файлов; порождае- мые этими командами отчеты, и то, как корректировать возможные проблемы, базируясь на данных этих отчетов. В общем случае эти отчеты могут помочь Вам принять решение, если Вы хотите сделать одно из следующих действий: изменить установки параметров для более эффективного исполь- зования Вашей системы перенести ресурсы на машину, которая обращается к ним чаще использовать в сети программы с битом навязчивости (Особые правила, касающиеся совместного использования программ с би- том навязчивости см. в разделе данной главы "Руководство по монтированию") Описание всех настраиваемых параметров системы разделения уда- ленных файлов вместе с рекомендуемыми начальными значениями да- ются в конце данного раздела. УДАЛЕННЫЕ СИСТЕМНЫЕ ВЫЗОВЫ (sar -Dc) Всякий раз, когда некий системный вызов посылает запрос по сети с разделением удаленных файлов с целью установить доступ к уда- ленному файлу, Ваша система сохраняет некоторую информацию об этом. Вы можете распечатать эту информацию, используя sar -Dc. Отчет, производимый командой sar -Dc, содержит среднее число системных вызовов в секунду, средние количества в секунду сис- темных вызовов на чтение и запись, включая средние количества символов, прочитанных и записанных, в секунду, и среднее коли- чество системных вызовов exec в секунду. Данные делятся на три группы: входящие запросы (запросы других станций к Вашим ресурсам), исходящие запросы (запросы Вашей станции к удаленным ресурсам) и в точности местные системные вызовы. Рис. 10-1. Отчет команды sar -Dc $ sar -Dc fee fee 3.1 2 02/14/86 00:00:04 scall/s sread/s swrite/s fork/s exec/s rchar/s wchar/s 01:00:04 in 4 1 2 0.00 350 220 out 3 2 1 0.00 240 300 local 133 30 12 0.73 1.33 11202 3813 02:00:04 in 4 1 2 0.00 350 220 out 3 2 1 0.00 240 300 local 133 30 12 0.73 1.33 11202 3813 03:00:04 in 4 1 2 0.00 350 220 out 3 2 1 0.00 240 300 local 133 30 12 0.73 1.33 11202 3813 04:00:04 in 4 1 2 0.00 350 220 out 3 2 1 0.00 240 300 local 133 30 12 0.73 1.33 11202 3813 Average in 4 1 2 0.00 350 220 out 3 2 1 0.00 240 300 local 133 30 12 0.73 1.33 11202 3813 $ В следующих параграфах объясняется, чем может быть Вам полезен отчет команды sar -Dc. Если характеристики плохи, то Вы можете судить о том, насколько эффективно системные запросы на чтение и запись используют сеть с разделением удаленных файлов. Для входящих (in) и исходящих (out) системных запросов, поделите прочитанные или записанные символы на количество чтений и запи- сей соответственно. Если среднее количество символов, прочитанных и записанных за один системный вызов, меньше 1 кбайт, сеть используется неэф- фективно. Это можно улучшить, применив стандартную систему вво- да/вывода, или осуществляя ввод/вывод большими порциями. Если Ваша станция делает более 30 попыток системных вызовов в секунду (входных и выходных сист. вызовов/с.), то Вы, вероятно, приблизились к пределу возможностей станции. Этот чрезмерный спрос, возможно, и порождает проблемы, связанные с характерис- тиками. Кроме того, удаленные запросы на выполнение ложатся тя- желым бременем на станцию. Помочь улучшить характеристики может избирательное применение программ с битом навязчивости. Можно рассмотреть вопрос о переносе ресурсов на те станции, у которых они пользуются наибольшим спросом. (См. отчет команды fusage, чтобы узнать какие ресурсы использовались с наибольшей нагрузкой.) ВРЕМЯ ЦЕНТРАЛЬНОГО ПРОЦЕССОРА (sar -Du) Вы можете распечатать процент времени, потраченный центральным процессором (CPU) на обработку системных вызовов от удаленных станций (%sys remote), при помощи команды sar -Du. Рис. 10-2. Отчет команды sar -Du $ sar -Du fee fee 3.1 2 02/14/86 00:00:04 %usr %sys %sys %wio %idle local remote 01:00:04 7 21 10 28 44 02:00:04 11 9 10 4 76 03:00:02 8 18 10 17 57 04:00:02 2 4 10 1 93 05:00:03 1 4 10 1 93 06:00:02 2 5 10 2 91 07:00:02 1 4 10 1 94 08:00:02 2 5 10 2 91 08:00:02 26 16 10 11 48 08:00:02 18 11 10 9 62 09:00:17 25 21 10 13 41 09:00:18 23 21 10 11 45 09:00:20 21 24 10 15 39 10:00:09 21 29 10 17 33 10:00:14 29 28 10 13 31 10:00:18 19 20 10 7 54 Average 9 12 10 8 71 Если процент времени, потраченного центральным процессором на обслуживание удаленных системных запросов, велик, то от этого могут страдать Ваши локальные пользователи. (Если, однако, станция является сервером, то Вам следует ожидать высокого про- цента: sys% remote.) Для уменьшения времени на обслуживание удаленных запросов вы можете поместить ресурс(ы) с повышенным спросом на другую стан- цию (см. команду fusage(1M)) или ограничить доступ к ресурсу, изменив некоторые из настраиваемых параметров. (См. раздел под названием "Настройка параметров".) Также Вы можете убедиться в том, что клиенты эффективно используют ввод/вывод (см. sar -Dc). ПРОЦЕССЫ-СЕРВЕРЫ Каждый запрос от удаленной станции на доступ к Вашим ресурсам обрабатывается процессом-сервером. Когда образуется слишком много запросов для того, чтобы серверы могли их обработать, то они задерживаются и ставятся в очередь запросов. Когда сервер доступен, запросы покидают очередь. Информация о доступности сервера и запросах, ожидающих обслуживания, распечатывается ко- мандой sar -S. Рис. 10-3. Отчет команды sar -S $ sar -S fee fee 3.1 2 02/14/86 00:00:04 serv/lo-hi request request server server 3 - 6 %busy avg lgth %avail avg avail 01:00:04 3 0 0 100 3 02:00:04 3 0 0 100 3 03:00:04 4 80 8 20 2 04:00:04 6 100 25 0 0 Average 15 50 15 70 2 $ Будучи администратором, Вы можете установить количество сервер- ных процессов, доступных для обслуживания удаленных системных вызовов. (См. "Настройка параметров"). Есть две серверных пере- менных, которые Вы можете задать: MINSERVE и MAXSERVE. MINSERVE - количество серверов, запускаемых для обслуживания удаленных запросов изначально. MAXSERVE есть максимальное количество серверов, которое вообще может существовать. Если требования простираются дальше, чем могут обработать MINSERVE серверов, то могут быть динамически выделены дополнительные серверы; таким образом полное количест во серверов может достигать величины MAXSERVE. Эти процессы ис- чезают, когда в них отпадает необходимость. Информация, полученная от sar -S, может использоваться для настройки Ваших серверных параметров, как показано ниже. Слишком мало серверов Если очередь запросов почти всегда задействована (request %bu sy), Вы можете захотеть увеличить количество серверов. Вот как следует выбирать, какой параметр увеличить: Увеличьте MAXSERVE, если суммарное среднее количество серве- ров велико. Увеличьте MINSERVE, если суммарное среднее количество серве- ров мало. Слишком много серверов Если серверы доступны в течение почти 100% времени (server %a- vail), то, возможно, Вы выделили слишком много серверов. Чтобы выбрать, какой параметр уменьшить: Проверьте полное количество серверов. Если это число близко к MINSERVE, то Вы можете уменьшить MINSERVE. Попробуйте умень- шить его на 50% или на количество незанятых серверов. Проверьте полное количество незанятых серверов. Если это чис- ло близко к MAXSERVE, то Вы можете уменьшить MAXSERVE. Попро- буйте уменьшить его на 50%. ИСПОЛЬЗОВАНИЕ РЕСУРСОВ (fusage) С помощью команды fusage Вы можете определить, насколько широко станции используют Ваши ресурсы. Она сообщает о том, сколько килобайт Ваших ресурсов было прочитано или записано (отдельно по пользователям, имевшим доступ к ресурсам). Формат команды fusage для получения отчета об объявленных Вами ресурсах тако- ва: fusage объявленный_каталог где объявленный_каталог - есть полное маршрутное имя к одоному из объявленных Вами каталогов. fusage, вызванная без опций, по- рождает, как показано ниже, полный отчет об использовании дан- ных для всех дисков и всех объявленных каталогов Вашей системы. Рис. 10-4. Отчет команды fusage # fusage FILE USAGE REPORT FOR sf111 (отчет об использовании файлов) /dev/dsk/cld0s0 / / sf111 649 Kb Clients 0 Kb TOTAL 649 Kb /dev/dsk/cld0s8 /usr2 /usr2 sf111 563 Kb Clients 0 Kb TOTAL 563 Kb Далее описываются возможные способы использования fusage. Если запросы удаленных станций к Вашим ресурсам велики, то это может порождать проблемы, связанные с характеристиками Вашей станции. Из отчета fusage Вы можете видеть, какие ресурсы используются особенно усердно. Вы можете затем решить переместить такой ре- сурс. Вы можете пожелать перенести или скопировать ресурс на ту станцию, которая постоянно пользуется им. ПРОСТРАНСТВО НА УДАЛЕННОМ ДИСКЕ (df) Чтобы увидеть, сколько места осталось на диске, на котором рас- положен удаленный ресурс, Вы можете использовать стандартную команду df с именем удаленного ресурса. Формат команды для по- лучения отчета об удаленном ресурсе такова: df ресурс где ресурс - имя удаленного ресурса, смонтированного на Вашей машине. Рис. 10-5. Отчет команды df # df USERsrc USERmail /usr/src (USERsrc): 5436 blocks 2202 i-nodes /usr/mail (USERmail): 5436 blocks* 2202 i-nodes # Примечание Когда отчет дается о нескольких удаленных ресурсах, расположенных на одном диске, все выдачи о пространстве на диске, начиная со второй, будут помечены звездочка- ми. Если Вы имеете право на запись по отношению к ресурсу, то пространство файловой системы доступно Вам в такой же степени, как и пользователю, который является владельцем ресурса. Эта команда сообщает Вам о потенциальном объеме дискового прост- ранства, доступного для записи. Настройка параметров Имеется несколько параметров, которые Вы можете настроить для более адекватного использования системы разделения удаленных файлов. Параметры контролируют количество ресурсов, предназна- ченных Вами для обслуживания системы разделения удаленных фай- лов. Каждое сетевое обеспечение транспортного уровня тоже может иметь некоторые регулируемые параметры, которые могут влиять на характеристики данной конкретной сети.(Обращайтесь к документа- ции по Вашей сети.) Все параметры имеют значения по умолчанию, которые хорошо рабо- тают в некоторой усредненной системе. В следующих разделах да- ется описание таких параметров и ситуаций, в которых Вы могли бы захотеть изменить их значения. ПАРАМЕТРЫ РУФ (системы разделения удаленных файлов) Параметры РУФ определяют, в какой степени удаленные станции мо- гут использовать Ваши ресурсы, но они также контролируют и Ваш доступ к удаленным ресурсам. Если величины слишком малы, то, возможно, Вы не предоставляете достаточно ресурсов для нормаль- ного обеспечения загрузки Вашей системы разделения удаленных файлов. Запросы на монтирование, объявление или даже обращение к файлам могут терпеть неудачу, если некоторые из этих величин достигают максимума, разрешенного на Вашей машине. Если же эти параметры слишком велики, то это может привести к чрезмерному истощению Ваших ресурсов удаленными станциями. Описанные ниже параметры содержатся в master(4). Просмотрите эти файлы на предмет значений по умолчанию. Если Вы меняете не- которые из этих величин, то посмотрите в 6-й главе, как сде- лать, чтобы обновленные параметры возымели действие. NRCVD (максимальное число дескрипторов принятых запросов (re- ceive descriptors)) Ваша система порождает дескриптор принятых запросов на каждый файл или каталог, с которым удаленный пользова- тель вступил в контакт, и по одному на каждый процесс на Вашей машине, ожидающий отклика на удаленный запрос. Если Вы ограничите число дескрипторов принятых запро- сов, то Вы тем самым ограничите количество файлов и ка- талогов, к которым можно иметь доступ одновременно. Это может привести к невыполнению пользовательских команд. Значение по умолчанию - 150. NSNDD (максимальное число дескрипторов посылок (send descrip- tors)) Для каждого удаленного ресурса (файла или каталога), с которым соотнесся Ваш пользователь, Ваша система порож- дает дескриптор посылки. Дескриптор посылки порождается также для каждого серверного процесса и для каждого со- общения, стоящего в очереди принятых сообщений (receive queue). Для того чтобы ограничить количество удаленных файлов и каталогов, к которым Ваша станция может иметь доступ одновременно, Вы можете изменить этот параметр. Это приведет к ограничению деятельности Ваших пользова- телей по совместному использованию ресурсов. Результа- том может быть невыполнение команд пользователей. Зна- чение по умолчанию - 150. NSRMOUNT (элементы таблицы монтирований сервера) Каждый раз, когда удаленная станция монтирует Ваши ре- сурсы, добавляется элемент в таблицу монтирований Ваше- го сервера. Изменение этого числа будет ограничивать суммарное количество Ваших ресурсов, которые могут быть одновременно смонтированы удаленными пользователями. Значение по умолчанию - 50. ADVERTISE (таблица объявлений) Для каждого объявленнного Вами ресурса в Вашу таблицу объявлений добавляется элемент. Этот параметр устанав- ливает максимальное количество ресурсов, которое Вы мо- жете объявлять. Значение по умолчанию - 25. MAXGDP (виртуальные соединения) Возможно до двух связей (виртуальных соединений), уста- навливаемых по сети между каждыми двумя станциями, сов- местно использующими ресурсы в настоящий момент време- ни. Одно для каждой станции, чьи ресурсы Вы монтируете, и одно, для каждой станции, которая монтирует Ваши ре- сурсы. Виртуальное соединение создается в тот момент, когда станция впервые монтирует ресурс другой станции, и разъединяется, когда последний ресурс размонтируется. Этот параметр ограничивает число открытых виртуальных соединений системы разделения удаленных файлов, которые Ваша станция может иметь одновременно. Он ограничивает количество станций, с которыми Вы можете совместно ис- пользовать ресурсы одновременно. Заметьте, что конкрет- ная сеть может иметь ограниченное количество таких сое- динений для каждой станции, таким образом этот параметр оказывает воздействие на максимальный процент тех из них, которые могут использоваться под разделение уда- ленных файлов. Значение по умолчанию - 24. MINSERVE (минимальное количество серверных процессов) Ваша система использует процессы-серверы для обработки удаленных запросов к Вашим ресурсам. Этот параметр оп ределяет, сколько процессов всегда активны на Вашей станции. (См. команду sar -S на предмет информации от- носительно контроля за серверными процессами.) Значение по умолчанию - 3. MAXSERVE (максимальное количество серверных процессов) Когда оказывается больше запросов к Вашим ресурсам, чем может обработать минимальное количество серверов, Ваша станция может временно порождать новые. Этот параметр устанавливает максимальное количество серверных процес- сов, которые Ваша система может породить. Значение по умолчанию - 6. NRDUSER Эта величина определяет количество пользовательских элементов из числа дескрипторов принятых запросов (re- ceive descriptors). Каждый элемент определяет использо- вание клиентом одного из Ваших ресурсов. Эти элементы применяются для восстановления, когда сеть или клиент отключаются. Значение по умолчанию - 225. RFHEAP Эта величина определяет размер области памяти в байтах, отдаваемой под информацию РУФ. Она содержит следующее: Таблицы отображений пользователей и групп и имена доменов каждой машины, совместно использующей ресурс(ы) с данной ма- шиной в настоящий момент времени. Списки имен машин, выдаваемые как список клиентов по команде adv. Подходящий размер для RFHEAP, зависит от: таблиц идентификаторов пользователей и групп (количества и размеров) Всегда будут присутствовать две общих таблицы, таблица идентификаторов пользователей и табли- ца идентификаторов групп. Кроме того, каждая машина, имеющая станционные блоки (блоки host) в файлах uid.rules или gid.rules, будет иметь таблицу, соответствующую каждому такому блоку, пока она соединена с той станцией. Машины, не имеющие собственных элементов ни в одном из этих файлов, не займут дополнительной памяти. Чтобы оценить размер отдельной таблицы, выпол- ните idload -n. Будет по одному четырехбайтно- му элементу в таблице на каждую строку выдачи idload, плюс до 24 байт на заголовок каждой таблицы. списки клиентов объявленных ресурсов (размер и количество) Каждое объявление может иметь связанный с ним список допущенных клиентов. Этот список посто- янного размера хранится в этой области до тех пор, пока объвление не будет снято. ресурсы, присоединенные в данный момент Каждое присоединение будет использовать макси- мум 64 байт для хранения имени присоединенного ресурса. Эта память выделяется динамически, и, таким образом, требуется некоторая дополни- тельная память для учета возможной фрагмента- ции, возникающей при выделении и освобождении памяти. Хотя полный размер должен быть, веро- ятно, небольшим - от 1 до 4 кбайт, лучше выде- лить побольше, чем слишком мало. Значение по умолчанию - 3072. В следующей таблице перечислены параметры системы разделения удаленных файлов и значения, рекомендуемые для различных приме- нений системы. Установка настраиваемых параметров РУФ (файл master) ~---------- ----------- ----------- ----------- ----- --------- │ │ Только │ Только │ Клиент+ │Умол-│ Размер │ │ │ клиент │ сервер │ сервер │чание│элемента,│ │ Параметр │ 2M 3M 4M│ 2M 3M 4M│ 2M 3M 4M│ │ байт │ │ │ │ │ │ │ │ ---------- ----------- ----------- ----------- ----- --------- │NSRMOUNT │ 0 0 0│ 50 50 50│ 50 50 50│ 50 │ 24 │ │ │ │ │ │ │ │ │MAXGDP │ 10 15 20│ 24 32 32│ 24 32 32│ 24 │ 104 │ │ │ │ │ │ │ │ │NADVERTISE│ 0 0 0│ 25 25 25│ 25 25 25│ 25 │ 32 │ │ │ │ │ │ │ │ │NRCVD │ 40 60 80│300 400 500│150 250 350│ 150 │ 44 │ │ │ │ │ │ │ │ │NRDUSER │ 0 0 0│450 600 700│225 375 525│ 225 │ 20 │ │ │ │ │ │ │ │ │NSNDD │150 250 350│ 30 30 30│150 250 300│ 150 │ 20 │ │ │ │ │ │ │ │ │MINSERVE │ 0 0 0│ 3 3 3│ 3 3 3│ 3 │ 9K │ │ │ │ │ │ │ │ │MAXSERVE │ 0 0 0│ 6 6 6│ 6 6 6│ 6 │ - │ ---------- ----------- ----------- ----------- ----- --------- Установка настраиваемых параметров РУФ окончание ~------ -------------- -------------- -------------- ----- ---- │ │Только клиент │Только сервер │ Клиент+сервер│Умол-│Раз-│ │Пара- │ 2M 3M 4M│ 2M 3M 4M│ 2M 3M 4М│чание│мер │ │ │ │ │метр │ │ │ │ │эл.,│ │ │ │ │ │ │байт│ ------ -------------- -------------- -------------- ----- ---- │RFHEAP│2048 2048 2048│3072 3072 3072│3072 3072 3072│3072 │ 1 │ ------ -------------- -------------- -------------- ----- ----