Главная · Поиск книг · Поступления книг · Top 40 · Форумы · Ссылки · Читатели

Настройка текста
Перенос строк


    Реклама    

liveinternet.ru: показано число просмотров за 24 часа, посетителей за 24 часа и за сегодня
Rambler's Top100
Образование - Различные авторы

SCO: Пособие администратора системы Unix

     SCO: Пособие администратора системы

                       SCO UNIX System V/386

                       Операционная система

                         Operating System

                   Пособие администратора системы

                    System Administrator's Guide

                              1989

                             - i -

    Информация в  данном документе является объектом для из-
менений без оповещения и не представляет ограничений  ни  со
стороны Santa   Cruz  Operation,  ни  со  стороны  Microsoft
Corporation. Программное обеспечение,  описанное здесь, раз-
работано по лицензионным соглашениям или открытым соглашени-
ям. Оно защищено от копирования на магнитную ленту, диск или
другую среду для любых целей кроме индивидуального использо-
вания получателем.

    Части (С) 1980,  1981,  1982,  1983,  1984,  1985, 1986,
1987, 1988 Microsoft Corporation
    Все права защищены
    Части (С) 1983,  1984,  1985, 1986, 1987, 1988 The Santa
Cruz Operation, Inc.
    Все права защищены.

    SCO Document Number: 5-22-89-6.0/3.2.0C

                              - ii -

     СОДЕРЖАНИЕ

    -------------------------------------------------------
   1. Введение

    Обзор                                              1-1
    Роли администратора системы и администрирования    1-2
    Облегчение администрирования при помощи sysadmsh   1-4
    Бюджет суперпользователя                           1-6
    Клавиатура                                         1-7
    Безопасность системы                               1-9
    Об этом пособии                                    1-10

   2. sysadmch: использование оболочки администрирования
       системы

    Введение                                           2-1
    Запуск sysadmsh                                    2-2
    Как организована оболочка                          2-3
    Выбор объектов меню                                2-5
    Использование форм                                 2-7
    Использование видео-клавиш                         2-13
    Использование окон сканирования                    2-14
    Получение помощи                                   2-16
    Изменение текущего каталога внутри sysadmsh        2-19
    Функциональные клавиши                             2-20
    Использование управляющих последовательностей
    оболочки для доступа к командной строке UNIX       2-21
    Переменные среды sysadmsh                          2-22
    Команды UNIX и эквиваленты sysadmsh                2-23

   3. Запуск и останов системы

    Введение                                           3-1
    Запуск системы                                     3-2
           Загрузка операционной системы               3-2
           Очистка файловой системы                    3-3
           Выбор режима операций системы               3-3
    Вход как суперпользователь                         3-5
    Останов системы                                    3-6
           Использование команды shutdown              3-6
           Использование команды haltsys               3-7
    Разъяснение информации загрузки                    3-8

                             - iii -

    Приспособление процесса загрузки                   3-9
           Изменение файла /etc/default/boot           3-9
           Автоматическая загрузка                     3-10
    Приспособление запуска системы                     3-11
           Изменение файла /etc/inittab                3-11
           Изменение записей /etc/rc2                  3-12
           Изменение файлов .profile и .login          3-14
           Изменение файла /etc/motd                   3-15

  4. Использование файловых систем

   Введение                                            4-1
   Что такое файловая система?                         4-2
    Монтирование и демонтирование файловой системы     4-3
   Типы файловых систем                                4-4
    Преобразование файловых систем UNIX в AFS          4-4
   Обеспечение свободного пространства в файловых
    системах                                           4-6
     Стратегии для обеспечения свободного пространства 4-6
     Вывод на экран величины свободного пространства   4-7
     Общесистемное сообщение                           4-8
     Вывод на экран информации об использовании диска  4-8
     Вывод на экран блоков по владельцам               4-9
     Передача пользователю сообщения по почте          4-9
     Поиск файлов                                      4-9
     Поиск файлов core и временных файлов              4-10
     Очистка журнальных файлов                         4-11
     Удаление и восстановление файловой системы        4-11
     Расширение файловой системы                       4-12
     Файловые системы и большие каталоги               4-13
   Изменение/добавление файловых систем на первичном
     жестком диске                                     4-14
   Целостность файловой системы                        4-15
     Файлы в системах UNIX                             4-16
     Файловые системы в системах UNIX                  4-16
     Причины порчи файловой системы                    4-17
     Правила проверки файловых систем                  4-18
     Восстановление файловой системы командой fsck     4-18
     Краткое описание этапов fsck                      4-20
     Автоматическая проверка файловой системы          4-21
     Исправление файловой системы с помощью
      команды fsdb                                     4-21

                            - iv -

     Проверка нарушения значений fsize и isize         4-22
     Поиск fsize и isize в суперблоке                  4-23
     Установка нормальных значений для fsize и isize   4-24

  5. Обеспечение безопасности системы

     Введение                                          5-1

     Что такое надежная система?                       5-3
          Концепции надежной системы                   5-3

     Работа надежной системы                           5-7
          Назначение административных ролей с помощью
           авторизаций                                 5-7
          Административное управление подсистемами
           с помощью sysadmsh                          5-9
          Назначение авторизаций ядра                  5-9
          Использование параметров секретности,
           настроенных или принятых по умолчанию       5-11
          Управление системным доступом                5-11
     Использование подсистемы контроля                 5-14
          Компоненты подсистемы контроля               5-15
               Механизм контроля ядра                  5-15
               Драйвер устройства контроля             5-15
               Демон контроля                          5-16
               Доступ к контролю через sysadmsh        5-17
          Методология контроля                         5-18
               Авторизации контроля                    5-18
               Источники контрольных записей           5-18
               Учитываемость в контроле                5-20
               Типы событий контроля                   5-21
               Эффективный системный контроль          5-23
               Административные аспекты                5-23
          Процедуры контроля                           5-26
               Установка схемы сбора данных            5-27
               Включение/выключение контроля           5-32
               Сопровождение файлов контроля           5-32
               Вывод списка контрольных записей        5-33
               Дублирование контрольных записей        5-33
               Составление контрольных отчетов         5-34
          Понятие редукции данных                      5-36
               Форматы записей для системных вызовов   5-36
               Контрольные записи прикладных программ  5-41

                             - v -

          Проблемные области подсистемы контроля       5-44
               Пространство на диске                   5-44
               Фатальные сбои системы                  5-45
               Сообщения подсистемы                    5-45
          Терминология контроля                        5-45
     Средства защиты файловой системы                  5-48
          Очистка битов SUID/SGID и sticky-бита
          при записи                                   5-48
          Sticky-бит и каталоги                        5-49
          Промены                                      5-51
          Импортирование данных                        5-51
          Файлы                                        5-51
          Файловые системы                             5-52
          Шифрование данных                            5-53
          Установка бита GID каталога                  5-53
     Проверка целостности системы                      5-54
          /etc/fsck                                    5-54
          Контрольный журнал                           5-54
          Порядок проверок после фатального
          сбоя системы                                 5-55
          Защищенные базы данных                       5-55
          Проверка базы данных аутентификации          5-57
          Проверка целостности системы                 5-57
     Сообщения об ошибках, связанных с секретностью    5-59
          Сообщения об ошибках регистрации в системе   5-59
          Условия ошибок контроля                      5-60
          Проблемы авторизации                         5-61
     Функционирование демонов в надежной системе       5-62
     Включение защиты с помощью кодового пароля        5-64
     Разрешение пользователям монтировать
     файловые системы                                  5-65
     Авторизация использования команд
     планирования заданий                              5-66
          Изменение авторизации на планирования
          заданий, принятой по умолчанию               5-66
          Разрешение/запрещение использования cron
           отдельными пользователями                   5-67
          Просмотр пользовательских разрешений на cron 5-68
          Разрешение/запрещение использования at/batch
          отдельными пользователями                    5-68
          Просмотр пользовательских разрешений
          на at/batch                                  5-68

                             - vi -

          Использование файлов среды для
          команд at/batch                              5-69

    6. Дублирование файловых систем

     Введение                                          6-1
     Стратегии дублирования с использованием sysadmsh  6-2
          Использование авторизации backup для
          дублирования                                 6-2
          Дублирование на гибких дисках и
          большие системы                              6-2
          Краткие сведения об используемых утилитах    6-3
     Подготовка к запланированному дублированию        6-4
          Составление расписания дублирования          6-4
          Маркировка резервных копий                   6-8
          Ведение журнала                              6-9
     Выполнение запланированного дублирования          6-11
          Использование отформатированного носителя    6-11
          Запуск дублирования                          6-11
     Выполнение незапланированного дублирования        6-14
     Проверка резервной копии                          6-17
     Получение листинга дублирования                   6-19
     Восстановление отдельных файлов и
     каталогов с резервной копии                       6-21
     Восстановление всей файловой системы
     с томов cpio                                      6-25
     Восстановление всей файловой системы
     с томов xbackup                                   6-25
     Описание уровней дублирования                     6-32
          Принципы уровней инкрементного дублирования  6-32
          Как работает расписание, принятое
          по умолчанию                                 6-33
          Как используются резервные копии для
          восстановления файловой системы              6-35

    7. Добавление драйверов устройств в среде
       конструктора связей

     Введение                                          7-1
     Драйверы устройств                                7-2
            Установка драйверов устройств              7-2
            Установка драйверов с предварительной
              конфигурацией                            7-3

                             - vii -

            Установка драйверов без процедуры
            настройки оболочки                         7-3

    8. Настройка работы системы

     Введение                                          8-1
          Примеры специального распределения ресурсов  8-3
     Перераспределение ресурсов ядра с помощью утилиты
       конфигурации                                    8-4
          Использование командной строки configure     8-5
     Реконфигурация в случае постоянных сообщений об
       ошибках                                         8-7
     Реконфигурация для выполнения задач               8-8
          Когда настраивать и что настраивать          8-8
          Специальные требования                       8-8
          Улучшение использования диска                8-9a
          Что надо сделать когда добавляется память    8-10a
          Организация файловой системы                 8-11
     Определение эффективного способа использования
      системы                                          8-14
          Команда ps                                   8-14
          Переменные пользователя $PATH                8-15
     Использование средств измерения производительности
       для  диагностирования неэффективности системы   8-16
          Использование памяти: Буферы и страницы      8-17
          Использование буферов: sar -b                8-17
          Производительность  процесса: sar -q         8-18
          Использование процессора: sar -u             8-19
          Системные таблицы: sar -v                    8-20
          Свопинг: sar -w                              8-21
          Проверка работы системы по командам: timex   8-22
     Описание настраиваемых системных параметров       8-23
          Диски и буферы                               8-23
          Символьные буферы                            8-25
          Файлы, индексные дескрипторы файла и
          файловые системы                             8-26
          Процессы, управление памятью и свопинг       8-29
          Часы                                         8-31
          Мультиэкраны                                 8-32
          Очередь сообщений                            8-32
          Семафоры                                     8-33
          Разделенные данные                           8-34

                            - viii -

          Имя системы                                  8-35
          Потоки данных                                8-35
          Очеpеди событий и устpойства                 8-38
          Аппаpатно-зависимые паpаметpы                8-38
          Паpаметpы pазделения удаленных файлов        8-38

    9. Использование операционных систем DOS и OS/2

     Введение                                          9-1
     Совместимость с OS/2                              9-2
     Разбивка жесткого диска командой fdisk            9-3
         Переключение операционных систем              9-5
     Установка раздела UNIX в систему DOS              9-7
     Использование систем  UNIX  и  DOS  на компьютере
     с двумя жесткими дисками                          9-9
     Удаление операционной системы с жесткого диска    9-11
     Утилиты, обеспечивающие доступ к DOS              9-12
         Аргументы файлов и каталогов                  9-13
         Пользовательский, принимаемый по умолчанию
         файл с перестраиваемой конфигурацией          9-13
     Организация файловой системы DOS в UNIX системе   9-15
         Поддержка процесса создания конфигурации для
            организованных файловых систем DOS         9-15
         Как организуется доступ в файловые
         системы DOS                                   9-15
         Использование команды mount                   9-16
         Восстановление и проверка файловой
         системы DOS                                   9-17
         Кто может получить доступ к файловой
         системе DOS                                   9-17
         Просмотр файлов DOS                           9-18
         Ограничения                                   9-18
     Операционные системы UNIX и DOS на нестандартных
       дисках                                          9-20

    10.  Ведение учета пользователей

     Введение                                          10-1
     Управление учетом                                 10-3
      Добавление пользователя                          10-3
      Изменение/Назначение прав пользователя           10-8
      Удаление учетной информации пользователя         10-9
      Блокировка учетной информации пользователя       10-9

                             - ix -

      Изменение группы пользователей                   10-10
      Изменение пароля пользователя или
            параметров пароля                          10-11a
      Определение/изменение параметров контроля
            пользователя                               10-13
      Добавление/изменение групп                       10-14
     Конфигурация учета по умолчанию                   10-15
      Выбор сниженной защиты по умолчанию              10-16
      Динамическое изменение параметров защиты         10-17
      Изменение ограничений входа в систему,
            принятого по умолчанию                     10-17
      Изменение ограничений по паролю,
            принятого по умолчанию                     10-19
      Изменение прав, принимаемых по умолчанию         10-21
      Авторизованные администраторы и
            привилегированный пользователь             10-24
      Права для работы с ядром                         10-24
     Управление входом в систему с терминала           10-26
      Просмотр входа терминала                         10-26
      Переопределение ограничений входа в систему      10-27
      Блокировка/разблокировка терминала               10-28
      Установка базы данных эквивалентных устройств    10-28
     Генерация отчетов                                 10-29
      Отчет по статусу пароля                          10-29
      Отчет по работе терминала                        10-31
      Отчет по входам в систему                        10-32

    11. Построение удаленной сети с помощью UUCP

     Введение                                          11-1
    Что такое UUCP                                     11-1
    Как пользоваться настоящим pуководством            11-2
    Что вам нужно                                      11-2
    Команды UUCP                                       11-3
    Каталоги UUCP                                      11-5
    Фоновые пpогpаммы UUCP                             11-6
    Как pаботает UUCP                                  11-6
    Пpимеp тpанзакции UUCP                             11-7
    Соединение двух локальных систем с помощью
    прямой шины                                        11-10
    Выбоp последовательного поpта                      11-10
    Подключение последовательного кабеля               11-11
    Подключение удаленных систем UUCP через модем      11-13

                            - x -

    Выбоp последовательного поpта                      11-13
    Установка кодового вызова                          11-14
    Подключение модема                                 11-15
    Включение в конфигуpацию HAYES 2400
     или совместимого с ним модема                     11-16
    Модемы с пеpеменной скоpостью пеpедачи данных      11-18
    Тестиpование модема                                11-18
    Hастройка UUCP в вашей системе                     11-20
    Hастpойка упpавляющих файлов с помощью uuinstall   11-20
    Установка имени абонента в файле /etc/systemid     11-23
    Выбоp и описание поpта UUCP                        11-24
    Обpазование учетных данных pегистpации для
     абонента с pежимом кодового вызова                11-26
    Добавление записей для удаленных абонентов в файл  11-27
   Огpаничение доступа чеpез файл Permissions          11-33
   Добавление в файл Devices записей об устpойствах    11-42
   Использование одного поpта для получения и
     посылки кодового вызова                           11-48
   Специальные опции настройки UUCP                    11-49
   Добавление набоpных устpойств в файл Dialers        11-49
   Пpименение Dialcodes для обpазования мобильного
     файла Systems                                     11-51
   Пpименение файла Devconfig                          11-53
   Обpазование альтеpнативных упpавляющих файлов
     чеpез Sysfiles                                    11-53
   Изменение паpаметpов пакета uucico                  11-54
   Защита от входа в систему неизвестного абонента     11-55
   Связь абонентов Micnet с сетью UUCP                 11-55
   Администрирование вашей системы UUCP                11-57
   Планиpование связи с дpугими системами              11-57
   Автоматизиpованное обслуживание                     11-59
   Получение отчетов о pегистpации пpи использовании
     UUCP:uulog                                        11-60
   Каталог общего пользования UUCP                     11-62
   Поиск неисправностей                                11-65
   Пpовеpка pаботоспособности автоматического
     набоpного устpойства/модема                       11-65
   Пpовеpка файла Systems                              11-65
   Отладочная пеpедача                                 11-66
   Пpовеpка базовой инфоpмации                         11-66
   Контроль сетевой передачи данных и перегрузки       11-68
   Пеpеполнение каталогов и отсутствие места           11-68
   Истощение запасов обpаботки                         11-68

                             - xi -

   Оценка степени засоpения каталогов                  11-68
   Полные примеры UUCP                                 11-70
   Пpимеp 1: Система gomer                             11-70
   Пpимеp 1: Система dingbat                           11-73
   Пpимеpы команд                                      11-75
   Сообщения об ошибках UUCP                           11-76
   Сообщения об ошибках типа ASSERT                    11-76
   Сообщения об ошибках UUCP типа STATUS               11-78

  12. Построение локальной сети с MICNET

   Введение                                            12-1
   Составление структуры сети                          12-2
   Выбоp имен компьютеpов                              12-2
   Выбоp топологии сети                                12-2
   Постpоение схемы топологии сети                     12-3
   Стpатегия соединения сети                           12-4
   Hазначение шин и скоpостей                          12-5
   Построение сети                                     12-8
   Фоpмиpование файлов топологии сети Micnet           12-8
   Сохpанение файлов Micnet                            12-11
   Восстановление файлов Micnet                        12-12
   Пуск сети                                           12-14
   Тестирование сети MICNET                            12-15
   Пpовеpка соединений сети                            12-15
   Использование файла pегистpации пpи диагностике     12-16
   Останов сети                                        12-17
   Изменение сети Micnet                               12-18

  13. Каталоги UNIX и файлы специальных устройств

   Введение                                            13-1
   Каталоги UNIX                                       13-2
   Коpневой каталог                                    13-2
   Каталог bin                                         13-2
   Каталог dev                                         13-3
   Каталог etc                                         13-4
   Каталог lib                                         13-5
   Каталог mnt                                         13-5
   Каталог tmp                                         13-5
   Каталог usr                                         13-6
   Каталог tcb                                         13-6
   Файлы регистрации                                   13-7

                             - xii -

   Специальные файлы устройств                         13-9
   Специальные имена файлов                            13-9
   Блоковые pазмеpы                                    13-9
   Число пpомежутков и блоков                          13-10
   Тpебования к теpминалам и сети                      13-10

  14. Добавление портов, терминалов и модемов

   Введение                                            14-1
   Добавление и конфигурирование последовательных
    портов                                             14-2
   Установка последовательной консоли                  14-4
   Добавление терминала                                14-5
   Задание линий терминалов                            14-9
     Файл gettydefs                                    14-9
     Изменение файла gettydefs                         14-11
     Проверка параметров установки терминала           14-13
   Изменение работы последовательной линии             14-15
   Задание типа терминала                              14-17
   Автоматическое задание типа терминала               14-19
   Удаление терминала                                  14-20
   Использование последовательных мультиэкранов
    средствами mscreen                                 14-21
     Поиск неисправностей                              14-24
     Усовершенствованное использование                 14-25
   Использование модема в системе                      14-28
     Последовательные линии                            14-28
     Выходные данные из вашего компьютера              14-28
     Установка модема, обеспечивающего пересылку данных
     абоненту сети                                     14-30
     Поиск неисправностей                              14-33
     Подключение к компьютеру                          14-35
     Установка модема, обеспечивающего вход в сеть
     информационного обмена                            14-36
     Поиск неисправностей                              14-37
     Разделение обеспечения входа в сеть информационного
     обмена и обеспечения пересылки данных абоненту    14-40
     Установка разделяемого модема обеспечения входа в
     сеть информационного обмена/обеспечения пересылки
     данных абоненту сети                              14-40
     Параметры установки модема Hayes                  14-40

                             - xiii -

  15. Использование принтеров
   Введение                                            15-1
     Спуловая система принтера                         15-1
   Установка принтера                                  15-3
   Сводка команд пользователя                          15-7
   Сводка административных команд                      15-8
   Добавление локального принтера                      15-10
   Добавление принтера как терминала login             15-14
   Запуск и останов средств печати LP                  15-15
     Ручной останов средств печати                     15-15
     Ручной запуск средств печати                      15-16
   Отмена запроса печати                               15-17
   Открытие и закрытие принтеров                       15-18
   Добавление принтера классу                          15-19
   Установка системного назначения, принимаемого по
    умолчанию                                          15-21
   Монтирование формы или печатающего механизма        15-22
   Удаление принтера или класса                        15-24
   Управление загрузкой печати                         15-25
     Отвержение запросов для принтера или класса       15-25
     Принятие запросов для принтера или класса         15-26
     Пересылка запросов на другой принтер              15-26
     Примеры                                           15-27
   Управление приоритетами очереди                     15-29
     Задание пределов приоритета                       15-30
     Задание приоритета по умолчанию                   15-31
     Проверка пределов и умолчаний приоритетов         15-31
     Пересылка запроса в очередь                       15-31
     Проверка конфигурации принтера                    15-33
   Поиск неисправностей в системе печати               15-35
     Нет выхода - нечего печатать                      15-35
     Неразборчивая печать                              15-36
     Различимая печать, неправильные интервалы         15-37
     Двойные интервалы                                 15-37
     Нет левого поля / продолжения текста              15-38
     Зигзаги на странице                               15-38
     Неправильный набор символов или ключ              15-38
     Ошибки отключения                                 15-39
     Бездействующие принтеры                           15-39
      Формы                                            15-41
     Что такое форма?                                  15-41
     Определение формы                                 15-42
     Удаление формы                                    15-44

                             - xiv -

     Ограничение доступа пользователя                  15-45
     Сигнал монтирования формы                         15-46
     Монтирование формы                                15-48
     Проверка формы                                    15-48
   Фильтры                                             15-50
     Что такое фильтр?                                 15-50
     Определение фильтра                               15-54
     Добавление фильтра                                15-61
     Удаление фильтра                                  15-61
     Проверка фильтра                                  15-62
     Слово предостережения                             15-62
     Очистка журнала запросов                          15-62
   Настройка средств печати                            15-66
     Настройка характеристик порта принтера            15-68
     Настройка базы данных terminfo                    15-70
     Как писать программу интерфейса                   15-72
     Как писать фильтр                                 15-79
   Специальные возможности конфигурации                15-81
     Тип принтера                                      15-81
     Типы содержимого                                  15-82
     Метод соединения                                  15-84
     Наборы символов или печатающий механизм           15-85
     Предупреждение о сбоях                            15-90
     Восстановление при сбоях                          15-92
     Ограничение доступа пользователя                  15-93
     Атрибуты печати по умолчанию                      15-94
   Установка последовательных принтеров
    протокола RTS/CTS                                  15-96
   Использование принтера без спулера                  15-98
   Создание начального файла устройства                15-99

  16. Использование накопителей на гибких магнитных
      дисках и накопителей на магнитных лентах

   Вступление                                          16-1
   Использование кассетных накопителей на магнитной
    ленте (стриммеров)                                 16-2
   Установка и конфигурация                            16-2
   Кассетная магнитная лента                           16-3
   Мини кассетный накопитель на магнитной ленте        16-4
   Кассетный накопитель на магнитной ленте QIC-40      16-4
   Накопители на магнитной ленте SCSI                  16-4
   Повторное редактирование ядра системы               16-4
   Сообщения о самозагрузке                            16-4

                             - xv -

   Редактирование файла /etc/default/tar               16-5
   Кассетные накопители на магнитной ленте QIC         16-5
   Мини кассетные накопители                           16-6
   Архивация файлов на магнитной ленте                 16-6
   Команда tar                                         16-7
   Обслуживание накопителя на магнитной ленте          16-7
   Форматирование магнитной ленты                      16-8
   Обеспечение кода коррекции ошибки (ЕСС)
    накопителя на магнитной ленте                      16-9
   Использование накопителя на гибком магнитном
    диcке                                              16-10
   Форматирование накопителя на гибком магнитном
    диске                                              16-10
   Файл /etc/default/format                            16-11
   Использование гибких магнитных дисков для
    хранения файлов данных                             16-13
   Создание файловой системы на гибких магнитных
    дисках                                             16-14
   Создание аварийно загружаемого гибкого диска        16-17

  17. Использование материнских плат

   Вступление                                          17-1
   Установка материнских плат                          17-2
   Блок двухсекционных переключателей и перемычки      17-2
   Установка аппаратурных средств                      17-2
   Программа настройки дисков, поставляемая
    производителем                                     17-3
   Подключение дополнительной памяти                   17-4

  18. Использование мышки

   Вступление                                          18-1
   Установка аппаратурных средств                      18-2
   Установка мышки                                     18-3
   Удаление мышки                                      18-7
   Использование мышки                                 18-8
   Использование мышки при работе с мультиэкранами     18-8
   Использование мышки при  работе с последовательными
   терминалами                                         18-8
   Разделение мышки между несколькими терминалами      18-8
   Использование мышки программами, базирующимися на
   работе с клавиатурой                                18-9

                             - xvi -

  19. Решение системных проблем

   Вступление                                          19-1
   Восстановление терминала без эхо ответа             19-2
   Восстановление заблокированного терминала           19-3
   Выявление блокировки клавиатуры консоли             19-6
   Выявление  ошибки  медленной печати параллельного
   принтера                                            19-9
   Переключение на выполнение операции опроса          19-10
   Прекращение выполнения бесконтрольного процесса     19-12
   Разблокирование терминала или счета пользователя    19-13
   Замещение забытого пароля пользователя              19-14
   Восстановление свободного пространства              19-15
   Восстановление потерянных системных файлов          19-16
   Восстановление испорченной корневой файловой
   системы                                             19-17
   Ремонт файловой системы  после  ошибки: остановка
   утилиты fsck при проверки размера                   19-19
   Восстановление после системной аварии               19-20
   Выявление  некачественной  частоты электропитания
   компьютера                                          19-21
   Получение информации о дефектной дорожке            19-22

  20. Использование системной консоли
     и цветных дисплеев

   Вступление                                          20-1
   Выбор типа клавиатуры консоли                       20-2
   Ручное переключение режимов работы клавиатуры       20-2
   Изменение режимов работы клавиатуры на все  время
   работы                                              20-3
   Использование мультиэкранов                         20-4
   Мультиэкраны и мульти-видео адаптеры                20-5
   Изменение видео шрифтов                             20-6
   Управление цветными дисплеями, выполняемой
   утилитой setcolor                                   20-7
   Изменение цветов переднего и заднего плана          20-7
   Изменение цветов обратного видео изображения        20-8
   Изменение цвета обрамления экрана                   20-8
   Управление звонком клавиатуры                       20-8
   Сброс экрана                                        20-9

                             - xvii -

 21. Установка электронной почты

   Вступление                                          21-1
   Преобразование файлов конфигурации                  21-2
   Преобразование файла псевдонима                     21-2
   Установка конфигурации сети Micnet                  21-3
   Установка конфигурации сети UUCP                    21-4
   Ручное редактирование файлов конфигурации           21-6
   Модификация файла mmdftailor                        21-6
   Имена домена и компьютера                           21-6
   Адрес поддержки                                     21-8
   Планирование передачи                               21-8
   Табличные определения                               21-8
   Определения псевдонима                              21-9
   Канальные определения                               21-9
   Определения домена                                  21-11
   Уровни регистрации                                  21-12
   Определение псевдонимов                             21-13
   Файл alias.list                                     21-13
   Файл alias.user                                     21-14
   Редактирование маршрутных файлов                    21-14
   Доменные файлы                                      21-15
   Канальные файлы                                     21-16
   Пример маршрута                                     21-18
   Модификация базы данных                             21-19
   Обслуживание системы  MMDF                          21-20

  22. Включение дополнительных накопителей на жестких
                 магнитных дисках

   Вступление                                          22-1
   Действия выполняемые перед началом работы           22-3
   Установка конфигурации накопителя на жестком
    магнитном диске                                    22-3
   Жесткие магнитные диски ST506 или ESDI              22-3
   Подготовка аппаратурных средств                     22-6
   Установка накопителя на жестком магнитном диске     22-7
   Создание новых файловых систем                      22-10
   Перередактирование ядра                             22-12
   Пересылка текущих счетов пользователя с основного
   накопителя на жестком магнитном диске               22-13

                       - 1 - - 1-1 -

    Введение

    Обзор                                              1-1
    Роли администратора системы и администрирования    1-2
    Упрощение администрирования при помощи sysadmsh    1-4
    Бюджет суперпользователя                           1-6
    Клавиатура                                         1-7
    Защита системы                                     1-9
    Об этом пособии                                    1-10

                       - 1-1 -

     ВВЕДЕНИЕ

    Ваша система UNIX является совокупностью программ,  поз-
воляющих вам  выполнять  полный  набор  задач  от разработки
программ на языках высокого уровня или на  ассемблере  и  до
создания, редактирования и печати документов.  Для интеллек-
туального выполнения система требует тщательного  управления
ее работой и регулярного планирования и обслуживания. Данное
пособие показывает как управлять и поддерживать операционную
систему на  вашем  компьютере  обеспечивая  максимальную его
производительность с минимальными проблемами.
    Важной частью  работы  системы  является  защита  данных
системы. Безопасность очень детально  рассмотрена  в  данном
пособии; операционная система содержит гибкий механизм защи-
ты вашей информации.
    Это пособие  показывает  как  расширять вашу систему при
помощи удаленных и локальных сетей.  Для создания  локальной
сети через  последовательные  связи  можно применить micnet.
Для удаленных связей через телефонные линии можно  применить
UUCP, обеспечивающей  связи  с  системами UNIX во всем мире.
(Смотри "Построение локальной сети  при  помощи  Micnet",  и
"Построение удаленной  сети при помощи UUCP " в данном посо-
бии для получения полной информации о возможностях  создания
сетей.)

                       - 1-2 -

    РОЛИ АДМИНИСТРАТОРА СИСТЕМЫ И АДМИНИСТРИРОВАНИЯ

    Каждая система  UNIX должна иметь как минимум одного че-
ловека для поддержания системы и ее работы. В данном пособии
такой человек называется администратором системы.  И его за-
дача в обеспечении правильности работы системы и  ее  точной
настройки и  для выполнения заданий,  которые требуют специ-
альных привелегий. Эти обязанности требуют чтобы администра-
тор системы  обладал  широким  полномочиями и мог работать с
многими функциями.
    Вы можете  иметь одного администратора системы или расп-
ределить его задачи между несколькими людьми.  Можно и пере-
дать им обязанности прямо ограниченные одним или несколькими
аспектами системы.
    В зависимости  от размера системы и количества пользова-
телей администрирование системы может представлять собой  от
нескольких работ до полного занятого рабочего дня. Даже если
система мала, администратор системы должен правильно и акку-
ратно выполнить  все  нужные  задания поскольку нерегулярное
обслуживание может сильно снизить производительность  систе-
мы.
    Администратор системы должен хранить журнал всех модифи-
каций системы  и событий в ней.  Каждое событие,  сообщение,
сохранение или модификация должны быть занесены в  журнал  с
датой, временем и именем пользователя,  вошедшего в систему,
а также с обстоятельствами сопутствующими событию. Например,
если новая  прикладная  программа  добавляется в программное
обеспечение системы,  в журнале должна быть  соответствующая
запись. Эта запись должна содержать время, дату, имя устано-
вившего программу пользователя и любые  замечания,  полезные
при установке и использовании программы. Точный журнал помо-
жет при решении проблем диагностики  системы  и  приводит  к
расширению использования системы.

                       - 1-3 -

    Все задания в данном пособии представлены с точки зрения
администратора системы,  но  многие  из  них можно выполнять
обычному пользователю.  Поскольку  некоторые  задачи  сильно
влияют на  работу  системы,  их может выполнять только адми-
нистратор системы. Однако, независимо от того, кто выполняет
эти задания, они должны быть записаны в журнал системы. Сле-
дуя этим правилам можно предотвратить  нежелаемые  изменения
системы.
    Администратор системы имеет несколько задач для выполне-
ния, некоторые из них ежедневно:
    * убедиться в целостности системы и ненарушенности меха-
      низма защиты.
    * сделать несколько  адекватных  сохранений  (регулярные
      копии файлов  системы)  для возможности их дальнейшего
      использования.
    * управлять проблемами, относящимися к использованию ог-
      раниченных ресурсов компьютера (дисковое пространство,
      число процессов и т.д.).
    * облегчение  остановок  коммуникации  системы   (сетей)
      из-за отказов соединений.
    * выполнение восстановлений системы и обеспечение фикса-
      ций.
    * предоставление общих услуг пользователям.

                          - 1-4 -

    Упрощение администрирования при помощи sysadmsh

    sysadmsh -  интерфейс меню,  разработанный для упрощения
задач администратора системы.  Меню, субменю и экраны позво-
ляют вам  упростить работу или заполнение бланков.  sysadmsh
позволяет менее искушенному администратору системы использо-
вать команды  UNIX в противном случае требующие их запомина-
ния и постоянных обращений к страницам пособий по их  приме-
нению. Этот интерфейс содержит подсказку,  зависящую от кон-
текста; просто нажмите клавишу F1 из любого меню и  появится
дальнейшее объяснение опций меню.
    Если вы новичок  в  операционной  системе  UNIX,  то  мы
настоятельно рекомендуем познакомиться с концепциями и зада-
ниями, приведенными в Tutorial - Самоучителе - для новичков.
После его  изучения вы будете уметь выполнять основные зада-
ния администратора системы, приведенные здесь.
    Для помощи  пользователям  sysadmsh  документация  этого
пособия дополнена ссылками sysadmsh,  которые появляются под
инструкциями командной строки UNIX.
    Например, следующие  инструкции  относятся   к   утилите
custom, применяемой для введения дополнительного программно-
го обеспечения в вашу систему. Под командой приведена после-
довательность выборов меню sysadmsh.

                          - 1-5 -

    Введите следующую команду:

    custom

    sysadmsh users select: System -> Software

    Это значит, что вы можете выбрать функции команды custom
сперва выбрав System в главном меню sysadmsh,  затем  выбрав
Software на следующем нижнем уровне.  Выбор можно сделать из
меню любым из следующих способов:

    * проход через опции меню при помощи клавиши Space и на-
      жатия Return на нужной вам опции.
    * переместите влево или вправо при помощи клавиш-стрелок
      и нажмите Return на нужной вам.
    * нажмите первую букву нужной вам опции.  Это быстрейший
      способ. Используя  пример  выше нужно просто ввести ss
      без нажатия клавиши Return и вы попадете в меню custom.

    Для получения  дальнейших  инструкций  по  использованию
sysadmsh обратитесь к главе "sysadmsh: использование оболоч-
ки системного администратора".

                          - 1-6 -

    Бюджет суперпользователя

    Бюджет суперпользователя - это  специальный  бюджет  для
выполнения задач поддержки системы. Он дает суперпользовате-
лю - системному администратору необычные привилегии, которые
обычный пользователь  не  может иметь,  например,  доступ ко
всем файлам системы и выполнение  привилегированных  команд.
Многие задания,  представленные  в  данном  пособии требуют,
чтобы администратор системы входил в нее как  суперпользова-
тель. Для  этого  он  должен знать пароль суперпользователя,
созданный во время установки вашей системы.  (Смотри Пособие
по установке).
    Вход в систему как суперпользователь предназначен только
для выполнения задач поддержки системы.  Даже если админист-
ратор системы только один использует систему, он должен соз-
дать бюджет  для  текущей работы как обычного пользователя и
резервируя бюджет суперпользователя только для системных ра-
бот.
    Несколько пользователей должны знать пароль суперпользо-
вателя. Некорректное использование возможностей суперпользо-
вателя неопытным пользователем может привести к потерям дан-
ных, программ и даже всей операционной системы.

                          - 1-7 -

    Клавиатура

    Для работы UNIX большинство клавиш и их комбинаций имеют
специальное значение. Они имеют имена, уникальные для систем
UNIX и  могут  не  соответствовать наклейкам на клавишах для
других систем.  Для подсказки в определении этих клавиш при-
ведена следующая  таблица.  Список для ваших конкретных уст-
ройств входа описан в keyboard(HW).
    В этой таблице тире между клавишами значит "нажмите пер-
вую клавишу и держите ее при нажатии второй".

        Специальные клавиши

    Имя UNIX   Надпись на        Действие
               клавише
    --------------------------------------------------------
               Delete       останавливает текущую программму
                            возвращаясь в приглашение оболо-
                            чки. Эта клавиша известна также
                            как Interrupt или Del.
         Backspace    удаляет символ слева от курсора
    d     Ctrl-d       сигнализирует конец ввода с кла-
                            виатуры; выходит из текущей обо-
                            лочки или инициализирует процеду-
                            ру выхода - logout - если текущая
                            оболочка - оболочка входа.
    h     Erase        удаляет первый символ слева от
                            курсора. Также называется ERASE.
    q     Ctrl-q       рестарт печати после останова ее
                            при помощи Ctrl-s.

                       - 1-8 -

    s     Ctrl-s       останов печати на стандартном
                            устройстве вывода, таком как
                            терминал. Не останавливает
                            программы.
    u     Ctrl-u       удаляет все символы в текущей
                            строке. Называется также KILL.
          Ctrl-        завершает текущую команду и со-
                            здает файл core. (Рекомендуется
                            только для отладки). Смотри
                            core(F) для получения дополни-
                            тельной информации.
          Esc          выход из текущего режима; нап-
                            ример, выход из режима ввода
                            при работе в редакторе vi.
       Return       завершает командную строку и
                            инициирует действие оболочки.

    Большинство этих специальных функциональных клавиш может
быть модифицировано  пользователем.  Для  получения дополни-
тельной информации смотри stty(C).

                       - 1-9 -

    Секретность системы

    Важным условием нормальной работы является защита систе-
мы и ее данных от несанкционированного вмешательства. Систе-
ма содержит  механизмы  защиты  не  присутствующую  в других
системах UNIX.  Эти механизмы удовлетворяют классу С2 "дове-
рия" как  определено  в  критериях  Trusted  Computer System
Evaluation Criteria (также известной как "Orange Book"). Как
администратор системы  вы  можете  конфигурировать механизмы
защиты для удовлетворения требований вашей группы. Вы можете
также установить  мощные  средства контроля для хранения де-
тальных записей login и использования системы.  Глава "Адми-
нистрирование бюджетов пользователей" показывает как вводить
пользователей в систему и использовать схему безопасности по
умолчанию. "Поддержка  безопасности  системы"  покрывает все
аспекты операций верификации включая возможности надзора.

                       - 1-10 -

    Об этом пособии

    Задания, представленные в данном пособии,  начинаются от
простейших, требующих  самых  элементарных  знаний UNIX,  до
требующих полного знания принципов работы системы  и  компь-
ютера.
    Каждая глава показывает средства и представляет  знания,
необходимые для  выполнения заданий этой главы.  В некоторых
случаях вы можете быть отосланы к другим пособиям, таким как
User's Guide или User's Reference.
    Это пособие содержит главы о вашем  компьютере,  который
можно использовать в вашей системе.  Использование и взаимо-
действие разных устройств с операционной системой показаны в
полном объеме.  Так например, "Использование драйверов флоп-
пи-дисков и магнитных лент" показывает использование магнит-
ной среды  хранения и дает основы приготовления операционной
системы для таких устройств,  их установки  и  использования
драйверов сразу после установки.
    Дополнительно есть главы рассказывающие о некоторых дру-
гих типах устройств,  которые можно будет использовать и не-
которые из них помогут вам администрировать систему.  Другие
главы помогут  установить  сеть с другими компьютерами и по-
нять вашу собственную систему.
    Обратите особое  внимание  на главы "Сохранение файловых
систем", "Поддержка секретности системы" и "Решение  проблем
системы". Последняя  является превосходным источником помощи
при работе с системой без проблем,  а глава  по  сохранениям
показывает наиболее важные аспекты администрирования системы.

                       - 2 -

    sysadmsh: использование оболочки администрирования
    системы

    Введение                                             2-1
    Запуск sysadmsh                                      2-2
    Как организована оболочка                            2-3
    Выбор объектов меню                                  2-5
    Использование форм                                   2-7
    Использование видео-клавиш                           2-13
    Использование окон сканирования                      2-14
    Получение помощи                                     2-16
    Изменение текущего каталога внутри sysadmsh          2-19
    Функциональные клавиши                               2-20
    Использование управляющих последовательностей
    оболочки для доступа к командной строке UNIX         2-21
    Переменные среды sysadmsh                            2-22
    Команды UNIX и эквиваленты sysadmsh                  2-23

                       - 2-1 -

    Введение

    sysadmsh (system  administration  shell) - это интерфейс
меню разработанный  для  упрощения   работы   администратора
системы. sysadmsh  позволяет вам запускать команды админист-
рирования системы с многочисленными опциями без  использова-
ния традиционной командной строки UNIX.
    В этой главе показано как использовать этот интерфейс  и
для его  эффективности  нужно знать о некоторых возможностях
команд, вызываемых sysadmsh.  Список  этих  команд  и  соот-
ветствующие им  опции меню sysadmsh даны в конце этой главы.
Список ссылает вас на другие секции  документации  по  UNIX,
содержащие детальную информацию по каждой команде.
    Вы можете понять, что легче изучать материал данной гла-
вы если  начать со старта sysadmsh и действительно выполнять
примеры, которые здесь приведены. Глава предполагает некото-
рое знакомство  с операционной системой UNIX,  которое можно
получить ознакомившись с концепциями,  приведенными в Самоу-
чителе - Tutorial - перед использованием меню sysadmsh.

                       - 2-2 -

    Запуск sysadmsh

    Для выполнения  работы  с  данным самоучителем войдите в
систему как root и введите следующие команды:

    cd /tmp
    sysadmsh

    На экране появится меню sysadmsh:
 +---------------------------------------------------------+
 |                                           sysAdmsh      |
 |System Backups Accounts Printers Media Jobs Dirs/Files   |
 |Filesystems Quit                                         |
 |Administer and configure system resources and report     |
 |system status                                            |
 |/tmp                                  24 may 1989 13:47  |
 |                                                         |
 |                                                         |
 |                                                         |
 |                                                         |
 |                                                         |
 |                                                         |
 |                                                         |
 |                                                         |
 |                                                         |
 |                                                         |
 |                                                         |
 +---------------------------------------------------------+

                       - 2-3 -

    Как организован экран

    Ниже показана схема экрана sysadmsh. Области, выделенные
жирно, появляются  на  экране  как яркие области или полоски
текста. Каждая область используется для вывода на экран спе-
цифических типов информации:
 +---------------------------------------------------------+
 |                                     Индикатор контекста |
 | Строка меню                                             |
 | Строка описания                                         |
 | Строка статуса                                          |
 |                                                         |
 |+---------------Команда/форма---------------------------+|
 ||                                                       ||
 ||                                                       ||
 ||                                                       ||
 ||            Область вывода                             ||
 ||                                                       ||
 ||                                                       ||
 ||                                                       ||
 ||                                                       ||
 |+-------------------------------------------------------+|
 | Сообщения об ошибках                                    |
 +---------------------------------------------------------+

    *  индикатор контекста  -  высвеченная  полоска текста в
       верхнем левом углу экрана показывает имя текущего ме-
       ню. Он   для  открытого  экрана  sysadmsh  показывает
       SysAdmSh.

                              - 2-4 -

    *  строка меню  выводит  опции меню,  доступные в данное
       время. Главное меню sysadmsh состоит из девяти опций:
       System Backups Accounts Printers Media Jobs Dirs/Files
       Filesystems Quit.
    *  строка описания дает вам краткое описание текущей выс-
       веченной опции меню.
    *  строка статуса - высвеченная полоска текста, отделяю-
       щая строки меню и описания от окна вывода. Строка ста-
       туса в открытом экране sysadmsh содержит дату, время
       и текущий рабочий каталог. Когда команда UNIX в проце-
       ссе выполнения, имя ее и используемые опции выводятся
       в дальнем левом углу строки статуса.
    *  строка команда/форма выводится в заголовке для содер-
       жимого области отображения. Это может быть имя коман-
       ды UNIX или имя формы sysadmsh. Когда выведено имя
       команды, положение страницы пособия по ней добавлено
       в скобках. Например, при запуске команды who строка
       команды выводит who(C), что значит, что описание дан-
       ной команды приведено в секции (C) User's Reference.
    *  область вывода - отображения - это область куда выво-
       дятся формы sysadmsh и окна сканирования. Они деталь-
       но объясняются в данной главе позже.
    *  сообщения об ошибках и инструкции по восстановлению
       выводятся на последней строке экрана с повышенной
       яркостью.

                       - 2-5 -

    Выбор объектов меню

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

           Базовые строки клавиш меню
 ___________________________________________________________
 Действие              Строка клавиш
 ___________________________________________________________
 Переместиться к опции  клавиши-стрелки, или пробел - то же
 меню                   самое, что стрелка направо.
 Выбрать опцию меню     первая буква опции или переход под-
                        светки к опции и нажатие Return.
 возврат к предыдущему  
 меню
 Получение подсказки    
 ___________________________________________________________
    Вы можете  познакомиться с опциями меню при помощи стре-
лок-клавиш или клавиши пробела для перемещения подсветки  от
одной опции к другой. Каждый раз как вы подводите подсветку,
описание данной опции появляется в строке описания.
    sysadmsh имеет иерархическую структуру меню. Большинство
опций меню перемещают вас вниз  к  другому  меню.  Например,
когда вы выбрали опцию Процессы из главного меню,  выводится
под-меню, содержащее еще опции,  обеспечивающие  проверку  и
работу с процессами на вашей машине. Иерархия меню позволяет
легко найти команду,  перемещаясь вниз от одного меню к дру-
гому. Обычно вы получаете опцию меню,  которая или выполняет
команду UNIX или выводит на экран форму,  которую вы  должны
заполнить в  деталях,  нужных данной команде.  Отметим,  что
ввод первой буквы имени опции - быстрейший способ  прохожде-
ния по уровням меню;  когда вы будете часто обращаться к од-
ной и той-же команде,  лучше набрать несколько букв, которые
вы запомните.
    Лучший способ изучить  использование  меню  -  практика.
Если по ошибке вы выбрали неправильное меню,  то можете вер-
нуться к предыдущему нажав клавишу .  Если вы прошли по
меню далеко,  то  можете вернуться в главное меню при помощи
нажатия  и ввода n.  перемещает вас к опции Quit и n
возвращает в  главное меню.  Для подсказки определения путей
через меню sysadmsh приведена таблица 2.1, содержащая  карту
меню всех уровней.

                       - 2-6 -

           Табл. 2.1
                     Карта меню
 ============================================================
 System    Backups    Accounts    Printers    Media    Jobs
    V        V           V           V          V       V
 Report    Create      User       Configure   List     Report
 Configure Restore     Defaults   Schedule    Extract  Terminate
 Hardware  Schedule    Terminal   Request     Archive  Autorize
 Software  Contents    Reports    Auxiliary   Format
 Audit     Integrity              Priorities  Duplicate
 Execute                                      Tapedump
 Terminate
 ==================================
 Dirs/Files   Filesystems    Quit
     V             V           V
   List         Check         Yes
   View         Mount         No
   Copy         Umount
   Edit          Add
  Modify       Floppy
   Print         DOS
  Archive
 Differences
  Remove
  UseDOS
 _______________________________________________________________

    Эта глава  использует соглашение о синтаксисе для указа-
ния строки опций меню.  Например,  для распечатки  файла  вы
должны выбрать опцию Dirs/Files из главного меню и затем оп-
цию Print из меню Dirs/Files. Эта последовательность указана
краткой нотацией  Dirs/Files->Print  и  может быть выполнена
путем ввода dp.
    При выборе опции меню произойдет одно из трех:

    *  выводится низший уровень меню.
    *  вы попадаете в форму или
    *  выполняется  команда UNIX и результат выводится на эк-
       ран в окно сканирования.
    Следующие две секции детально раскрывают  формы  и  окна
сканирования.

                       - 2-7 -

    Использование форм

    Некоторые опции  меню  требуют дополнительной информации
для правильного выполнения задачи.  Например, опция Print не
может делать ничего пока вы не сообщите,  что нужно печатать
и какой принтер использовать.  Когда вы обращаетесь к подоб-
ной опции на экране появляется форма,  которую вам нужно за-
полнить для передачи команде требуемой информации.
    Пример, приведенный ниже,  показывает как работает форма
показывая вам как можно распечатать файл в текущем каталоге.
После этого  примера  перечислены последовательности клавиш,
которые позволяют вам перемещаться по  форме,  редактировать
ее и выбирать точки "Point and Pick".
    Для печати файла сперва выбирайте Dirs/Files->Print. Вы-
водится форма Print:
 +---------------------------------------------------------+
 |  Введите имя файла или каталога              Print      |
 |                                                         |
 |  /tmp                                 24 may 1989       |
 |                                                         |
 |                                                         |
 |+--------------------Print Files------------------------+|
 ||                                                       ||
 ||  Введите файл(ы) для печати:                          ||
 ||  [_                                                 ] ||
 ||                                                       ||
 ||  Введите имя принтера  для передачи на него файлов:   ||
 ||  [                                                  ] ||
 ||                                                       ||
 ||                                                       ||
 |+-------------------------------------------------------+|
 |                                                         |
 +---------------------------------------------------------+

                       - 2-8 -

    Отметим, что подсветка на первом объекте ы форме. Вы мо-
жете заполнить его в нужных полях или получить список  выбо-
ров нажав .  Вы можете ввести имя файла если оно вам из-
вестно, но предположим,  что вы его не знаете и поэтому  для
следования данному  пособию  нажмите .  Открывшееся окно
перекрывает часть формы Print:
 +---------------------------------------------------------+
 |  Введите имя файла или каталога              Print      |
 |                                                         |
 |  /tmp                                 24 may 1989       |
 |                                                         |
 |                                                         |
 |+--------------------Print Files------------------------+|
 ||                                                       ||
 ||  Введите файл(ы) для печати:                          ||
 ||  [_                                                 ] ||
 ||                                                       ||
 ||_______________________________________________________||
 ||                                                       ||
 ||  файл1      файл2          файл3          файл4       ||
 ||  файл5      файл6                                     ||
 |+-------------------------------------------------------+|
 |                                                         |
 +---------------------------------------------------------+

    Окно содержит список файлов,  которые вам можно выбрать.
Для выбора файла укажите на него перемещая на него подсветку
(point) и зафиксируйте (pick) нажав Return.  Эти действия  и
носят название "Point and Pick" и используются в любом выбо-
ре. Когда вы сделали выбор,  окно закрывается и и вы возвра-
щаетесь в форму Print.
    Отметим, что имя файла, которое вы выбрали, теперь выво-
дится в форме. Вы можете теперь изменить выбранный вами файл
при помощи клавиш редактирования (перечислены  ниже  в  этой
секции) или нажав Return перейти к следующему полю.

                       - 2-9 -

    Теперь вы должны ввести им принтера для вывода.  Если вы
не знаете имя принтера, то нажмите  и второе меньшее ок-
но откроется на экране:
 +---------------------------------------------------------+
 |  Введите имя файла или каталога              Print      |
 |                                                         |
 |  /tmp                                 24 may 1989       |
 |                                                         |
 |                                                         |
 |+--------------------Print Files------------------------+|
 ||                                                       ||
 ||  Введите файл(ы) для печати:                          ||
 ||  [файл1                                             ] ||
 ||                                                       ||
 ||  Введите имя принтера  для передачи на него файлов:   ||
 ||  [_                                                 ] ||
 ||                                           ____________||
 ||                                          : принтер1   ||
 |+------------------------------------------: принтер2   :|
 |                                           :_принтер3___:|
 +---------------------------------------------------------+

    Вы можете  выбрать нужный принтер также как выбирали имя
файла. Когда вы выбрали принтер,  вы  возвращаетесь  в  меню
Print.

                       - 2-10 -

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

                       Клавиши форм
____________________________________________________________
 Клавиши               Действие
____________________________________________________________
                  сообщает программе, что вы изменили
                       решение и не хотите завершать заполне-
                       ние этой формы. Форма удаляется и ни-
                       каких действий больше не производит-
                       ся. Вы возвращаетесь в предыдущее ме-
                       ню. Кроме того,  и вслед за ним
                        используются для подтвержде-
                       ния, что сообщение об ошибке прочи-
                       тано и что вы готовы продолжать работу.
 Cтрелки вверх,вниз    переместиться к другому полю в форме.
                       Некоторые поля ограничены и ввод в
                       них не разрешен. Клавиши стрелки обой-
                       дут их.  Другие  поля должны быть за-
                       полнены. Нажимая клавишу вниз на пос-
                       леднем объекте формы вы пепеходите в
                       первый объект.
 Стрелки влево,вправо  перемещают влево или вправо в текущем
                       поле. Позволяют изменить текст без пе-
                       репечатки всей строки.
               нажав эту клавишу в поле вы завершите
                       ввод данных в него и переместите кур-
                       сор к другому полю. В последнем поле
                       нажатие Return завершает заполнение
                       всей формы и и сообщает оболочке о
                       том, что данные готовы для работы.
 x                выход из формы и ее выполнение где бы
                       вы не были. Полагайте х - от слова
                       execute. [F10] делает то же самое.
                   вы можете использовать программу про-
                       верки правописания находясь в форме.
                       Если вы думаете, что слово написано с
                       ошибкой, нажмите  когда курсор на-
                       ходится на данном слове и появится
                       список возможных правильных слов в ви-
                       де списка укажи-и-нажми. Слово, кото-
                       рое вы выбрали, заменит слово с ошибкой.

                       - 2-11 -

    Клавиши редактирования
____________________________________________________________
 Клавиши               Действие
____________________________________________________________
 y                удалить текущую строку, старт везде
 w                удалить текущее слово
 g-h         переместить курсор в начало строки
 g-l         переместить курсор в конец строки
 v                перейти или выйти из режима набора
                       лишних символов.
                  удалить символ под курсором
                 вернуться на символ назад и удалить
                       его.
 u                на страницу вверх
 d                на страницу вниз
 n                следующее слово
 p                предыдущее слово
 правая, левая стрелки переместиться вправо или влево на ре-
                       дактируемой строке.

         Клавиши укажи-и-нажми
____________________________________________________________
 Клавиши               Действие
____________________________________________________________
               нажатие этой клавиши на имени объекта
                       выбирает объект
                  объекты не нужны, процесс выборки за-
                       канчивается. Список удаляется и ника-
                       ких действий не предпринимается.
 v                переключает между выбором всего или
                       ничего из объектов в списке.
 стрелки вверх,вниз    переместиться к другим объектам списка.
 стрелки влево,вправо  переместиться вдоль многоколоночной
                       картинки.
 пробел                когда данное приложение воспринимает
                       больше чем один объект, для их марки-
                       рования. Маркированный объект обозна-
                       чается символом * в левой колонке. Ма-
                       ркировку можно отменить  при  нажатии
                       пробела второй  раз  на  том же самом
                       объекте. Весь перечень можно выбрать
                       при помощи Return.

                       - 2-12 -

                   клавиша поиска полезна для обнаруже-
                       ния объектов в длинном листинге. При
                       ее нажатии появляется приглашение
                       ввести строку, которую нужно найти и
                       после этого нужно нажать ввод. Если
                       искомая строка не обнаружена, то под-
                       светка не перемещается. Клавиши ; и :
                       повторяют поиск вперед и назад, соот-
                       ветственно.
 Первая буква          быстрейший метод выбора объекта по его
                       первой букве. Нажмите первую букву объ-
                       екта и подсветка переместится на этот
                       объект. Нажав клавишу ввода вы выбира-
                       ете объект. (Если есть только один
                       объект, начинающийся с этой буквы, он
                       будет  маркирован после ее ввода и нет
                       нужды нажимать  ввод  снова.)  Если с
                       одной буквы начинаются несколько объ-
                       ектов, то курсор покажет на ее первое
                       появление в списке.

                       - 2-13 -

    Использование видео-клавиш

    "Видео-клавиши" - это ряд прямоугольников выбора в  фор-
ме, которую вы выбрали способом,  подобным выбору объектов в
полоске меню.  Цель видео-клавиш - позволить ввод  данных  в
форме, которая  была использована в последовательности выбо-
ров, сделанных при помощи видео-клавиш,  как в данном приме-
ре, взятом из раздела Account sysadmsh:

 +---------------------------------------------------------+
 |                                              Проверка   |
 | 11 ноя 88 08:20                        /usr/auth        |
 |                                                         |
 |                                                         |
 |                                                         |
 |+--------------- Viw/Modifiy a user account ------------+|
 ||                                                       ||
 ||  Username   :   [             ]                       ||
 ||                                                       ||
 || Audit Expiration Identity Logins Password Privileges  ||
 ||                                                       ||
 ||                                                       ||
 ||                                                       ||
 ||                                                       ||
 |+-------------------------------------------------------+|
 |                                                         |
 +---------------------------------------------------------+

    В данном примере нужно заполнить Username перед  выбором
видео-клавиши. Синтаксис  sysadmsh  включает нотацию для ви-
део-клавиш: двоеточие.  Так  что  когда  вы  увидите  ссылку
sysadmsh типа:

    Accounts -> User -> Examine:Audit

то это значит, что вы должны обеспечить информацию (в данном
случае имя пользователя) перед заданием  следующего  выбора:
Audit.

                       - 2-14 -

    Использование окон сканирования

    При выполнении  команд  UNIX  путем  выбора  их  в  меню
sysadmsh результаты команд обычно выводятся в окно  сканиро-
вания. Окна  сканирования  используются  также для вывода на
экран содержимого файлов  и  листингов  каталогов.  Для  де-
монстрации использования окон сканирования предположим,  что
мы хотим знать кто в настоящее время вошел  в  систему.  Для
этого нужно выбрать System -> Report -> Users. (Так запуска-
ется команда UNIX who(C).)
    После выбора данных опций, окно сканирования, отображаю-
щее вывод команды who(C), появится на экране:

 +---------------------------------------------------------+
 |                                              Users      |
 |                                                         |
 | who -H                                24 May 1989 13:47 |
 |                                                         |
 |                                                         |
 |+-------------------- who(C) ---------------------------+|
 ||                                                       ||
 ||  NAME     LINE               TIME                +    ||
 ||                                                  #    ||
 ||  root     tty01              24 May  10:23       #    ||
 ||  faithz   tty02              24 May  11:03       #    ||
 ||  stevem   tty03              24 May  8:16        #    ||
 ||  naomib   tty04              24 May  8:00        #    ||
 ||  terib    tty08              24 May  8:16        #    ||
 |+-------------------------------------------------------+|
 |                                                         |
 +---------------------------------------------------------+

                       - 2-15 -

    Отметим, что  имя команды who и раздел справок о ней (С)
выведены в начале окна. Отметим также, что опция, заданная в
команде (-Н)  выведена  на экран в левой стороне строки ста-
туса. Если  вы  не  понимаете   представленной   информации,
посмотрите описание команды в User's Reference.
    Вы можете узнать окно сканирования по вертикальному стол-
бику прокрутки, который появился в верхнем правом углу окна,
здесь он представлена как #.  Когда окно появится в  верхней
части вашего текста, то становится видимым символ +, если же
окно в нижней части - то внизу  будет  +.  Если  весь  текст
уместился  в окне, то можно видеть два символа +.
    Столбик прокрутки показывает также где вы  находитесь  в
окне. Высвеченная порция столбика представляет часть текста,
который в настоящее время выведен на экран. По мере того как
вы прокручивает  его вверх и вниз высвеченный столбик двига-
ется за вами.
    При работе в окне сканирования нужно использовать следу-
ющие клавиши:

           Клавиши сканирования
 _________________________________________________________
  Действие                       Клавиша
 _________________________________________________________

  Выход из файла                    
  переместиться вверх на строку     стрелка вверх
  переместиться вниз на строку      стрелка вниз
  переместиться вниз на страницу     или пробел
  переместиться вверх на страницу   
  переместиться вверх дисплея       
  переместиться вниз дисплея        
  поиск последовательности (; и     
  : повторяют поиск вперед и
  назад, соответственно.)
  распечатать вывод команды или     
  файл, выведенный в окно скани-
  рования

                       - 2-16 -

    Получение подсказки

    Вы можете   нажать  клавишу    для  вывода  информа-
ции-подсказки. После  ее  нажатия  откроется  окно  Help   -
подсказки. Оно выглядит следующим образом:

  +-------------------- Help Topic -----------------------+
  |                                                       |
  |                                                       |
  | Вот как первое окно Help появляется на экране         |
  |                                                       |
  |                                                       |
  |                                                       |
  |                                                       |
  |                                                       |
  +-----------------------------------Снова F1 для продолж+

    Окно содержит немного базовой информации. Если вам нужна
дополнительная информация, нажмите эту клавишу снова и будет
выведено полное меню Help:

 +---------------------------------------------------------+
 | Нажмите F1 снова для помощи еще                Help     |
 |                                                         |
 |                                                         |
 | Continue Back Next Index Related Search Help Print      |
 | Quit Return to the application                          |
 |                                                         |
 | sysadmsh             Help Topic                         |
 |                                                         |
 |                                                         |
 |                                                         |
 |                                                         |
 |    Вот как выглядит меню Help                           |
 |                                                         |
 |                                                         |
 |                                                         |
 |                                                         |
 +---------------------------------------------------------+

                       - 2-17 -

    Из этого  меню  вы  можете выбрать много более детальной
информации. Когда вы закончите,  выбирайте из  меню  Quit  и
возвратитесь в то место, в котором находились ранее.
    Здесь приведены опции меню для Help:

           Опции Help
 __________________________________________________________
 Опция     Действие
 __________________________________________________________

 Continue  продолжить на следующей странице. Все клавиши ве-
           ртикального движения активны. Если больше инфор-
           мации нет, то высветится опция Quit и строка опи-
           сания выдаст: Возврат в систему.
 Back      переместиться обратно в раздел, который вы только
           что смотрели. Нет соответствующей опции Forward.
           Она может использоваться и для возврата в более
           общие разделы.
 Index     выбрать новый раздел из списка.
 Related   выбрать новый раздел, родственный текущему.
 Search    искать новый раздел путем сравнения с образцом.
           Сперва вам нужно задать где смотреть (титулы,
           строки текста или и там и там) и затем дать по-
           следовательность. Последовательность может быть
           простым словом (таким как create или date), или
           более сложным выражением. Будет представлен спи-
           сок разделов, в которых есть данная последовате-
           льность.
 Help      как сама возможность подсказки может быть исполь-
           зована? На экран выводится таблица, подобная этой.
           Если вам нужна дополнительная информация, посмот-
           рите ваш раздел в Index, Related или Search.
 Print     сделать твердую копию текущего раздела. Сперва
           вам нужно выбрать принтер, затем выбрать Go из
           подменю для передачи на принтер.
 Quit      выйти из подсказки и возвратиться в sysadmsh.
           Для быстрого выхода можно нажать  или .

                       - 2-18 -

    Каждый экран Help имеет общую информацию, а также специ-
фическую информацию о каждой опции, перечисленной в меню, из
которого Help  была  выбрана.  Каждое сообщение предваряется
соответствующей строкой меню и заключается ссылкой на  доку-
ментацию операционной системы.  Символы в скобках, следующие
за командной строкой, означают секцию User's Reference. Нап-
ример, vi(C) означает,  что здесь содержится информация о vi
в разделе С User's Reference.
    -------------------------------------------------------
    Примечание:
    Когда вы  работает  в  команде UNIX,  то не должны обра-
щаться к  реализации  Help.  Например,  когда  вы   выбрали:
Dirs/Files -> Edit, то попадаете в команду UNIX vi и клавиши
sysadmsh не функционируют.  После возврата из этой команды и
возврата в  sysadmsh клавиши снова начнут правильно функцио-
нировать. Если элементов sysadmsh нет на экране (строка  ме-
ню, полоски, индикатор контекста и т.д.), то Help, вероятнее
всего на доступна.  Если же она вам нужна, то нужно выйти из
текущего процесса   и  нажать  клавишу  .  Вообще  лучше
использовать Help перед выполнения выбора меню.

                       - 2-19 -

    Изменение текущего каталога в sysadmsh

    Есть несколько случаев, когда нужно изменить текущий ка-
талог для использования некоторых файлов или команд.  Вы мо-
жете переместиться в другой каталог нажав клавишу .  Те-
кущий каталог  будет  виден  сверху  на экране.  Затем можно
использовать клавишу  для стирания имени текущего  ка-
талога или вы можете добавить или изменить часть имени ката-
лога. После нажатия ввода ваш каталог изменится на названный
и это отразится в строке статуса.

                       - 2-20 -

    Функциональные клавиши

    Функциональные клавиши  дают  вам возможность сэкономить
время.
 ___________________________________________________________
 Клавиша   Действие
 ___________________________________________________________

       клавиша подсказки - выводит на экран описание те-
           кущей функции. Дальнейшая информация доступна при
           повторном нажатии этой же клавиши.
       клавиша выхода - активизирует опцию Quit на верх-
           нем уровне меню, нажмите n для возврата в sysadmsh
       клавиша выталкивания (pop-up) - выводит на экран
           список объектов, которые воспринимаются текущим
           полем.
       клавиша проверки написания (используется внутри
           формы) - выводит на экран список слов похожих на
           данное, только правильно написанных. Нужно выбрать
           одно из них нажав ввод. Это слово заменит введен-
           ное вами.
       клавиша поиска (используется в окне) - приглашает
           к поиску  строки.  После  ввода  строки и нажатия
           ввода подсветка переместится на объект, совпавший
           с этой  строкой.  Если совпадение не найдено,  то
           подсветка не переместится. Кроме того, точка с за-
           пятой (;) и двоеточие (:) повторяют поиск вперед
           и назад, соответственно.
       клавиша нового каталога - дает возможность сменить
           текущий рабочий каталог.  Отметим, что она не из-
           менит каталог, если вы вызвали sysadmsh после вы-
           хода.
       клавиша печати - распечатать вывод любой команды
           выведенной в окно сканирования.

                       - 2-21 -

    Использование эскейп-последовательностей оболочки
    для доступа к командной строке UNIX

    Вы можете использовать команды UNIX из меню sysadmsh пу-
тем ввода эскейп-символа оболочки -  восклицательного  знака
(!). Меню замещается под-меню, которое выводит строку текста
и приглашение к вводу команды. После ее ввода нажмите ввод и
команда будет выполнена оболочкой.  После выполнения команды
ее вывод показан на экране и вы будете приглашены для  нажа-
тия любой клавиши для возврата в оболочку.
    --------------------------------------------------------
    Примечание: Командная  строк  UNIX  может  быть доступна
только из меню оболочки.  Она не может быть выбрана,  напри-
мер, из формы или списка point-and-pick.

                       - 2-22 -

    Переменные среды sysadmsh

    sysadmsh теперь использует следующие  переменные  среды,
которые можно  определить  в  файлах  пользователя  .login и
.profile:

 SA_EDITOR             если не установлена, то редактор по
                       умолчанию  - Lirix, если он установ-
                       лен или vi(C), если Lirix не доступен.
 SA_MAIL               если не установлена, то почтальон по
                       умолчанию - SCO Portfolio email, если
                       он установлен или UNIX mail(C), если
                       нет.
 SA_PRINT              если не установлена, то по умолчанию
                       принтер - /dev/lp.

                       - 2-23 -

    Команды UNIX и эквиваленты sysadmsh

    Следующая таблица показывает команды UNIX,  которые вып-
роняют разные  опции  меню sysadmsh.  Для получения дополни-
тельной информации  о  конкретной  команде  смотри  страницы
пособия. Секция  ссылок  содержит страницы пособий по каждой
команде в скобках после имени команды.  Секции ссылок С, М и
F находятся   в   User's  Reference;  секция  ADM  -  System
Administrator's Reference.
 ___________________________________________________________
 опция sysadmsh               команда UNIX
 ___________________________________________________________

 System ->
    Report ->
      Activity                   ps(C)
      Users                      who(C)-H
      Printers                   lpstat(C)
      Disk                       df(C) -v -i
      Network ->
           Xnet                  xnstatus
           Micnet                netutil(ADM)
           UUCP                  uustat(C)
      Messages
      Software                   custom(ADM)
    Cofigure ->
      Security ->
           Relax                 для этой функции нет экви-
                                 валента.
      Kernel ->
           Parameters            configure(ADM)
           Rebuild               link_unix(ADM)
           DOS                   mkdev(ADM)dos
           Streams               mkdev(ADM)streams
           Layers                mkdev(ADM)shl
      Logout                     idleout(ADM)
      Defaults ->
           Message               edit motd
           Checklist             edit/etc/checklist
           Other               edit any file in /etc/default

                       - 2-24 -

      International ->
           System                edit /etc/default/lang
           Individual            edit .profile или .login
           Display               mapchan(F)
           Keyboard           modifies /usr/lib/keyboard/keys
      Network ->
           UUCP                  uuinstall(ADM)
      Time                       asktime(ADM)
    Hardware ->
           HardDisk              mkdev(ADM)hd
           Tape                  mkdev(ADM)tape
           Printer             также как Printers->Configure
           SerialCard            mkdev(ADM)serial
           Mouse                 mkdev(ADM)mouse
    Software                     custom(ADM)
    Audit ->                   для этой функции нет эквивалента
           Enable
           Disable
           Collection ->
               Directories ->
                   List
                   Create
                   Delete
                   Add
                   Remove
               Events ->
                   View
                   Modifiy
               IDS ->
                   View
                   Modify
               Parameters ->
                   View
                   Modify
               Reset
               Statistics
          Report ->
               List
               View
               Create
               Modify
               Delete
               Generate

                       - 2-25 -

          Files ->
               List
               Backup
               Delete
               Restore
          Execute          запуск script в /usr/lib/sysadm/local
          Teminate               shutdown(ADM)
    Backups ->
        Create ->
           Sheduled              fsphoto(ADM)
           Unsheduled            cpio(C) или xbackup(ADM)
        Restore ->
           Partial               cpio(C) или xrestore(ADM)
           Full                  cpio(C) или xrestore(ADM)
           User/Groups
           Terminals
        Shedule              edit файла /usr/lib/sysadmin/shedule
        Contents                 cpio(C) или xrestore(ADM)
        Integrity                fsphoto(ADM)
    Accounts ->
        User ->
        Examine:
           Audit
           Expiration
           Identity
           Logins
           Password
           Authorizations
        Create
        Retire ->
        System ->
           Password
           Logins
           Priveleges
        Terminal ->
           Examine
           Create
           Delete
           Lock
           Unlock
           Assign ->

                       - 2-26 -

             Examine
             Create
             Delete
        Report ->
           Password ->
             Impending
             Expired
             User
             Group
             Full
           Terminal
           Login ->
             User
             Group
             Terminal
    Printers ->
        Configure ->             lpadmin(ADM)
           Add
           Modify
           Remove
           Default
           Parameters
           Errors
           Content
           Network
           Users                 lpusers(ADM)
        Shedule ->
           Begin                 lpshed(ADM)
           Stop                  lpshut(ADM)
           Accept                accept(ADM)
           Reject                reject(ADM)
           Enable                enable(C)
           Disable               disable(C)
        Request ->
           Move                  lpmove(ADM)
           Cancel                cancel(C)
        Auxiliary ->
           Alert                 lpadmin(ADM)
           Filter ->             lpfilter(ADM)
             Change/Add
             Remove
             List
             Original

                       - 2-27 -

        PPforms ->               lpforms(ADM)
           Configure
           Modify
           Remove
           List
           Users
           Alerts ->
             Specify
             List
             Terminate
             Remove
       Priorities ->             lpusers(ADM)
           Default
           Highest
           Remove
           List
    Media ->
       List                      tar(C) -t
       Extract                   tar(C) -x
       Archive                   tar(C) -c
       Format                   format(C) или dos(C):dosformat
       Duplicate *               подобно diskcp(C)
       Tapedump                  tapedump(C)
    Jobs ->
       Report                    ps(C)
       Terminate                 kill(C)
       Authorize
           Sxheduled
           Delayed
           Environment
    Dirs/Files ->
       List                      ls(C) -CF
       View                      cat(C)
       Copy                      copy(C)
       Edit                      edit (SCO Lyrix,vi(C),ed(C)
                                 или определяется через пере-
                                 менную среды)

                       - 2-28 -

       Modify ->
           Permissions           chmod(C)
           Ownership             chown(C)
           Group                 chgrp(C)
           Name                  mv(C)
           Size                  compress(C)
           Format                translate(C)
       Print                     lp(C) (определяется через
                                 переменную среды)
       Archive                   tar(C) -c
       Differences               dircmp(C) или diff(C)
       Remove                    rem(C) -rf
       UseDOS ->
           List                  dos(C):dosdir или dosls
           Remove                dos(C):dosrmdir или dosrm
           Makedir               dos(C):dosmkdir
           Copy                  dos(C):doscp
           View                  dos(C):doscat
           Format                dos(C):dosformat

           Check                 fsck(ADM)
           Mount                 mount(ADM)
           Unmount               umount(ADM)
           Add                   mkdev(ADM)fs
           DOS                   (также как в System->Confi-
                                 gure->Kernel->DOS)
    Quit ->
           Yes
           No

    * вызывает  функцию sysadmsh,  подобную по имени команде
UNIX.

                       - 3 - - 3-1 -

           Глава 3

    Запуск и останов системы
    ________________________________________________________

    Введение                                             3-1
    Запуск системы                                       3-2
           Загрузка операционной системы                 3-2
           Очистка файловой системы                      3-3
           Выбор режима операций системы                 3-3
    Вход как суперпользователь                           3-5
    Останов системы                                      3-6
           Использование команды shutdown                3-6
           Использование команды haltsys                 3-7
    Разъяснение информации загрузки                      3-8
    Приспособление процесса загрузки                     3-9
           Изменение файла /etc/default/boot             3-9
           Автоматическая загрузка                       3-10
    Приспособление запуска системы                       3-11
           Изменение файла /etc/inittab                  3-11
           Изменение записей /etc/rc2                    3-12
           Изменение файлов .profile и .login            3-14
           Изменение файла /etc/motd                     3-15

    Введение
    ____________________________________________________

    В этой главе показано как стартовать и останавливать ва-
шу систему.  Показано также как входить в систему как супер-
пользователь (root),  как изменять процедуры старта/загрузки
системы, как использовать информацию,  выведенную  во  время
загрузки.

                       - 3-2 -

    Запуск системы

    Запуск системы  UNIX  требует больше чем просто включить
умпьютер. Вы должны выполнить несколько шагов для  инициали-
зации системы для работы. Старт системы требует:

    *  загрузки операционной системы
    *  очистки файловой системы (если система была неправи-
       льно остановлена)
    *  выбор режима работы системы

    Следующие разделы описывают каждую из этих процедур.

    Загрузка операционной системы

    Первый шаг при старте системы  -  загрузка  операционной
системы с твердого диска компьютера. Выполните следующие ша-
ги:
    1. Включите  питание  на  компьютере  и  твердом  диске.
       Компьютер загрузит программу раскрутки загрузки и вы-
       ведет на экран следующее сообщение:
    ______________________________________________________

     Boot
     :

    2. Нажмите клавишу ввода - . Программа раскру-
       тки загрузки загрузит операционную систему.

    Когда система загружена,  она выводит информацию о  себе
самой и  проверяет  правильность  корневой  файловой системы
(root filesystem),  то есть всех файлов  и  каталогов.  Если
файловая система не нарушена, то она называется чистой. Если
она чистая,  то вы можете выбрать режим  операций.  Если  же
найдены какие-то  несообразности,  то файловую систему нужно
почистить.

                       - 3-3 -

    Очистка файловой системы

    Очистка файловой системы нужна при появлении  следующего
сообщения:
    ______________________________________________________
      Proceed with cleaning (y or n)?
      (продолжить с очисткой (да или нет)?)

    Это сообщение  выводится только если файловая система не
была правильно остановлена,  то есть так как показано в раз-
деле Останов  системы.  Операционная  система требует чистой
файловой системы для обеспечения правильной работы. Если вы-
шеприведенное сообщение  не  появляется,  то  ваша  файловая
система чиста и готова к работе.
    Для очистки  файловой системы введите y (для слова yes -
да) и нажмите клавишу ввода.  Утилита fsck(ADM) очистит фай-
ловую систему,  восстановит  поврежденные  файлы  или удалит
файлы, которые нельзя восстановить. Она сообщит о выполнении
каждого шага. В этой точке вас могут спросить - хотите ли вы
восстановить файл. Здесь всегда нужно ответить y или n и на-
жать ввод.   Для   объяснения   работы  fsck  смотри  раздел
Целостность файловой системы в главе Использование  файловых
систем в данном пособии.
    Когда очистка завершится,  система попросит вас  выбрать
режим работы.

     Выбор режима операций системы

    Вы можете выбрать режим работы как только увидите следу-
ющее сообщение:
    ______________________________________________________
      Type CONTROL-D to continue with normal startup,
      (or give the root password for system maintenance):
      (введите CONTROL-d для продолжения нормального стар-
      та (или введите пароль корня для поддержки системы)

                       - 3-3a -

    Система имеет два режима работы: нормальное функциониро-
вание и поддержка системы. Нормальное функционирование пред-
назначено для повседневной работы. когда пользователи входят
в систему и работают.  Поддержка системы зарезервирована для
выполнения системным администратором. Она не разрешает рабо-
ту многим пользователям.
    Для выбора нормального функционирования нажмите  d.
Система выведет сообщение о старте и выполнит команды, обна-
руженные в записи /etc/rc2, описанной позднее в этой главе.
Далее система  выводит  приглашение login:.  Вы можете затем
войти как нормальный пользователь, как показано в главе Вход
в систему  в  книге Tutorial или как суперпользователь,  как
показано в следующем разделе.

                       - 3-4 -

    Для выбора режима поддержки системы введите пароль  (на-
зывающийся root password) и нажмите ввод. Система выводит на
экран сообщение дня и приглашение  (#).  Команды  в  записях
/etc/rc2 не  выполняются.  Выбирайте режим поддержки системы
только если нужно провести восстановительные работы в систе-
ме, при  этом другие пользователи не должны работать.  После
выхода из системы в этом режиме при  помощи  d  система
автоматически войдет в нормальный режим.
    Для выхода  из  нормального  режима  в  режим  поддержки
системы войдите  как  root  и  выдайте следующую команду для
закрытия системы, перезагрузки и входа в режим поддержки:

    /etc/shutdown  -g2  su

    * пользователь  sysadmsh  выберет: System -> Terminate
    Аргумент здесь - число минут до закрытия системы.

                       - 3-5 -

     Вход как суперпользователь

        Большинство задач  поддержки системы при их выполне-
нии во время обычной работы требуют вашего входа как  супер-
пользователя. Например, для ее останова.
     Для входа как суперпользователь нужно знать его пароль.
Нужно увидеть приглашение login: на экране вашего терминала.
Если вы не увидите это сообщение,  нажимайте d  до  тех
пор, пока оно не появится.
     Для входа как суперпользователь введите:

     1. на сообщение login: введите имя входа суперпользова-
        теля:

           root

        теперь нажмите ввод. Система пригласит вас ввести па-
        роль суперпользователя.

     2. Введите пароль суперпользователя и нажмите клавишу
        ввод. Система не выведет пароль на экран, так что не
        ошибитесь.

     Система откроет бюджет суперпользователя и  выведет  на
экран сообщения дня и приглашение суперпользователя (#).
     Примите меры предосторожности при входе как  суперполь-
зователь. В  частности  осторожно удаляйте или модифицируйте
файлы. Это важно,  поскольку суперпользователь имеет неогра-
ниченный доступ ко всем файлам; он может удалить или модифи-
цировать файлы,  жизненно важные для системы. Избегайте при-
менять общие символы для работы (символы,  определяющие весь
набор файлов) и сохраняйте свой текущий каталог.
     В любое  время  можно выйти из режима суперпользователя
при помощи нажатия d.

                       - 3-6 -

    Останов системы

    Останов системы UNIX требует не просто выключения компь-
ютера. Вам  нужно  приготовить систему к останову при помощи
команд shutdown или haltsys. Следующие секции описывают каж-
дую команду.

      Использование команды shutdown

    Команда shutdown  выполняет нормальный останов системы и
может использоваться в нормальном режиме работы. Она предуп-
реждает других пользователей,  что система должна быть оста-
новлена и дает им время на завершение работы.

    1. Войдите как суперпользователь. Смотри раздел Вход как
       суперпользователь в данной главе. Система откроет его
       бюджет и выведет сообщения дня и приглашение супер-
       пользователя.
    2. Введите:
                 /etc/shutdown

       * пользователи  sysadmsh выберут: System -> Terminate

    Теперь нажмите клавишу ввода. Система выведет предупреж-
дающее сообщение на каждом терминале, прося всех пользовате-
лей закончить свою работу и выйти из системы. Как только все
пользователи выйдут или закончится выделенное время, система
закроет все бюджеты и выведет на экран следующее сообщение:
    ______________________________________________________
      ** Safe to Power off **
              - or -
      ** Press Any Key to Reboot **
     (можно выключить питание
              - или -
      нажмите любую клавишу для перезагрузки)

    3. Выключите компьютер или нажмите любую клавишу для пе-
      резагрузки системы.

    Вы можете  изменить  режим  на одно-пользовательский без
полного закрытия системы придав аргумент su команде shutdown:

       /etc/shutdown  -g15  su

                       - 3-7 -

    Первый аргумент  означает число минут до останова много-
пользовательского режима.

     Использование команды haltsys

    Команда haltsys останавливает  систему  немедленно.  Эту
команду должна  использовать  только  в однопользовательском
режиме. Если при выдаче команды haltsys в системе  есть  еще
пользователи, то их работа будет потеряна.
    Для останова системы при помощи haltsys выполните следу-
ющие шаги:
    1. Войдите как суперпользователь. Смотри раздел Вход как
       суперпользователь в данной главе. Система откроет его
       бюджет и выведет сообщения дня и приглашение супер-
       пользователя.
    2. Введите:

           /etc/haltsys

    Теперь нажмите клавишу ввода.  Система выведет следующее
сообщение:
    ______________________________________________________

      ** Safe to Power off **
              - or -
      ** Press Any Key to Reboot **
     (можно выключить питание
              - или -
      нажмите любую клавишу для перезагрузки)

    3. Выключите компьютер или нажмите любую клавишу для пе-
      резагрузки системы.

                       - 3-8 -

      Разъяснение информации загрузки

    Во время  загрузки всегда выводится на экран таблица ин-
формации о аппаратуре сразу после информации copyright.  Эта
таблица представляет  вашу  аппаратную  конфигурацию как она
воспринимается операционной системой. Здесь представлена ан-
нотированная версия  экрана  загрузки  в примере.  Следующая
таблица представляет этот пример:

    device address    vector dma comment
   _______________________________________________________
   fpu     -             35    -  type=80387
   floppy  0x3F2-0x3F7   06    2  unit=0 type=96ds15
   serial  0x2F8-0x2FF   03    -  unit=1 type=Standart nports=1
  parallel 0x378-0x37A   07    -  unit=0
  console  -             -     -  unit=ega type=0
  disk     0x1F0-0x1F7   -     -  type=W0 unit=0 cyls=791
                                  hds=16 secs=48

    Эти названия объясняет следующая таблица:

    device,address     названия аппаратных средств, адресов в
    vector, dma,       шестнадцатиричном виде, вектор преры-
    comment            вания, канал прямого доступа к памяти
                       и другие детали.
    fpu                устройство с плавающей точкой присут-
                       ствует, это 80387.
    floppy             драйвер флоппи-диска высокой плотности
    serial             это COM1, имеющий один порт (мульти-
                       плата не установлена)
    parallel           это ваш параллельный порт
    console            консоль имеет видеоадаптер EGA совмес-
                       тимый с EGA IBM.
    disk               контроллер Western Digital st506 номер
                       0 (W0), твердый диск 0 (unit 0), а так-
                       же число цилиндров,  головок и секторов.

    Утилита hvconfig(C) используется для вывода на экран или
доступа к  этой информации в любое время путем использования
информации о конфигурации, хранящейся в файле /usr/adm/hwconfig.
Обратитесь к странице пособия hwconfig(C) в User's Reference.

                       - 3-9 -

    Приспособление процесса загрузки

    Каждый раз как производится запуск  компьютера,  система
запускает программу  boot.  Несмотря на разные инструкции по
приглашению boot,  эта программа загружает программу ядра по
умолчанию используя значения конфигурации,  заданные в файле
/etc/default/boot на корневой файловой системе по умолчанию.
Вы можете отредактировать этот файл и изменить условия буду-
щих загрузок.  Вы можете установить также некоторые опции  в
данном файле для автоматической загрузки системы.

      Изменение файла /etc/default/boot

    Страницы пособия  boot(HW)  показывают опции загрузки по
умолчанию, которые вы можете изменить  путем  редактирования
файла /etc/default/boot.
    Для изменения программы, загружаемой по умолчанию, когда
вы входите  в  систему только с нажатием  в ответ на
приглашение загрузки модифицируйте набор строк  загрузки  по
умолчанию при    помощи    опции    DEFBOOTSTR    в    файле
/etc/default/boot. Например,  следующая  установка  в  файле
/etc/default/boot вызывает  программу boot для загрузки ядра
из твердого диска по умолчанию.

       DEFBOOTSTR=hd(40)unix

    Первые две буквы аргумента  определяют  устройство  (для
твердого диска - hd, для флоппи - fd). Число в скобках - это
младший адрес устройства (40 для корневой  файловой  системы
на твердом диске). За скобками имя программы для загрузки.
    Пособие Release Notes описывает некоторые ключевые  сло-
ва, которые вы можете ввести в командную строку загрузки для
взаимодействия с разными ситуациями в аппаратуре.  вы можете
также добавить  эти ключевые слова в конец набора строк заг-
рузки по умолчанию  при  помощи  DEFBOOTSTR.  Например,  для
использования платы  Intel Inboard в высокоскоростном режиме
автоматически каждый раз после загрузки,  добавьте  ключевое
слово inboard:

    DEFBOOTSTR=hd(40) unix inboard

                       - 3-10 -

      Автоматическая загрузка

    Установки AUTOBOOT,   TIMEOUT   и   PANICBOOT   в  файле
/etc/default/boot приводят к автоматической загрузке.
    Если AUTOBOOT=NO, программа boot будет ждать на ответ на
приглашение загрузки.  Вы можете установить  AUTOBOOT=YES  и
система будет  загружаться  автоматически  если  в  ответ на
приглашение загрузки в течение некоторого времени ответа  не
будет. Это  время  по  умолчанию  - 60 секунд,  но вы можете
установить его в опции TIMEOUT. По завершению этого интерва-
ла времени загрузка пойдет так,  как будто вы нажали клавишу
.
    Вы можете  установить  опцию  PANICBOOT в YES или NO для
задания перезагрузки системы после условия panic().
    Для получения  более  подробной  информации обратитесь к
разделу пособия autoboot(ADM).

                       - 3-11 -

      Приспособление запуска системы

    Когда ваша  система  включена  и  загружена,   некоторые
аспекты работы  системы  начинают инициализироваться включая
монтирование файловой системы. Вы можете адаптировать иници-
ализацию системы   путем  модификации  файлов  инициализации
системы.
    Эти файлы содержат команд и/или данные,  которые система
читает при ее старте , изменении состояний инициализации или
когда пользователь входит в систему.  Файлы обычно монтируют
файловую систему, запускают программы и устанавливает домаш-
ний каталог и тип терминала. Файлы инициализации, рассматри-
ваемые здесь,   это   /etc/inittab,   /etc/rc2,    .profile,
/etc/motd.
    Администратор системы может модифицировать файлы инициа-
лизации для создания любой нужной среды. Файлы эти - обычные
текстовые файлы и они могут редактироваться при помощи любо-
го текстового редактора такого как vi(C).  Отметим,  однако,
что записи в файле /etc/inittab должны соответствовать  спе-
циальному формату,  описанному в пособии по inittab(F). (Для
получения дополнительной информации о  состояниях  инициации
обратитесь к  секции  init(M)  в  User's  Reference.) Записи
/etc/rc2 и файл .profile содержат команды  и  комментарии  в
формате командного файла, описанные в главе Оболочка в книге
User's Guide.

      Изменение файла /etc/inittab

    Когда система изменила состояния инициализации,  init(M)
читает файл inittab для получения инструкций,  которые нужно
использовать к новому состоянию.  Этот файл  создан  из  за-
писей, которые содержат следующие 4 поля,  разделенные двое-
точиями:
    *  уникальный идентификационный номер,
    *  состояние инициализации для каждой верной записи,
    *  ключевое слово, сообщающее init как трактовать
       процесс и
    *  процесс для выполнения init при входе в заданное
       состояние.

                       - 3-12 -

    Например, следующая строка в inittab сообщает init, что-
бы она выполнила запись /etc/rc2 при входе в  многопользова-
тельский режим, который является состоянием 2 инициализации.

    r2:23:wait:/etc/rc2 1> /dev/console 2>&1 Mount

     umount /dev/u

@ Пользователи sysadmsh выбирают Filesystems->Unmount

     Команду mount  может  применять  только супер-пользователь.
Администратор системы может разрешить пользователям  монтировать
конкретные файловые  системы (защищенные паролем или не защищен-
ные) с помощью команды mnt(C). (Подробнее см. раздел "Разрешение
пользователям монтировать файловые системы" в главе "Обеспечение
безопасности системы" настоящего руководства.)

     Замечание.
     Если файловая система не смонтирована,  ее файлы не доступ-
ны. Если файлы копируются или создаются  на  месте  монтирования
файловой системы, когда она еще не смонтирована, внешне они ока-
жутся в этой файловой системе, хотя на самом деле они ей не при-
надлежат. Когда  файловая система будет смонтирована,  эти файлы
"исчезнут" в случае монтирования на месте их расположения.
.
                            - 4-4 -

     ТИПЫ ФАЙЛОВЫХ СИСТЕМ

     Система может быть настроена на работу с четырьмя различны-
ми типами файловых систем:
     * XENIX
     * UNIX
     * DOS
     * AFS (Acer Fast Filesystem)
     Внутренние структуры  файловых  систем UNIX и XENIX немного
различаются, но это не приводит к  серьезным  последствиям.   По
умолчанию принимается  быстрая  файловая  система типа AFS (Acer
Fast Filesystem),  которая работает  значительно  быстрее  и  не
доступна в других системах UNIX.  В каждой из этих файловых сис-
тем размер блока принимается равным 1К. Файловые системы DOS об-
суждаются в  главе  "Использование  DOS и OS/2" настоящего руко-
водства.

     Преобразование файловых систем UNIX в AFS

     Файловую систему UNIX можно в любое время  преобразовать  в
файловую систему AFS. Для этого используется опция Ъ2-Cclustersize
команды fsck(ADM),  которая обычно применяется  для  проверки  и
восстановления файловых систем. Опция -C изменяет размер класте-
ра, чтобы заменить формат файловой системы на формат AFS.  Аргу-
мент clustersize должен быть степенью числа 2 и меньше 16 (реко-
мендуется значение 8).
     Реальные преимущества  файловой системы AFS наглядно прояв-
ляются при использовании новой файловой системы. Будет очевидным
увеличение скорости работы преобразованной файловой системы AFS;
оно проявится только при добавлении новых файлов к файловой сис-
теме. Преобразование файловой системы,  которая почти заполнена,
не влечет никаких или почти никаких выгод; если до заполнения не
хватает нескольких блоков,  преобразование просто не выполнится.
(Полное описание команды fsck см.  в разделе "Целостность файло-
вой системы".)

     Замечание
     Перед выполнением команды fsck следует демонтировать файло-
вую систему.

                            - 4-5 -

     Формат команды:

        Ъ2fsck -s -Cclustersize device

     Здесь device - имя устройства файловой системы в /dev. Сле-
дует отметить, что должна присутствовать также и опция -s.
.
                            - 4-6 -

     ОБЕСПЕЧЕНИЕ СВОБОДНОГО ПРОСТРАНСТВА В ФАЙЛОВОЙ СИСТЕМЕ

     Сопровождение файловой системы (это одна из важнейших задач
администратора системы)  обеспечивает нормальную работу операци-
онной системы и чистоту файловых систем, а также гарантирует на-
личие достаточного пространства для всех пользователей. Для соп-
ровождения файловых систем администратор системы должен отслежи-
вать свободное  пространство  в каждой файловой системе и выпол-
нять корректирующие действия в случаях,  когда свободного прост-
ранства становится слишком мало.
     В данной главе описываются команды  сопровождения  файловой
системы. Эти команды сообщают,  сколько пространства использует-
ся, определяют редко используемые файлы и удаляют или восстанав-
ливают испорченные файлы.
     Система UNIX работает лучше всего,  когда в каждой файловой
системе имеется  по крайней мере 15% свободного пространства.  В
любой системе объем свободного пространства зависит  от  размера
диска, содержащего  файловую систему,  и от количества файлов на
диске. Поскольку каждый диск имеет  фиксированный  объем  прост-
ранства, важно контролировать число записанных на диске файлов.
     Если в файловой системе меньше 15% свободного пространства,
работа системы обычно замедляется. Если нет доступного свободно-
го пространства,  система прекращает все попытки записи в файло-
вую систему. Это означает прекращение обычной работы пользовате-
ля на компьютере (создание новых файлов и расширение  существую-
щих).
     Единственное спасение для файловой системы, в которой мень-
ше 15%  свободного  пространства,  состоит в удалении одного или
нескольких файлов из файловой системы. В следующих разделах опи-
сываются стратегии  обеспечения доступного свободного пространс-
тва.

     Стратегии обеспечения свободного пространства

     Администратор системы должен регулярно проверять количество
свободного пространства во всех смонтированных файловых системах
и напоминать пользователям о том,  что не  следует  оставлять  в
своих каталогах  неиспользуемые  файлы.  Такое напоминание можно
включить в файл сообщения текущего дня /etc/motd.
     Кроме того,   система  выполняет команду cleantmp(ADM)  для
очистки каталога    /tmp.     Можно     отредактировать     файл
/etc/default/cleantmp, чтобы определить,  как часто следует очи-
щать от файлов ключевые каталоги (по умолчанию /tmp). Подробнос-
ти см. в странице руководства, касающейся cleantmp(ADM).
.
                            - 4-7 -

     Если доля свободного пространства опускается ниже 15%,  ад-
министратор системы должен сделать следующее:
     1) послать пользователям общесистемное сообщение с просьбой
удалить неиспользуемые файлы;
     2) выявить чрезмерно большие каталоги и файлы и передать по
почте их владельцам просьбу удалить ненужные файлы;
     3) отыскать и удалить временные файлы и файлы с именем core;
     4) очистить содержимое файлов системного журнала;
     5) уменьшить фрагментацию диска:  сделать полную копию фай-
ловой системы, удалить все файлы и затем снова восстановить их с
резервной копии;
     6) если системе хронически не хватает свободного пространс-
тва, возможно  понадобится создать и смонтировать дополнительную
файловую систему.
     Эти действия подробно описаны в последующих разделах.

     Вывод на экран величины свободного пространства

     С помощью команды df ("disk free" - "свободный диск") можно
узнать, сколько свободного  пространства  имеется  в  конкретной
файловой системе.  Эта команда выводит на экран количество "бло-
ков", доступных в данной файловой системе.  Блок состоит из  512
символов (или байтов) данных.
     Формат команды df:

        Ъ2df specialfile

@ Пользователи sysadmsh выбирают System->Report->Disk

     В качестве  specialfile можно задать имя специального файла
UNIX, который соответствует дисководу, содержащему файловую сис-
тему. Если  имя  специального  файла не задано,  то будет выдано
свободное пространство всех  нормально  смонтированных  файловых
систем.
     Например, чтобы вывести информацию о свободном пространстве
корневой файловой системы /dev/root, следует ввести

     df /dev/root

и нажать клавишу . На экран выйдет имя специального фай-
ла и количество свободных блоков. Можно узнать процентное содер-
жание свободного  пространства  по  отношению  к  полному объему
пространства в системе с помощью команды

     df -v

.
                            - 4-8 -

     Общесистемное сообщение

     Если свободного пространства мало,  можно послать  общесис-
темное сообщение  всем пользователям системы,  используя команду
wall ("write to all" - "писать всем").  Эта команда копирует со-
общения, которые   вы вводите со своего терминала,  на терминалы
всех пользователей, зарегистрированных в данный момент.
     Чтобы послать сообщение, нужно ввести

     wall

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

     Вывод на экран информации об использовании диска

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

         Ъ2du directory

     Необязательный параметр directory может быть именем катало-
га в смонтированной файловой системе. Если имя каталога не зада-
но, на экран выйдет число блоков в текущем каталоге.
     Например, чтобы  вывести количество блоков,  используемых в
каталоге /usr/johnd, введите

     du /usr/johnd

и нажмите .  На экране появятся имена всех файлов и под-
каталогов каталога /usr/johnd, а также число используемых блоков.
.
                            - 4-9 -

     Вывод на экран блоков по владельцам

     С помощью команды quot ("quota" - "доля")  можно вывести на
экран список пользователей и количество принадлежащих каждому из
них блоков. Формат команды:

     quot specialfile

     В качестве specialfile нужно задать имя специального файла,
который соответствует дисководу, содержащему файловую систему.
     Например, чтобы  вывести  список владельцев файлов файловой
системы, находящейся на жестком диске /dev/hdl, введите

     quot /dev/hdl

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

     Передача пользователю сообщения по почте

     Если у  какого-либо  пользователя  обнаруживаются   слишком
большие каталоги или файлы, ему можно послать персональное сооб-
щение с помощью команды mail.
     Чтобы начать посылку сообщения по почте, введите

        Ъ2mail login-name

и нажмите . В качестве login-name должно быть задано ре-
гистрационное имя получателя.  Чтобы послать сообщение,  введите
его, нажмите    и  затем нажмите d.  Если сообщение
состоит более чем из одной строки,  в конце каждой строки  нажи-
майте . Команда mail скопирует сообщение в почтовый ящик
пользователя, где пользователь может его  посмотреть  с  помощью
команды mail. Подробности см. в документе "Руководство пользова-
теля" (User's Guide).

     Поиск файлов

     С помощью команды find можно найти  все  файлы  с  заданным
именем, размером, датой создания, владельцем и/или датой послед-
него доступа. Эта команда полезна для выявления редко используе-
мых и слишком больших файлов.
     Формат команды find:

     find directory parameters

.
                            - 4-10 -

     В качестве directory нужно задать имя первого просматривае-
мого каталога. (Команда find также просматривает все подкаталоги
этого каталога.)  Параметрами (parameters)  являются специальные
имена и  значения,  которые предписывают команде,  что нужно ис-
кать. Все подробности см.  в описании find(C) в документе "Спра-
вочник пользователя" (User's Reference).  Наиболее часто исполь-
зуются следующие параметры:

        Ъ2-name file
        Ъ2-atime number
     -print

     Параметр -name заставляет  команду  искать  указанный  файл
file. Параметр  -atime  задает  поиск файлов,  к которым не было
доступа в течение заданного количества дней. Параметр -print за-
дает вывод на экран местоположения всех обнаруживаемых файлов.
     Например, чтобы найти все файлы с именем  temp  в  каталоге
/usr, введите

     find /usr -name temp -print

и нажмите .  На экран будут выведены местоположения всех
файлов, найденных командой.

     Поиск файлов core и временных файлов

     С помощью команды find можно отыскивать файлы core  и  вре-
менные файлы.
     Файл core содержит копию прекращенной  программы.   Система
UNIX иногда создает такой файл, если программа привела к ошибке,
которую не в состоянии исправить.  Временный файл содержит  дан-
ные, созданные в качестве промежуточного этапа в процессе выпол-
нения программы. Этим файлом можно воспользоваться, если в прог-
рамме оказалась  ошибка  или она была преждевременно остановлена
пользователем. Имя временного файла  зависит  от  создавшей  его
программы.
     В большинстве случаев пользователю не нужны ни файлы  core,
ни временные файлы, и их можно спокойно удалять.
     Для отыскания файлов core или временных файлов можно задать
поиск файлов, к которым за некоторый период времени не было дос-
тупа. Например,  для поиска всех файлов core в каталоге /usr,  к
которым не было доступа в течение недели, введите

     find /usr -name core -atime +7 -print

и нажмите .
.
                            - 4-11 -

     Очистка журнальных файлов

     В системе  UNIX предусмотрено несколько файлов,  называемых
журнальными, которые содержат информацию об использовании систе-
мы. Когда  генерируется новая информация,  система автоматически
присоединяет ее в конец соответствующего файла,  сохраняя преды-
дущее содержимое  файла.   Это значит,  что размер каждого файла
растет по мере добавления новой информации. Поскольку журнальные
файлы могут быстро стать довольно большими,  необходимо периоди-
чески очищать их, удаляя их содержимое.
     Для очистки журнального файла введите

        Ъ2cat < /dev/null > filename

где filename  -  полное имя пути для журнального файла,  который
нужно очистить.  Обычно в журнальный файл поступает  информация,
используемая одной   и только одной программой,  поэтому его имя
обычно отсылает к этой программе.  Аналогично формат файла зави-
сит от использующей его программы.
     В некоторых случаях очистка файла влияет на последующий вы-
вод соответствующей   программы.    Например,    очистка   файла
/etc/ddate приведет к тому, что следующее дублирование будет пе-
риодическим дублированием.

     Удаление и восстановление файловой системы

     Если ваша система была некоторое время в работе, постоянное
создание и удаление файлов приводит к ситуации, называемой фраг-
ментацией диска.  Это означает, что файлы файловой системы запи-
сываются на жесткий диск маленькими частями.  Когда файл пишется
на более  чем  одну  часть  диска,  используется небольшой объем
пространства диска.  Можно  восстановить  пространство  файловой
системы (обычно от 5 до 10 процентов), если, предварительно сде-
лав полную копию всех файлов файловой системы, удалить все файлы
с жесткого диска и затем восстановить их с резервной копии. Что-
бы сделать полную резервную копию системных файлов,   прочитайте
главу "Дублирование файловых систем" настоящего руководства, где
приводятся инструкции по дублированию и восстановлению  файловых
систем. (Фрагментация  диска  - это проблема производительности;
подробнее см.  главу "Настройка производительности системы" нас-
тоящего руководства.)
.
                            - 4-12 -

     Так как  файлы целиком переписываются на диск,  каждый файл
записывается одним куском,  и фрагментация  уменьшается.   Будет
восстановлен небольшой  объем пространства.  Было бы неплохо вы-
полнять эту процедуру примерно раз в год для интенсивно  исполь-
зуемых систем,  и  немного реже - для умеренно используемых сис-
тем. Перед началом этих работ убедитесь в наличии полной, точной
и читаемой копии, чтобы не потерять файлы.

     Расширение файловой системы

     Если свободного  пространства  хронически мало,  может ока-
заться полезным расширить объем памяти системы,  включив  второй
жесткий диск,   как  описано выше в данной главе.  Как только он
смонтирован, можно использовать эту новую файловую  систему  для
работы, или даже копировать в нее пользовательские или системные
каталоги.
     Хроническая нехватка  пространства  обычно  вызывается тем,
что в системе больше пользователей,  чем текущий жесткий диск  в
состоянии нормально  обработать,   или что имеется слишком много
каталогов или файлов.  В обоих случаях создание  новой  файловой
системы позволяет  перевести  некоторых  пользователей  или  ка-
кие-либо каталоги с жесткого диска,  освобождая значительное ко-
личество пространства  существующей  файловой  системы и улучшая
функционирование системы.
.
                            - 4-13 -

     ФАЙЛОВЫЕ СИСТЕМЫ И БОЛЬШИЕ КАТАЛОГИ

     Рекомендуется избегать использования каталогов,  размер ко-
торых больше,  чем необходимо. Следует знать несколько специаль-
ных размеров.  Каталог,  содержащий строки для не более  чем  30
файлов (плюс обязательные строки .  и ..), вмещается в один блок
на диске,  и его просмотр весьма эффективен. Каталог, содержащий
до 286 строк,  по-прежнему считается небольшим; каталог большего
размера, используемый как рабочий, - это обычно катастрофа. Осо-
бенно важно,  чтобы были небольшими каталоги регистрации,  жела-
тельно не больше блока.  Заметим,  что, как правило, каталоги не
сжимаемы. Очень важно это уяснить, так как если ваш каталог пре-
вышает пороговое значение 30 или 286,  поиск становится неэффек-
тивным; более  того,   если удалить файлы таким образом,  что их
число окажется меньше соответствующего порогового значения, сис-
тема по-прежнему будет неэффективно работать с каталогом.
.
                            - 4-14 -

     ИЗМЕНЕНИЕ/ДОБАВЛЕНИЕ ФАЙЛОВЫХ  СИСТЕМ  НА ПЕРВИЧНОМ ЖЕСТКОМ
ДИСКЕ

     Всегда полезно  заранее  спланировать  компоновку  жесткого
диска, как описано в документе Installation Guide. Если вы реши-
ли изменить число файловых систем на жестком диске,  вам следует
сделать резервную  копию вашей системы и выполнить повторную ус-
тановку, как описано в главе "Повторная установка и  модификация
системы" документа Installation Guide. В процессе установки вос-
пользуйтесь ручным  управлением  компоновки  и  перераспределите
пространство на диске,  как требуется.  Важно понять, что нельзя
использовать резервные копии,  созданные утилитой  xbackup(ADM).
Копиями, создаваемыми  этой  утилитой,   нельзя пользоваться для
восстановления файловых систем,  которые имели  больший  размер,
чем файловые  системы,  в которые вы планируете их восстановить.
Это остается в силе,  даже если резервная файловая система  была
не полна.  Например, если вы сделали копию 20-мегабайтной файло-
вой системы,  заполненной лишь на 50 процентов,  вы  не  сможете
восстановить тома  с  резервной копией в 15-мегабайтную файловую
систему. В  главе,  посвященной повторной установке, поясняется,
что для  дублирования системы следует воспользоваться утилитами,
основанными на cpio(C)  (такими,  как  выбор  Backups->Create  в
sysadmsh).
.
                            - 4-15 -

     ЦЕЛОСТНОСТЬ ФАЙЛОВОЙ СИСТЕМЫ

     Уже упоминалось, что файловая система - это раздел операци-
онной системы. В обязанности операционной системы входит обеспе-
чение целостности данных файловой системы. Действительная потеря
данных - большая редкость; файловые системы UNIX очень устойчивы
к порче  данных.   Это вызвано наличием некоторой избыточности в
специальных структурах,   невидимых  пользователю.   Именно  эти
структуры обеспечивают  целостность файловой системы.  Например,
если при работе системы выходит из строя питание, теряется очень
мало информации. Любое нарушение обычно затрагивает один или два
файла, делая их недоступными. Почти во всех случаях операционная
система может  исправить  любое повреждение файлов.  Очень редко
повреждение делает недоступной всю файловую систему.
     Для исправления  поврежденных  файловых систем операционная
система пользуется программой fsck ("filesystem check"  -  "про-
верка файловой системы").  Эта программа проверяет совместимость
файловой системы. В случаях потери содержимого файла (что бывает
редко) единственный способ восстановить потерянные данные - вос-
пользоваться резервной копией файловой системы.  Программа  fsck
выполняется автоматически  для корневой файловой системы при на-
чальной загрузке.  Сообщения состояния программы fsck имеют сле-
дующий вид:

+--------------------------------------------------------------
|  ** Phase 1 - Check Blocks and Sizes
|                         (Фаза 1 - Проверка блоков и размеров)
|  ** Phase 2 - Pathnames          (Имена путей)
|  ** Phase 3 - Connectivity       (Связность)
|  ** Phase 4 - Reference Counts   (Счетчики обращений)
|  ** Phase 5 - Check Free List    (Проверка свободного списка)
|
     Если система  прекращена аварийно (выход из строя питания),
появятся другие сообщения, на первый взгляд тревожные:

        FREE INODE COUNT WRONG IN SUPERBLK (FIX?)
               (Ошибка в  счетчике свободных индексных дескрипто-
                ров файлов  в суперблоке - исправить?)

На самом деле сообщения такого рода являются обычными в  случае,
если система  не  была остановлена нормально; здесь следует лишь
ввести y,  и fsck продолжит работу. Это можно сделать без вмеша-
тельства администратора системы,  но,  как правило, лучше все же
знать, что происходит  с  файловой  системой  при  возникновении
проблемы.
     В целях рассмотрения понятия целостности системы и  принци-
пов функционирования  fsck следует описать структуру,  лежащую в
основе простого понятия файлов, каталогов и файловых систем. Хо-
тя вникать  в  принципы файловой памяти не обязательно,  полезно
знать, к чему относятся сообщения,  подобные приведенному  выше;
после этого они не будут выглядеть столь загадочно. После изуче-
.
                            - 4-16 -

ния данного раздела вам станут понятны некоторые основные  прин-
ципы операционных систем UNIX.  В разделе "Восстановление файло-
вой системы с помощью fsck" описана простая механика использова-
ния команды  fsck.   Последующие  подразделы описывают структуры
файловой системы, с которыми работает fsck.

     Файлы в системах UNIX

     Каждая файловая  система  содержит  специальные  структуры,
позволяющие операционной системе осуществлять доступ и сопровож-
дать файлы и данные,  хранящиеся в файловой системе. Нас интере-
сует разрушение и восстановление именно этих структур.
     Структура файловой системы базируется на принципе  хранения
данных на жестких дисках.  Хотя жесткий диск и содержит все дан-
ные, используемые системой, они отнюдь не хранятся там маленьки-
ми аккуратными островками, соответствующими отдельным файлам. Вы
вряд ли  сможете,   указав какое-либо место на жестком диске,  с
уверенностью сказать: "Мой файл записан именно в этой части дис-
ка". На  самом  деле данные,  скорее всего,  будут разбросаны по
диску, и операционная система использует сложную  схему  адреса-
ции, чтобы иметь доступ к каждому из фрагментов, на которые раз-
бивается файл, и представить их всех пользователю как единое це-
лое.
     Разброс данных связан с тем,  что операционная  система  на
самом деле работает не с файлами,  а с элементами данных.  Чтобы
понять, что это означает, предположим, что файл создан и записан
в одну  область на диске.  Теперь допустим,  что вы редактируете
этот файл и удаляете из  него  несколько  предложений  вразброс.
Значит, вы  теперь  используете  немного  меньше пространства на
диске, чем вначале. Это пространство имеет ряд разрывов в облас-
ти, которую занимал файл. Пространство на диске ценится дорого и
не тратится зря. Эти освободившиеся маленькие участки памяти вы-
деляются другим файлам. Представьте себе этот процесс с участием
сотен файлов и дюжины пользователей,  и вам станет яснее принцип
сопровождения файлов.   Благодаря эффективности алгоритмов (фор-
мул), используемых операционной системой,  этот процесс является
очень эффективным и надежным.

     Файловые системы в системах UNIX

     Файловая система содержит файлы и каталоги,  которые предс-
тавлены специальными структурами,  называемыми индексными дескрип-
торами файлов (inodes) и блоками данных; операционная система мо-
жет создавать и отслеживать эти структуры.
     Блок данных - это элемент данных размером 1024 байта, запи-
                   санный на диске.  Блок данных может содержать
                   элементы каталога  или данные файла.  Элемент
                   каталога состоит из номера индексного дескрип-
                   тора файла  и имени файла.
.
                            - 4-17 -

     Индексный дескриптор  файла  -  это  нечто вроде карточки из
                   библиотечного каталога. Каждый индексный деск-
                   риптор файла содержит информацию о файле, ана-
                   логично карточке, содержащей информацию о кни-
                   ге, - включая сведения о местоположении,  раз-
                   мере и типе файла,  а также о количестве  свя-
                   занных с  ним  элементов каталога.  Необходимо
                   помнить, что он не содержит имени файла; имена
                   содержатся в каталоге. В индексном дескрипторе
                   файла  содержится информация о размещении всех
                   данных, составляющих файл,  так что операцион-
                   ная система в случае необходимости может  соб-
                   рать все   эти данные.
     Блоки не записываются сразу на жесткий диск. Чтобы свести к
минимуму время поиска данных на жестком диске, недавно использо-
вавшиеся блоки данных хранятся в кэше в  специальных  структурах
памяти -  буферах.   Именно использование этих структур повышает
эффективность операционной системы.  Когда скопится  достаточное
количество данных  для записи в один или несколько полных блоков
на диске,  буфер "сбрасывается" - содержавшаяся в нем информация
записывается на диск.  При сбое какая-то информация всегда теря-
ется, так  как недавно изменившиеся данные еще  не  записаны  на
диск, но это несущественно.
     Когда жесткий диск заполнен данными, индексными дескриптора-
ми файлов,  каталогами,  файлами и блоками из кэша памяти, как же
операционная система будет их отслеживать? Это возможно благодаря
тому, что все эти структуры обеспечивают достаточную систему свя-
зей между файлами и каталогами,  позволяя восстанавливать  разру-
шенные соединения.
     Специальный блок данных - "суперблок" - содержит глобальную
информацию о файловой системе, а не просто о том, где расположен
конкретный фрагмент файла.  Суперблок содержит информацию, необ-
ходимую для монтирования файловой системы и доступа к ее данным.
Он содержит размер файловой системы, количество свободных описа-
телей файлов и информацию о доступном свободном пространстве.
     Информация из версии суперблока на диске считывается, когда
файловая система  смонтирована;  эта информация поддерживается и
модифицируется в памяти по мере развития активности  в  системе.
Информация записывается обратно на диск с регулярными интервала-
ми по команде  update,  которая  обычно  выполняется  сценариями
/etc/rc2, когда система запущена. Команда update вызывает коман-
ду sync(C) каждые 30 секунд, в результате чего происходит запись
на диск версии суперблока в памяти и буферов.  При аварии систе-
мы, если записанная на диск информация  недостаточно  актуальна,
файловая система может быть запорчена.

     Причины порчи файловой системы

     Любая из структур,  упомянутых в данном разделе, может ока-
заться запорченной. Это означает разрушение данных или структур,
используемых для поиска данных.  Это может случиться по несколь-
ким причинам:
.
                            - 4-18 -

     Аппаратный сбой   Аппаратные сбои происходят редко.  Лучший
                      способ решения такой проблемы - обеспечить
                      неукоснительное следование рекомендованным
                      процедурам диагностики и обслуживания.
     Программные прерывания
                      Ошибки, вызывающие  сбой программы,  могут
                      быть результатом потери некоторых  данных.
                      Здесь трудно дать общие рекомендации,  так
                      как очень велик диапазон возможных причин.
     Ошибка по вине человека
                      Это основная причина очень многих  случаев
                      порчи файловой системы,  как ни горько это
                      признать. Существуют правила работы с фай-
                      ловыми системами,   которые следует соблю-
                      дать.

     Правила проверки файловых систем

     1. ВСЕГДА проверяйте файловую систему командой fsck, прежде
чем ее монтировать.  Ничто так не усложняет проблему очистки за-
порченной файловой системы,  как использование ее в поврежденном
состоянии.
     2. НИКОГДА не удаляйте файловую систему физически без пред-
варительного демонтирования.
     3. ВСЕГДА применяйте команду sync перед остановом системы и
перед демонтированием файловой системы. (Команда sync записывает
данные из буферного кэша обратно на диск.)
     Регулярное дублирование файловой системы дает наилучшие га-
рантии постоянной целостности файловой системы.

     Восстановление файловой системы командой fsck

     Файловую систему можно исправить командой fsck.  Перед  вы-
полнением fsck  файловую систему нужно демонтировать.  (Корневую
файловую систему демонтировать нельзя,  так что  в  этом  случае
следует сначала остановить систему, а затем вновь ее запустить в
однопользовательском режиме (режиме технического обслуживания).)
Команда fsck  проверяет  различные структуры на диске и пытается
согласовать их.  Она по возможности восстанавливает  соединения,
разрешает ссылки - "чистит" файловую систему.
.
                            - 4-19 -

     Формат команды:

        Ъ2fsck specialfile

@ Пользователи sysadmsh выбирают: Filesystems->Checks

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

     Замечание
     Программа fsck на самом деле является фронтальной - она вы-
полняет лишь предварительную обработку, запуская для каждого ти-
па файловой  системы свою версию fsck.  Для исправления файловых
систем DOS программа fsck вызывает специальную версию.

     Предположим, например,  что вы запустили систему после сбоя
питания и находитесь в однопользовательском режиме. Чтобы прове-
рить файловую систему /u,   представленную  устройством  /dev/u,
введите

     fsck /dev/u

и нажмите . Программа проверит файловую систему и выдаст
следующие сообщения о ходе своей работы:

+--------------------------------------------------------------
|  ** Phase 1 - Check Blocks and Sizes
|  ** Phase 2 - Pathnames
|  ** Phase 3 - Connectivity
|  ** Phase 4 - Reference Counts
|  ** Phase 5 - Check Free List
|
     Если на одном из этих этапов обнаружится поврежденный файл,
команда спросит, следует ли его исправить или восстановить. Что-
бы исправить запорченный файл, введите y. Всегда разрешайте сис-
теме восстанавливать запорченные файлы,  даже если у вас есть  в
запасе их копии или вы намерены их удалить.
     Заметим, что команда fsck удалит любой файл,   который  она
сочтет слишком  сильно  запорченным и не подлежащим восстановле-
нию. Можно задать возможность выбора для fsck  -  выполнять вос-
становление или  нет.   Вы можете заставить fsck проигнорировать
нарушение целостности,  если вы сочтете проблему настолько серь-
езной, что либо пожелаете разобраться с ней самостоятельно с по-
мощью утилиты fsdb(ADM),  либо решите восстановить систему с ре-
зервных копий.  Если вы не можете использовать fsdb, вам следует
дать fsck возможность исправлять нарушения целостности,  в  про-
тивном случае файловая система может оказаться непригодной к ис-
пользованию.
     Заметьте, что  вам  может понадобиться несколько раз выпол-
нить команду fsck,  прежде чем вся файловая система будет очище-
на. Полный  список  сообщений  об ошибках можно найти в странице
Руководства, соответствующей fsck(ADM).
.
                            - 4-20 -

     Краткое описание этапов fsck

     Команда fsck просматривает и проверяет каждую из вышеупомя-
нутых структур.  На каждом этапе выполняется сравнение компонен-
тов и проверка согласованности этих компонентов друг с другом.
     На этапе 1 проверяются блоки и размеры.  Команда fsck читает
список индексных дескрипторов файлов,  чтобы определить размеры и
отыскать  блоки,  используемые каждым из файлов.  Эти дескрипторы
файлов проверяются на действительность (проверка типа  и  размера
дескриптора, проверка на равенство нулю счетчика связей) и на на-
личие дефектных или дублированных  блоков.  (Дефектными  являются
блоки,  значения  которых  выходят  за границы файловой системы.)
Когда fsck спрашивает,  следует ли чистить дескриптор файла,  это
означает  обнуление в нем дефектной информации.  В итоге файл или
каталог,  соответствующий этому дескриптору, будет удален. Дубли-
рованный блок означает,  что два дескриптора указывают один и тот
же блок на диске.  Команда fsck пытается определить  оригинальный
дескриптор, чтобы скорректировать дубликат на этапе 2.
     На этапе 2 проверяются имена путей. Должны быть удалены эле-
менты каталога для файлов,  удаленных на этапе 1. На этапе 2 исп-
равляются ошибки,  вызванные  неправильным  состоянием  индексных
дескрипторов файлов, выходом указателей этих дескрипторов за пре-
делы диапазона;  исправляются каталоги,  указывающие на дефектные
дескрипторы файлов,  как описано выше. В случае файлов с дублиро-
ванными блоками,  обнаруженными на этапе 1,  fsck попытается уда-
лить  оба файла (это одна из немногих ситуаций,  требующих вмеша-
тельства администратора системы).
     На этапе 3 проверяются связи.  На этапе 2 удалены каталоги,
не указывающие на действительные файлы.  На этапе 3 восстанавли-
ваются связи  с  файлами,  которые выпали из структуры каталога.
Все действительные файлы,  на которые нет ссылки,  помещаются  в
специальный каталог под названием lost+found.  Поскольку каталог
был отсоединен,  имя файла теряется; в каталоге lost+found файлу
присваивается номер.
     На этапе 4 проверяются счетчики обращений. Команда fsck про-
веряет счетчик связей для каждого элемента,  благополучно прошед-
шего этапы 2 и 3.  В некоторых случаях файлы,  на которые не было
указателя  в  структуре каталога,  но которые все же обладают ин-
дексными дескрипторами,  могут  быть  вновь  связаны  с  файловой
системой по каталогу lost+found.
     На этапе 5 проверяется свободный список.  Команда fsck изу-
чает список свободных блоков,  составляемый файловой системой, и
разрешает отсутствующие или неназначенные блоки,   которые  были
ранее назначены  или удалены.  При обнаружении нарушения целост-
ности fsck выдает приглашение перестроить список.
     На этапе 6 восстанавливается свободный список.  Система ре-
конструирует список свободных блоков в соответствии с измененной
файловой системой, если это было определено на этапе 5.
.
                            - 4-21 -

     Автоматическая проверка файловой системы

     Иногда операционная  система  во время старта выдает запрос
на проверку файловой системы.  Обычно это имеет место после  не-
нормального останова  (например,  в результате потери мощности в
питании). После проверки файловой системы все файлы, разрушенные
в процессе останова, восстанавливаются.

     Исправление файловой системы с помощью команды fsdb

     Если после  фатального сбоя суперблок файловой системы ока-
зывается настолько поврежден,  что fsck не в состоянии его  вос-
становить, можно с помощью команды fsdb ("filesystem debugger" -
"отладчик файловой системы") вручную исправить суперблок, наста-
вив "заплат".   С большой вероятностью команда fsdb понадобится,
если fsck аварийно прекращается или выдает слишком много ошибок.
     Так как  fsdb  -  очень  мощное  средство,  позволяющее  не-
посредственно изменять суперблок (который содержит важную  инфор-
мацию о файловой системе),  использовать его следует с величайшей
осторожностью.  Почти во всех случаях,  когда требуется применить
fsdb,  приходится  менять  только одну или две ячейки суперблока,
представляющие fsize и isize;  им возвращаются значения,  обычные
для вашей файловой системы. fsize - общее число блоков в файловой
системе; isize - количество индексных дескрипторов файлов, назна-
ченных файловой системе.
     Далее приводятся порядок использования fsdb в целях измене-
ния значений fsize и isize.
     1. Получите нормальные значения fsize и isize в вашей файло-
вой  системе.  Вы  должны  были записать их согласно инструкции в
конце процедуры установки,  описанной  в  документе  Installation
Guide.  Если вы этого не сделали,  можно получить размер файловой
системы с помощью divvy и оценить  число  индексных  дескрипторов
файлов.  Для  определения размера файловой системы воспользуйтесь
командой

     divvy -b 1 -c 1

Размеры файловых  систем выводятся на экран в виде диапазона но-
меров блоков.  Нужно вычесть номер начального  блока  из  номера
последнего, и получится размер файловой системы. Приблизительное
число индексных дескрипторов файлов равно размеру, умноженному на
.125.
     2. Убедитесь в том, что fsize и isize вашей файловой систе-
мы запорчены.
     3. Найдите fsize и isize в суперблоке.
     4. Установите fsize и isize равными их нормальным значениям.
.
                            - 4-22 -

     Все эти шаги подробно описаны в  последующих  разделах.   В
странице Руководства,  соответствующей fsdb(ADM), приведено нес-
колько других способов применения fsdb для просмотра и обработки
суперблока; однако  эти  возможности  рекомендуется использовать
только опытным администраторам системы.

     Проверка нарушения значений fsize и isize

     При проверке файловой системы после фатального сбоя команда
fsck считывает из суперблока размер файловой системы.  Если зна-
чения fsize и isize,  хранящиеся в этот момент в суперблоке,  не
являются нормальными значениями для файловой системы, fsck выда-
ет на экран результаты проверки размера  и  заканчивает  работу,
как показано в следующем примере:

+--------------------------------------------------------------
|  # fsck /dev/root
|  /dev/root
|  /dev/root   File System: /  Volume: root
|  Size check: fsize 0 isize 0
|  #
|
     Сравните значения fsize и isize,  выданные командой fsck (в
нашем примере - 0), с нормальными значениями вашей файловой сис-
темы. Если они отличаются,  придется выполнить fsdb, чтобы заме-
нить значения  в суперблоке на нормальные значения файловой сис-
темы.
     Иногда неправильной  оказывается  только одна из этих вели-
чин, хотя информация,  выданная fsck, показывает нарушение обоих
значений. При  выполнении  fsdb  вы увидите фактические значения
fsize и isize,  записанные в суперблоке, и поймете, сколько зна-
чений вам  придется  менять - одно или оба.  Для выполнения fsdb
введите следующую команду,  задав в качестве filesystem имя фай-
ловой системы:

        Ъ2fsdb /dev/filesystem

     Полученный в  результате вывод будет аналогичен приведенно-
му в следующем примере:

+--------------------------------------------------------------
|  # fsdb /dev/root
|  /dev/root(/): 1K byte Block File System
|  FSIZE =  1895959976, ISIZE = 7216
|
     В данном  примере  fsdb показывает,  что некорректно только
значение fsize (хотя fsck выдала  некорректность  обоих).   fsdb
всегда работает аккуратнее.
.
                            - 4-23 -

     Поиск fsize и isize в суперблоке

     Чтобы заново  установить значения fsize и/или isize,  нужно
уметь отыскивать эти значения в суперблоке.  Это можно  сделать,
перейдя к первому адресу суперблока и проверив первые два значе-
ния, которые и есть суть fsize и isize. В файловых системах UNIX
суперблок начинается по адресу 512,  а в файловых системах XENIX
- по адресу 1024. Вот пример для файловой системы UNIX:

+--------------------------------------------------------------
|  # fsdb /dev/root
|  /dev/root(/): 1K byte Block File System
|  FSIZE = 28890, ISIZE = 7216
|  512
|  001000:      000705 (453)
|  
|  001002:      000000 (0)
|  
|  001004:      070332 (28890)
|

(Клавиша  используется для перехода от одного значения в
суперблоке к  другому.)  Выводятся следующие величины:  адрес (в
восьмеричном виде), записанное по этому адресу значение (также в
восьмеричном виде) и его десятичный эквивалент (в скобках). Убе-
диться в том, что вы находитесь в нужном месте суперблока, можно
следующим образом:   третья  выведенная на экран величина (после
второго нажатия клавиши )  - fsize - должна совпадать со
значением, выведенным командой fsdb при ее запуске (FSIZE).  За-
метим, что fsdb выдает значения в блоках по 1К. Если вы возьмете
размер файловой системы у команды df, то он окажется ровно вдвое
больше размера,  сообщаемого командой fsdb.  Это связано с  тем,
что df выдает ответы в 512-байтных блоках.  Если вам нужно изме-
нить значение FSIZE, имея размер, выданный командой df, его сле-
дует разделить на два.  Если же вы использовали номер из команды
divvy, его преобразовывать не надо,  так как divvy,  как и fsdb,
пользуется блоками 1К.
     Со значением ISIZE дело обстоит иначе. Это значение, выдан-
ное командой fsdb, нужно преобразовать, прежде чем сравнивать со
значением первой величины в суперблоке (isize).
     Значение isize,  записанное  в суперблоке,  является адресом
первого блока,  расположенного после блоков, которые выделены для
индексных дескрипторов файлов. Чтобы сделать значение isize более
выразительным,  fsdb преобразует этот адрес в  число  назначенных
индексный дескрипторов файлов (ISIZE). Это число нужно преобразо-
вать обратно в адрес блока путем деления ISIZE на 16 (число деск-
рипторов  в блоке) и сложения с 2 (для учета первых блоков файло-
вой системы,  которые используются для других целей: блок началь-
ной  загрузки  и  суперблок).  Результат (isize) должен равняться
числу, выведенному на экран в качестве первого адреса в супербло-
ке.
.
                            - 4-24 -

     Установка нормальных значений для fsize и isize

     Теперь, когда вы знаете точное местоположение fsize и isize
в суперблоке,  вы можете использовать fsdb, чтобы перейти непос-
редственно к соответствующему адресу, пройти суперблок по словам
и присвоить адресу новое значение.

     Замечание
     Прежде чем пользоваться командой fsdb, убедитесь в том, что
файловая система демонтирована.

     Чтобы перейти к первому адресу суперблока,  введите команду
абсолютного адреса, который фиксирован для файловой системы (512
для файловых  систем  UNIX и 1024 для файловых систем XENIX).  В
следующем примере проверяется файловая система UNIX:

+--------------------------------------------------------------
|  512
|  001000:      000173 (123)
|

По умолчанию  fsdb считывает адреса,  вводимые вами в виде деся-
тичных слов  (512),   а  выводит  адреса  восьмеричными  байтами
(001000). Значение,  хранящееся по заданному адресу, также выво-
дится в восьмеричном виде (в скобках дается  десятичный  эквива-
лент).
     Введя адрес в виде слова,  можете нажимать ,  чтобы
продвигаться в суперблоке каждый раз на одно слово.

+--------------------------------------------------------------
|  002000:      000173 (123)
|  
|  002002:      000000 (0)
|  
|  002004:      007461 (3889)
|

В файловых  системах  UNIX  для  достижения значения fsize нужно
дважды нажать ,  а в файловых системах  XENIX  -  только
один раз. (Это связано со способом хранения значений в супербло-
ке для файловых систем UNIX.)
.
                            - 4-25 -

     Замечание
     Если при вводе начального адреса на экране появится следую-
щее сообщение об ошибке:

         block out of range          (блок вне диапазона)

то это значит,  что запорченное значение fsize  настолько  мало,
что программа fsdb решила,  что вы не сможете продвинуться в су-
перблоке так далеко. Чтобы отключить регистрацию ошибок, введите
заглавную букву O. Теперь можно беспрепятственно вводить адрес.

     В любой  момент  можно  нажать клавишу INTERRUPT (DEL)  или
d, чтобы прекратить вывод адресов на экран.
     Предположим, что при переходе ко второму значению в суперб-
локе на экран выдано значение fsize, равное 0 (вместо нормально-
го значения 3889):

+--------------------------------------------------------------
|  002000:      000173 (123)
|  
|  002002:      000000 (0)
|  
|  002004:      000000 (0)
|
     Вы можете присвоить новое значение адресу, который вы види-
те в данный момент,  с помощью команды присваивания fsdb. (Перед
тем, как вносить какие-либо изменения, убедитесь, что вы знаете,
что вы собираетесь сделать.  fsdb сразу пишет прямо на диск,  не
ожидая sync.) Введите знак равенства, и за ним - новое значение:

+--------------------------------------------------------------
|  002002:      000000 (0)
|  
|  002004:      000000 (0)
|  =3889
|  002004:      007461 (3889)
|  q
|
     Когда fsdb выдаст подтверждение на запрошенное вами измене-
ние, выйдите  из fsdb.  Теперь снова можно попробовать выполнить
fsck.
                            - 4-26 -
     Замечание
     Перед изменением  isize  не  забудьте  выполнить вычисления
(деление на 16 и прибавление 2) для величины ISIZE, выданной ко-
мандой fsdb  во время нормальной работы системы.  В случае fsize
используйте значение FSIZE,  выданное fsdb при нормальной работе
системы, без каких-либо вычислений.
                            Глава 5
                ОБЕСПЕЧЕНИЕ БЕЗОПАСНОСТИ СИСТЕМЫ

     Введение                                               5-1

     Что такое надежная система?                            5-3
          Концепции надежной системы                        5-3

     Работа надежной системы                                5-7
          Назначение административных ролей с помощью
           авторизаций                                      5-7
          Административное управление подсистемами
           с помощью sysadmsh                               5-9
          Назначение авторизаций ядра                       5-9
          Использование параметров секретности,
           настроенных или принятых по умолчанию            5-11
          Управление системным доступом                     5-11

     Использование подсистемы контроля                      5-14
          Компоненты подсистемы контроля                    5-15
               Механизм контроля ядра                       5-15
               Драйвер устройства контроля                  5-15
               Демон контроля                               5-16
               Доступ к контролю через sysadmsh             5-17
          Методология контроля                              5-18
               Авторизации контроля                         5-18
               Источники контрольных записей                5-18
               Учитываемость в контроле                     5-20
               Типы событий контроля                        5-21
               Эффективный системный контроль               5-23
               Административные аспекты                     5-23
          Процедуры контроля                                5-26
               Установка схемы сбора данных                 5-27
               Включение/выключение контроля                5-32
               Сопровождение файлов контроля                5-32
               Вывод списка контрольных записей             5-33
               Дублирование контрольных записей             5-33
               Составление контрольных отчетов              5-34
          Понятие редукции данных                           5-36
               Форматы записей для системных вызовов        5-36
               Контрольные записи прикладных программ       5-41
          Проблемные области подсистемы контроля            5-44
               Пространство на диске                        5-44
               Фатальные сбои системы                       5-45
.
               Сообщения подсистемы                         5-45
          Терминология контроля                             5-45

     Средства защиты файловой системы                       5-48
          Очистка битов SUID/SGID и sticky-бита при записи  5-48
          Sticky-бит и каталоги                             5-49
          Промены                                           5-51
          Импортирование данных                             5-51
          Файлы                                             5-51
          Файловые системы                                  5-52
          Шифрование данных                                 5-53
          Установка бита GID каталога                       5-53

     Проверка целостности системы                           5-54
          /etc/fsck                                         5-54
          Контрольный журнал                                5-54
          Порядок проверок после фатального сбоя системы    5-55
          Защищенные базы данных                            5-55
          Проверка базы данных аутентификации               5-57
          Проверка целостности системы                      5-57

     Сообщения об ошибках, связанных с секретностью         5-59
          Сообщения об ошибках регистрации в системе        5-59
          Условия ошибок контроля                           5-60
          Проблемы авторизации                              5-61

     Функционирование демонов в надежной системе            5-62

     Включение защиты с помощью кодового пароля             5-64

     Разрешение пользователям монтировать файловые системы  5-65

     Авторизация использования команд планирования заданий  5-66
          Изменение авторизации на планирования заданий,
           принятой по умолчанию                            5-66
          Разрешение/запрещение использования cron
           отдельными пользователями                        5-67
          Просмотр пользовательских разрешений на cron      5-68
          Разрешение/запрещение использования at/batch
           отдельными пользователями                        5-68
          Просмотр пользовательских разрешений на at/batch  5-68
          Использование файлов среды для команд at/batch    5-69
.
                            - 5-1 -

     ВВЕДЕНИЕ

     Каждая компьютерная система нуждается в защите от несанкци-
онированного доступа  к  компьютеру,  дискам и системным файлам.
Средства обеспечения безопасности,  имеющиеся в  вашей  системе,
представляют собой  расширение базовых средств обеспечения безо-
пасности операционных систем UNIX.  Операционная система спроек-
тирована таким  образом,  чтобы удовлетворять требованиям класса
надежности C2, согласно "Критерию оценки надежности компьютерных
систем" Министерства обороны (так называемая "Оранжевая книга").
     В данной главе показано,  как пользоваться средствами обес-
печения безопасности для поддержания надежности системы.  Средс-
тва, касающиеся обычного пользователя,  описаны в главе "Исполь-
зование надежной  системы"  в "Руководстве пользователя" (User's
Guide).
     Данная глава содержит следующую информацию:
     * общий обзор безопасности системы
     * описание защищенных подсистем
     * как назначать административные роли
     * административное управление подсистемами с помощью sysadmsh
     * использование подсистемы контроля
     * защита файловых систем
     * проверка целостности системы
     * сообщения об ошибках
     * работа демонов в защищенной системе
     * включение защиты с помощью кодового пароля
     * как пользователи могут монтировать файловые системы
     * как пользователи могут планировать задания

                            - 5-2 -

     Замечание
     О физической секретности
     Средства обеспечения  безопасности  в  операционной системе
будут бесполезны,  если аппаратная часть и носители не защищены.
Вы должны  защитить  от  несанкционированного доступа сам компь-
ютер, дистрибутивные дискеты и все носители с резервными  копия-
ми. Для этого нужно соблюсти следующие правила:
     1. В отсутствие оператора держите систему "под замком".
     2. Соберите и заприте все носители с резервными копиями.
.
                            - 5-3 -

     ЧТО ТАКОЕ НАДЕЖНАЯ СИСТЕМА?

     Поскольку не  существует  компьютерной  системы,  в которой
риск сведен к нулю,  для систем употребляется термин  "надежная"
(trusted) вместо "безопасная" (secure). Здесь имеется в виду то,
что понимается под классом надежности С2.  "Надежная" система  -
это система,   в  которой достигается некоторый уровень контроля
над доступом к информации, обеспечивающий механизмы предотвраще-
ния (или по крайней мере фиксирования) несанкционированного дос-
тупа.
     Средства секретности операционной системы являются расшире-
нием средств,   имеющихся в типичных,  менее "надежных" системах
UNIX. Наряду с расширением возможностей защиты  пользовательской
и системной  информации,   обеспечивается полная совместимость с
существующими механизмами UNIX. Большая часть работы администра-
тора системы  включает сопровождение и защиту системной информа-
ции, как описано в настоящем разделе.
     При установке системы,  если включен контроль, система кон-
фигурируется для работы в "надежном" состоянии. В этом состоянии
только назначенный  администратор  может  обращаться к системной
информации и изменять ее.  Как только система переходит  в  нор-
мальный режим работы, надежное состояние системы следует поддер-
живать, если вы намерены полностью использовать средства  надеж-
ности. Если вы будете следовать приведенным рекомендациям,  сис-
темная информация останется защищенной.
     Имеется также  возможность  приспособить  эти  требования к
нуждам вашей вычислительной установки.   Можно  даже  установить
конфигурацию вашей  системы таким образом,  чтобы она работала в
ненадежном режиме,  совместимом с другими системами  UNIX.   Это
описано в разделе "Конфигурация для ведения учета, устанавливае-
мая по умолчанию". Заметим, что если вы решили смягчить требова-
ния, определяющие надежное состояние своей системы,  ее нельзя с
достоверностью восстановить на уровень С2.
     Ваши действия  как  администратора  являются  решающими для
сопровождения надежной системы.  Любые упущения в секретном сос-
тоянии чреваты проникновением в систему.  Чтобы эффективно вести
административную работу,  вы должны понимать, в чем состоит сис-
темная стратегия  секретности,  как она контролируется системной
информацией (базами данных) и как вносимые вами изменения влияют
на действия пользователя и администратора.

     Концепции надежной системы

     Ниже приводятся основные понятия, связанные с надежной сис-
темой. Будучи администратором,  вы для успешной  работы  системы
должны усвоить  эти  понятия  и знать,  где хранится информация,
связанная с секретностью.  Настоящий раздел является  вводным  в
эту тему; в последующих разделах данной главы приводятся подроб-
ности, а также процедуры сопровождения.
.
                            - 5-4 -

     Возможность учета

     Говорят, что некоторое действие поддается учету,  если  его
можно отследить вплоть до источника - реального пользователя.  В
безопасной системе   все  пользователи  несут ответственность за
свои действия,  и каждое действие можно отследить до пользовате-
ля, ответственного за него. В большинстве систем UNIX отсутству-
ет хорошая учитываемость: некоторые действия нельзя отследить ни
до какого пользователя. Например, псевдо-пользовательские бюдже-
ты, такие  как lp или cron,  выполняются анонимно;  их  действия
можно обнаружить   только  по изменениям в системной информации.
Как будет описано ниже, надежная система UNIX повышает учитывае-
мость за  счет сопоставления каждому бюджету реального пользова-
теля, контроля  над каждым  действием  и  сопоставления  каждого
действия конкретному пользователю в системе.
     В типичной  системе UNIX у каждого процесса есть реальный и
эффективный идентификаторы пользователя,  равно как и реальный и
эффективный идентификаторы группы. Процесс с эффективным иденти-
фикатором пользователя  root может устанавливать эти идентифика-
торы для любых пользователей.  Концепция идентификации пользова-
теля расширена включением дополнительного идентификатора,  назы-
ваемого регистрационным идентификатором пользователя (LUID). Это
нечто вроде нестираемой метки, проставляемой на каждом процессе,
связанном с пользователем. LUID идентифицирует пользователя, от-
ветственного за сессию процесса.  LUID процесса,  будучи однажды
проставлен, не  может быть изменен никем. Дочерние процессы нас-
ледуют родительский LUID.

     Дискреционное управление доступом

     Средства дискреционного управления доступом позволяют опре-
делить, имеет ли некоторый пользователь доступ к информации, ко-
торую он хочет получить. Эта информация находится внутри некото-
рого объекта (файла,  устройства и т.д.),  которым пользователь-
ский процесс пытается воспользоваться. В большинстве систем UNIX
защита объекта  осуществляется через взаимосвязь между пользова-
телем и группой процесса, с одной стороны, и битами режимов объ-
екта (владелец,  группа, прочие), с другой стороны. Атрибуты за-
щиты для этих объектов находятся на усмотрении владельца  объек-
та. Поэтому  эти атрибуты владелец может сделать ограничивающими
(контролируемый доступ)  или разрешающими (открытый доступ).   В
надежной системе  UNIX стандартные правила дискреционного управ-
ления доступом расширены так,  что они обеспечивают более полную
защиту системной информации (системных баз данных),  разделяемой
информации (временных каталогов) и входных файлов программы SUID
(установка идентификатора пользователя при выполнении)  - напри-
мер, сообщения почты.
     Помимо этого,   в  дискреционную стратегию доступа для UNIX
добавлен механизм,  который  может  воспрепятствовать  получению
программой SUID  доступа  к файлам запустившего ее пользователя.
Пользователь может создать промен (promain -  protected  domain,
т.е. защищенный  домен).   Промен  является  иерархией каталогов
(поддеревом). Когда пользователь запускает программу SUID,   она
может произвести  доступ к своим личным файлам только в том слу-
чае, если эти файлы находятся в упомянутом поддереве. Вне проме-
.
                            - 5-5 -

на программа  SUID  имеет доступ только к тем файлам,  к которым
имеют доступ и активизатор программы,  и ее владелец. Это сужает
рамки разрушения,   которое может быть вызвано программой SUID в
данном каталоге.  Такой механизм подробно описывается в странице
Руководства для promain(M)  в "Справочнике пользователя" (User's
Reference).

     Авторизации

     Авторизация - это право на доступ к некоторому объекту  или
на выполнение  какого-либо  системного  действия.  В большинстве
систем UNIX все решения по поводу доступа принимаются на  основе
простых дискреционных критериев, или исходя из того, является ли
root владельцем процесса,  осуществляющего доступ. Корневой бюд-
жет имеет полномочия на выполнение таких системных действий, ка-
кие не может выполнять никакой другой процесс. Операционная Сис-
тема определяет   два  типа  авторизаций:   авторизации  ядра  и
авторизации подсистемы.  Авторизации ядра связаны с  процессами.
(Процесс -  это программа,  выполняющаяся в системе в данный мо-
мент.) Они разрешают процессу выполнять  определенные  действия,
если процесс  наделен требуемыми привилегиями.  Авторизации под-
системы связаны с пользователями. Они позволяют пользователю вы-
полнять специальные действия с помощью команд подсистемы (надеж-
ные утилиты и программы). Подсистема - это связный набор файлов,
устройств и  команд,  служащих для выполнения некоторой функции.
Например, подсистема lp состоит из файлов блока подкачки печати,
печатающих устройств и команд, помогающих сопровождать подсисте-
му, таких как lpadmin(ADM).
     Авторизации ядра хранятся в авторизационном наборе, который
сопоставляется каждому процессу.  Авторизационный  набор  -  это
список привилегий,  который разрешает некоторый тип действий при
наличии определенной привилегии и запрещает в ее отсутствие. Ав-
торизации будут рассмотрены позже.

     Установление идентичности и аутентичности (I&A)

     Когда пользователь  регистрируется  в  малонадежной системе
UNIX, выполняется ограниченная процедура  установления  идентич-
ности и аутентичности. Система ищет имя пользователя в базе дан-
ных паролей (/etc/passwd).  Если имя пользователя  отыскивается,
система устанавливает аутентичность пользователя, сравнивая вве-
денный пароль с шифрованной версией пароля, содержащейся в стро-
ке базы  данных  паролей  пользователя.  Предусмотрены некоторые
правила относительно характеристик пароля и возможности его  из-
менения, но, как показала практика, этих правил недостаточно для
предохранения от проникновения через защиту.
     Надежная система расширяет стандартные механизмы I&A. В ней
предусмотрено больше правил, касающихся типов используемых паро-
лей. Имеются процедуры генерации и изменения паролей.   Изменены
местоположение и  механизм  защиты  некоторых частей базы данных
паролей. И, наконец, администратор теперь обладает большими воз-
можностями контроля над действиями пользователей.  Для обеспече-
ния этого аспекта системы создана специальная роль - Администра-
тор аутентификации (авторизация подсистемы  auth).   Обязанности
этого администратора подробно описываются в последующих разделах.
.
                            - 5-6 -

     Контроль (audit)

     В большинстве  систем UNIX ведется ограниченная регистрация
системных действий с помощью соответствующей учетной подсистемы.
Учетная подсистема пишет одну учетную запись при завершении каж-
дого пользовательского процесса.  Надежная операционная  система
обеспечивает продолжительный   ряд  записей о действиях - журнал
(trail). В  этот журнал заносится запись о каждом доступе,  осу-
ществляемом между   субъектом  и объектом,  и о каждом изменении
субъекта, объекта и системных характеристик. Подсистема контроля
управляется специальной ролью,  называемой Администратором конт-
роля (авторизация подсистемы audit).  Администратор контроля ре-
шает, сколько    информации следует записать и насколько надежно
она записывается,  а также сопровождает информацию,   когда  она
собрана. Подсистема  контроля предоставляет Администратору конт-
роля обширную историю системных действий. Это помогает админист-
ратору идентифицировать, что произошло в системе, когда и с чьим
участием.

     Защищенные подсистемы

     В системах UNIX существуют  механизмы  setuid  -  установка
идентификатора пользователя (SUID)  - и setgid - установка иден-
тификатора группы (SGID). С их помощью можно составлять програм-
мы, обеспечивающие личную информацию. Доступ к этой информации и
ее изменение разрешены только операциям,   включенным  в  данные
программы. Операционная  Система определяет несколько защищенных
подсистем. Каждая из таких  подсистем  состоит  из  совокупности
личной информации  (файлы и/или базы данных),  любых связанных с
ними устройств, а также утилит и команд, используемых для сопро-
вождения этой информации. Защищенные подсистемы пользуются меха-
низмами SUID/SGID для защиты своих личных файлов,  баз данных  и
устройств от неограниченного доступа.  Операционная Система рас-
ширяет понятие защищенной подсистемы в нескольких аспектах:
     * в  ней  определена  большая  грануляция  пользователей  и
групп, обеспечивающих  определенные  наборы  системных  ресурсов
(личная информация);
     * она ведет специальную базу данных для пользователей,  ко-
торым разрешено  выполнять программы,  сопровождающие личную ин-
формацию;
     * в ней не требуется, чтобы пользователи регистрировались в
качестве администратора подсистемы;  вместо  этого  используется
база данных для проверки авторизации подсистемы. Этого достаточ-
но для удовлетворения всех требований относительно полной учиты-
ваемости любых действий, выполняемых программами подсистемы.
.
                            - 5-7 -

     РАБОТА НАДЕЖНОЙ СИСТЕМЫ

     В данном  разделе обсуждается концептуальная структура соп-
ровождения надежной системы. Первое основное решение, которое вы
должны принять, - кто будет ее сопровождать. Вы можете иметь од-
ного всемогущего  супер-пользователя,   зарегистрированного  как
root, или  можно распределить административные обязанности между
другими пользователями,  выделяя им ровно столько  возможностей,
сколько необходимо  для  административного управления каким-либо
одним аспектом работы системы.

     Назначение административных ролей с помощью авторизаций

     В надежной системе UNIX административные задачи распадаются
на несколько логических ролей.  Каждая роль ответственна за соп-
ровождение одного  аспекта  системы.  Идея о специфических адми-
нистративных ролях (и соответствующих им задачах и обязанностях)
является кардинальной  в вашем представлении о надежной операци-
онной системе. Любая логическая роль может быть назначена одному
и тому  же пользователю или различным членам некоторой админист-
ративной группы.  С каждой расширенной ролью связана специальная
авторизация. Эта связь,  наряду со сложной системой трассировки,
позволяет администратору вести полную регистрацию административ-
ных действий.  Это помогает предотвращать одни проблемы и облег-
чать идентификацию и устранение других проблем.
     Для выполнения  задач,  связанных с административной ролью,
администратор должен иметь соответствующую авторизацию. В приво-
димой ниже таблице перечисляются административные роли,  связан-
ные с ними авторизации,  а также разделы системы, сопровождаемые
каждой ролью.
.
                            - 5-8 -

                          Таблица 5.1
         Защищенные подсистемы и административные роли
---------------------------------------------------------------------------

          Роль          | Авторизация |     Раздел системы
                        |  подсистемы |
---------------------------------------------------------------------------

Администратор           | auth        | Системный учет
 аутентификации         |             |
Администратор принтера  | lp          | Подсистема устройства
                        |             |  построчной печати
Администратор терминала*| terminal    | Разрешения для терми-
                        |             |  нального устройства
Администратор cron *    | cron        | Подсистема at и cron
Администратор памяти *  | mem         | Доступ к памяти системы
Администратор контроля  | audit       | Базы данных контроля и
                        |             |  контрольный журнал
Оператор                | backup      | Резервные копии файловой
                        |             |  системы
Администратор системы   | su          | Доступ su к бюджету
                        |             |  супер-пользователя
                        | sysadmin    | Использование программы
                        |             |  integrity(ADM)
---------------------------------------------------------------------------

     * В  действительности  эти роли не совсем административные,
как поясняется ниже.

     Вы обязательно должны понять,  какие обязанности включает в
себя каждая роль,  и как ваши действия повлияют  на  секретность
системы. При формировании конфигурации и работе системы вы долж-
ны исходить из чувствительности информации,  хранящейся на вашей
вычислительной установке,   осознания  степени  взаимодействия и
компетенции ваших пользователей,  и угрозы (извне  или  изнутри)
проникновения через  защиту  или неправильной работы.  Лишь ваша
бдительность и корректное использование системы смогут сохранить
ее надежность и защитить ее целостность.
     Для назначения авторизации подсистемы необходимо в sysadmsh
сделать следующий выбор:

     Accounts -> User -> Examine:Privilege

     Замечание
     Вы, вероятно,  заметили,  что каждая авторизация подсистемы
оказывается идентичной групповому имени этой подсистемы. Это оз-
начает, что если какой-то пользователь  является  членом  группы
подсистемы, то  тем  самым  он имеет доступ к файлам подсистемы.
Тем не менее,  это не дает требуемой авторизации подсистемы.  На
самом деле  никогда не следует делать пользователя членом группы
подсистемы, так как это подвергнет риску актуальные  файлы  дан-
ных. Для  разрешения  доступа к подсистеме используйте соответс-
твующую авторизацию подсистемы.
.
                            - 5-9 -

     Административное управление подсистемами с помощью sysadmsh

     Некоторые подсистемы являются логическими разделами,  а  не
действительными областями администрации системы.  Например, под-
система памяти по существу не подлежит административному  управ-
лению, но  присваивание  авторизации  mem обеспечит контроль над
доступом к структурам памяти ядра. Другие подсистемы нуждаются в
администрации, и  каждой из них соответствует определенный выбор
в sysadmsh(ADM). Такие подсистемы могут быть назначены отдельным
людям; по  каждой  области  имеется документация.  В таблице 5.2
приведен список административно управляемых подсистем, соответс-
твующие им  выборы  sysadmsh и разделы или главы,  в которых они
рассматриваются.
                          Таблица 5.2
                  Подсистемы и выборы sysadmsh
---------------------------------------------------------------------------

    Защищенная    |     Выбор     |     Раздел или глава
    подсистема    |   sysadmsh    |
---------------------------------------------------------------------------

Устройство постро-| Printers      | "Использование принтеров"
 чной печати      |               |
Дублирование      | Backups       | "Дублирование файловых систем"
Аутентификация    | Accounts      | "Административное управление
                  |               |  пользовательскими бюджетами"
Cron              | Jobs          | "Авторизация использования
                  |               |  команд планирования заданий"
                  |               |  (в данной главе)
Контроль          | System->Audit | "Использование подсистемы
                  |               |  контроля" (в данной главе)

     Подсистема audit описана ниже в  данной  главе.   Подробное
описание подсистем   содержится   в  "Справочнике  пользователя"
(User's Reference), на странице, относящейся к subsystem(M). Там
приведен список всех программ и файлов данных,  связанных с каж-
дой подсистемой. Большинство функциональных возможностей, обычно
доступных супер-пользователю  в других,  менее надежных системах
UNIX, переданы защищенным подсистемам, описываемым в данном раз-
деле. Однако некоторые функции все равно должен выполнять супер-
пользователь. К их числу относятся монтирование и демонтирование
файловых систем, прохождение по полному дереву файла. Только су-
пер-пользователь может делать все.  Пользователи, обладающие ав-
торизацией su,  имеют доступ su(C) к бюджету супер-пользователя.
Следует ограничить число пользователей,  имеющих доступ к паролю
root, и  назначить ответственного пользователя для бюджета root.
(Подробности см.  в главе "Административное управление пользова-
тельскими бюджетами" в настоящем руководстве.)

     Назначение авторизаций ядра

     В операционной  системе  имеется два типа авторизаций:  для
ядра и для подсистемы.  Пользовательские процессы выполняются  с
набором авторизаций ядра, которые контролируют специальные права
процесса на некоторые привилегированные системные  действия.   В
Таблице 5.3 приведен список авторизаций ядра.
.
                            - 5-10 -

                          Таблица 5.3
                        Авторизации ядра
---------------------------------------------------------------------------

 Авторизация |                 Действие
---------------------------------------------------------------------------

configaudit  | Модификация параметров контроля
writeaudit   | Внесение контрольных записей в контрольный журнал
execsuid     | Выполнение программ SUID
chmodsugid   | Возможность устанавливать бит SUID и SGID в файлах
chown        | Смена владельца объекта
suspendaudit | Приостанов контроля процесса
nopromain    | Доступ пользователя извне каталога промена

     Большинству пользователей  требуются   только   авторизации
nopromain и execsuid для выполнения стандартных задач.  (Промены
используются для изолирования выполнения данной программы,  а не
как постоянная мера защиты. nopromain - это обычный режим, с ко-
торым работает пользователь; он его временно отменяет  для  про-
верки выполнения программы. Подробнее см. promain(M).) Чтобы вы-
полнять программы SUID,  пользователь должен  иметь  авторизацию
execsuid. (Программы   установки идентификатора пользователя вы-
полняются под контролем идентификатора, отличного от идентифика-
тора инициатора этих программ.  Так сделано для того, чтобы про-
цесс имел доступ к файлам  и  системным  средствам,   которые  в
противном случае   были бы недоступны.)  Если пользователю нужно
создавать файлы с битами SUID или SGID,  он должен иметь автори-
зацию chmodsugid.   Чтобы сменить владельца файла (отдать файл),
нужна авторизация chown.  Если у пользователя нет этой авториза-
ции, владельца файла может изменить только root.

     Замечание
     Для соответствия NIST FIPS 151-1 необходимо ограничение  на
chown. Эту авторизацию не нужно выдавать пользователям,  если вы
намерены соблюдать требования NIST FIPS 151-1.

     У каждого процесса имеется набор авторизаций, в котором пе-
речислены его авторизации ядра.  Процесс может выполнить некото-
рое действие,  только если соответствующая авторизация ядра вхо-
дит в набор.  Например, процесс с авторизацией configaudit может
модифицировать параметры подсистемы контроля.  Такой процесс вы-
полняется Администратором контроля. Не следует выполнять никакие
пользовательские процессы с какой-либо из авторизаций audit. Они
предназначены для  исключительного использования Администратором
контроля. Для  назначения  авторизации  ядра  нужно  сделать   в
sysadmsh следующий выбор:

     Account->User->Examine:Privileges

.
                            - 5-11 -

     Пользователи, которым   присвоены   административные  роли,
должны иметь определенные авторизации ядра,  чтобы выполнять за-
дачи, требуемые  подсистемой.  Если вы используете общесистемные
авторизации ядра, принимаемые по умолчанию ("C2" или "Relaxed"),
вам придется назначить лишь обязательные  авторизации  контроля;
авторизации chown, execsuid и chown уже назначены.

                          Таблица 5.4
       Требования подсистем относительно авторизаций ядра
---------------------------------------------------------------------------

     Подсистема     |       Требуемые авторизации ядра
---------------------------------------------------------------------------

     audit          |   configaudit, suspendaudit, execsuid
     auth           |   chown, execsuid
     backup         |   execsuid
     lp             |   chown
     cron           |   execsuid, chown, chmodsugid
     sysadmin       |   execsuid, chmodsugid, chown

     Использование параметров секретности,  настроенных или при-
нятых по умолчанию

     По умолчанию параметры секретности устанавливаются согласно
уровню надежности С2.  Как упоминалось выше, существует два дос-
тупных набора  параметров,   принимаемых  по  умолчанию:   C2  и
"Relaxed", соответствующий  характеру работы менее надежных сис-
тем UNIX.  Кроме того, можно изменить любой параметр - и для от-
дельных пользователей,  и по всей системе. Изменение общесистем-
ных параметров описано в разделе "Конфигурация для ведения  уче-
та, устанавливаемая  по умолчанию" в главе "Административное уп-
равление пользовательскими бюджетами".  Информация о  параметрах
для отдельных пользователей приведена в разделе "Управление уче-
том" той же главы.

     Управление системным доступом

     Одним из важных аспектов работы в надежной системе является
выявление потенциальных проблем,  относящихся к секретности. Ог-
раничительные механизмы подразделяются на три категории,  каждая
из которых  может  быть приспособлена к конкретным требованиям и
сопровождаться отчетами:
     * Статус пароля
     * Активность терминала
     * Активность начальной регистрации
     Каждая из этих областей имеет важное значение  для  точного
определения потенциальных проблем с секретностью.  Процедуры для
выполнения этих отчетов можно найти в разделе "Генерация отчетов
об активности"  в  главе  "Административное управление пользова-
тельскими бюджетами".  В последующих подразделах поясняется, как
реализуются эти ограничения.
.
                            - 5-12 -

     Статус пароля

     В качестве  модели  для  введения ограничений на пароли был
использован документ  "Руководство  по  использованию   паролей"
(Password Management  Guideline)   Министерства обороны; поэтому
пользователи подвергаются более серьезной  проверке  на  пароли,
чем в менее надежных системах UNIX. Администратор аутентификации
может либо разрешить пользователям самим выбирать  себе  пароли,
либо обязать систему генерировать для них пароли. Пароль, будучи
однажды выбран,  может подвергнуться большому числу элементарных
проверок, что опять же зависит от Администратора аутентификации.
     Для паролей существует три уровня действительности, что яв-
ляется расширением   реализации процесса старения пароля в стан-
дартной системе UNIX.  Пароли остаются действительными,  пока не
настанет достигнут его срок истечения действия. Когда срок дейс-
твия пароля  истекает,  пользователь (если ему разрешено это де-
лать) получает  приглашение на изменение  своего  пароля.   Если
пользователю не разрешено менять свой пароль, администратор дол-
жен назначить новый пароль.
     Пароли считаются expired,  пока не завершится их  жизненный
цикл. Мертвый  пароль  вызывает  блокирование  пользовательского
бюджета. Снять эту блокировку может только Администратор  аутен-
тификации, используя выбор Accounts в sysadmsh. Если пользовате-
лю не разрешено менять пароль, нужно назначить новый.
     Во избежание повторного использования паролей Администратор
аутентификации может также установить минимальный срок изменения
для пароля, до которого пользователь не имеет права менять паро-
ли. Все  эти параметры можно изменить - и по всей системе  (база
данных системных  параметров,  принимаемых по умолчанию),  и для
отдельных пользователей (база данных защищенных паролей).  Обще-
системное изменение  параметров паролей описано в разделе "Изме-
нение ограничений на пароли, принятых по умолчанию" в главе "Ад-
министративное управление пользовательскими бюджетами" настояще-
го руководства,    а  полное описание процедур изменения паролей
приведено в разделе "Изменение пароля пользователя или  парамет-
ров пароля" той же главы.
     Отчеты по паролям  можно  использовать  для  предотвращения
блокировки пользовательских  бюджетов; эта ситуация очень непри-
ятна, если администратор системы отсутствует.  Если в вашей сис-
теме не принято ежедневное присутствие администраторов, вы имее-
те право претендовать на  соответствующее  увеличение  параметра
жизненного цикла пароля.

     Активность терминала

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

роль бюджета.   Терминалы,   для  которых  превышено максимально
допустимое число попыток, будут заблокированы; снимать блокиров-
ку должен Администратор бюджетов.  Кроме того,  можно задать ин-
тервал времени,  который должен пройти между попытками регистра-
ции, что  также  может  помочь  пресечь  попытки угадать пароль.
(Аналогичные ограничения можно ввести для бюджетов,  отличных от
терминалов.) О  том,  как изменять или проверять ограничения для
терминала, см. раздел "Управление регистрацией терминала" в гла-
ве "Административное   управление  пользовательскими  бюджетами"
настоящего руководства.

     Активность начальной регистрации

     Как и в случае терминалов, у пользовательских бюджетов есть
параметры, связанные  с  числом попыток регистрации и интервалом
для повторной попытки,  которые относятся к регистрации в бюдже-
те, а не в терминале.  О том, как изменять или проверять эти ог-
раничения, см.  раздел "Изменение ограничений  при  регистрации,
принятых по  умолчанию"  в  главе  "Административное  управление
пользовательскими бюджетами" настоящего руководства.
.
                            - 5-14 -

     ИСПОЛЬЗОВАНИЕ ПОДСИСТЕМЫ КОНТРОЛЯ

     Подсистема контроля регистрирует события в системе, связан-
ные с секретностью,  записывая их в контрольный журнал,  который
затем можно просмотреть. В контрольных журналах, выдаваемых под-
системой, можно фиксировать проникновение в систему и неправиль-
ное использование ресурсов. Подсистема контроля спроектирована в
соответствии с задачами  контроля,   определяемыми  Национальным
центром защиты данных компьютеров США.
     Контроль позволяет просматривать собранные данные для  изу-
чения образцов доступа к объектам и наблюдения за действиями от-
дельных пользователей и их процессов. Попытки нарушения защиты и
механизмов авторизации контролируются.  Подсистема контроля дает
высокую степень гарантии обнаружения  попыток  обойти  механизмы
обеспечения безопасности. Поскольку события, связанные с секрет-
ностью, контролируются и поддаются  учету  вплоть  до  выявления
конкретного пользователя,  подсистема контроля служит сдерживаю-
щим средством для пользователей, пытающихся неправильно восполь-
зоваться системой.
     Подсистема контроля использует системные вызовы  и  утилиты
для классификации действий пользователей, подразделяя их на типы
событий. Это можно использовать для выборочной генерации  и  ре-
дукции контроля. Один из этих типов событий, Отказ дискреционно-
го доступа (DAC), регистрирует попытки такого использования объ-
ектов, которое    не допускается разрешениями для этого объекта.
Например, если  пользовательский процесс пытается писать в  файл
"только для чтения",  регистрируется событие Отказа DAC, показы-
вающее, что  процесс пытался произвести запись в файл,  на что у
него не было права. Если просмотреть контрольный журнал, то лег-
ко будет заметить повторяющиеся попытки доступа к файлам, на ко-
торые не выданы разрешения.
     Для эффективности данных контроля  существенна  возможность
учета пользователей,  выполняющих действия, подлежащие контролю.
Когда пользователи пытаются войти в систему,  они должны  пройти
процесс идентификации и аутентификации, прежде чем им будет пре-
доставлен доступ в систему. Механизм секретности снабжает каждый
процесс, создаваемый пользователем, постоянным индикатором иден-
тичности - регистрационным идентификатором пользователя  (LUID).
Этот идентификатор  сохраняется  невзирая  на переходы от одного
пользовательского бюджета к другому с помощью таких команд,  как
su(C). Каждая контрольная запись,  генерируемая подсистемой, со-
держит LUID наряду с  эффективным  и  реальным  идентификаторами
пользователя и группы для процесса.  В итоге оказывается возмож-
ным строгий учет действий пользователей.
     Подсистема контроля  управляется  Администратором контроля.
Будучи Администратором контроля,  вы обладаете полным  контролем
над событиями, выбранными для генерации контрольных записей, над
значениями параметров подсистемы контроля и над последующей  ре-
дукцией и анализом данных контроля.
.
                            - 5-15 -

     Компоненты подсистемы контроля

     Подсистема контроля состоит из четырех главных компонентов:
     * Механизм контроля ядра
     * Драйвер устройства контроля (/dev/audit)
     * Демон уплотнения данных контроля - auditd(ADM)
     * Интерфейс контроля sysadmsh
     Существует несколько  надежных  системных утилит,  которые,
хотя на самом деле и не являются  собственно  частью  подсистемы
контроля, отвечают  за занесение контрольных записей в контроль-
ный журнал (например, login(M)).

     Механизм контроля ядра

     Механизм контроля ядра является  центральным  в  подсистеме
контроля. Этот механизм генерирует контрольные записи, исходя из
активности пользовательских процессов, с помощью системных вызо-
вов ядра.  Каждый системный вызов ядра содержит строку в таблице
подсистемы, где указано,  связан ли этот вызов с вопросами  сек-
ретности, и если это так, то какому типу события он соответству-
ет. Кроме того,  используется таблица кодов ошибок,  позволяющая
классифицировать системные вызовы на конкретные события, связан-
ные с секретностью. Механизм контроля ядра выдает внутренний вы-
зов в драйвер устройства для занесения записи в контрольный жур-
нал.
     Например, системный вызов open(S)  классифицируется как со-
бытие Сделать объект доступным.  Если пользователь blf выполняет
open(S) для /unix и делает это успешно, генерируется контрольная
запись об этом событии. Однако если системный вызов заканчивает-
ся неудачно из-за того, что blf запросил в open(S) доступ по за-
писи, не  имея  разрешения  на запись в этот файл,  это действие
классифицируется как событие Отказ  дискреционного  доступа  для
blf и объекта /unix.  Следовательно, системный вызов можно отоб-
разить в несколько типов событий,  в зависимости от объекта,   к
которому осуществляется доступ, и/или результата вызова. Поэтому
возникает возможность выборочного контроля системных вызовов,  в
зависимости от типов событий, которые вы сделаете доступными.
     Некоторые системные вызовы не относятся к секретности. Нап-
ример, getpid(S) получает идентификатор процесса и не определяет
событие, связанное с секретностью. Таким образом, этот системный
вызов не подлежит контролю.

     Драйвер устройства контроля

     Драйвер устройства контроля  выполняет  следующие  функции:
прием контрольных записей от механизма контроля ядра и от надеж-
ных утилит; создание и запись промежуточных файлов  контрольного
журнала; предоставление данных контрольного журнала демону конт-
роля для уплотнения; обеспечение выборочной генерации  контроль-
ных записей на основе типов событий, идентификаторов пользовате-
лей и идентификаторов групп.
.
                            - 5-16 -

     Драйвер устройства   обеспечивает    интерфейсы    open(S),
close(S), read(S),  write(S) и ioctl(S), как и прочие символьные
устройства. Однако устройство контроля может быть открыто только
процессами, обладающими  авторизациями  ядра  configaudit  и/или
writeaudit. Это ограничивает доступ к устройству контроля,  раз-
решая его только для надежных утилит, таких как интерфейсы демо-
на контроля и Администратора контроля. В устройство контроля мо-
гут писать несколько процессов одновременно. Это устройство про-
изводит объединение записей  в  контрольный  журнал.   Читать  с
устройства может только один процесс - демон контроля.
     Драйвер устройства контроля ведет контрольный журнал в виде
набора файлов сбора данных контроля.  Каждый раз, когда вы вклю-
чаете контроль, начинается новая сессия контроля. При ее запуске
подсистема создает файл сбора данных,  в который заносятся конт-
рольные записи.  Когда файл сбора данных достигает определенного
размера, установленного  администратором, подсистема создает но-
вый файл  сбора  данных и начинает писать в него.  Поэтому конт-
рольный журнал можно рассматривать как постоянно увеличивающийся
последовательный файл,   даже если используется несколько файлов
сбора данных.  Именно в таком виде контрольный журнал рассматри-
вается демоном контроля, потому что он читает с устройства и по-
лучает записи из контрольного журнала. При достижении конца фай-
ла сбора  данных подсистема выполняет соответствующее переключе-
ние на новый файл сбора данных. Все это прозрачно для демона.

     Демон контроля

     Демон контроля auditd(ADM) - это надежная утилита, выполня-
ющаяся как фоновый демон-процесс при включении  контроля.   Этот
демон - единственный,  кто читает с устройства контроля, которое
в свою очередь представляет демону блоки записей из файлов сбора
данных контроля.  Демону безразлично,   что  контрольный  журнал
расслаивается на множество файлов сбора данных. Драйвер устройс-
тва контроля удовлетворяет запросы на чтение, поступающие от де-
мона, и обрабатывает переключение и удаление файлов сбора данных
по мере надобности.
     Главное предназначение демона состоит в предоставлении  ме-
ханизма уплотнения данных и регистрации для сессии контроля. Де-
мон также выполняет функцию поддержки защищенных подсистем, поз-
воляя им  писать в подсистему контрольные записи.  В зависимости
от выбранного вами критерия формирования контрольных записей,  в
системе может   быть  сгенерировано  огромное  количество данных
контроля. В типичном случае однопользовательской системы генера-
ция 200 килобайтов данных контроля за час не будет выглядеть не-
обычно. Поэтому демон предоставляет механизм уплотнения для сжа-
тия данных контроля в упакованный формат записи,  которая сохра-
няется в файле уплотнения контроля.
     Второй функцией  демона  является  обеспечение  журнального
файла, описывающего текущую сессию контроля. Журнальный файл со-
держит информацию о количестве контрольных записей,  доступных в
уплотненных файлах вывода в сессии;  время  запуска  и  останова
сессии; а также другие индикаторы состояния сессии контроля. Как
только драйвер  устройства контроля переключает файлы сбора дан-
.
                            - 5-17 -

ных при достижении ими размеров,  установленных администратором,
демон может создать несколько уплотненных файлов,  чтобы не  до-
пустить увеличения одного файла до размеров,  недоступных управ-
лению. Вы  также это контролируете. Кроме того, уплотненные фай-
лы, записанные демоном, можно разместить в любом каталоге, опре-
деленном администратором.  По этим причинам  ведется  журнальный
файл - чтобы иметь журнал с уплотненными файлами,  которые можно
использовать для последующей редукции данных.
     Третья функция  демона  контроля - выполнять роль программы
интерфейса с драйвером устройства контроля для  занесения  конт-
рольных записей из защищенных подсистем,  не имеющих авторизации
writeaudit. Так как эти подсистемы не могут осуществлять  доступ
непосредственно к драйверу устройства контроля, но могут образо-
вать интерфейс с демоном с соблюдением секретности, то демон вы-
полняет занесение контрольной записи прикладной программы в под-
систему.

     Доступ к контролю через sysadmsh

     sysadmsh предоставляет  простые возможности для установки и
сопровождения подсистемы контроля.  Это позволяет администратору
выполнять установку  и  инициализацию,  модифицировать параметры
подсистемы, сопровождать  подсистему  (резервное   дублирование,
восстановление и т.д.) и выполнять редукцию как общих, так и вы-
борочных данных контроля.

     Средство редукции/анализа данных

     sysadmsh также включает  в  себя  утилиту  редукции/анализа
данных, которая облегчает исследование контрольных журналов пре-
дыдущих сессий контроля или текущей сессии контроля.   Используя
журнальный файл,   созданный демоном контроля,  утилита редукции
может идентифицировать все уплотненные файлы,  нужные для редук-
ции сессии контроля. Так как уплотненные файлы имеют сжатый фор-
мат, программа редукции содержит подпрограммы,  необходимые  для
развертывания файлов.
     Для обеспечения эффективного анализа данных контроля утили-
та редукции  позволяет  задавать  для выборочной редукции данных
определенные типы событий, идентификаторы пользователей, иденти-
фикаторы групп  и имена объектов.  Более того,  вы можете задать
интервал времени,  в течение которого должен производиться поиск
записей, удовлетворяющих  выбранному  критерию.  Если какая-либо
запись не попадает в этот интервал,  она отбрасывается в  данной
редукции.
     Например, вы можете выполнять редукцию данных,  выбирая со-
бытие Отказа DAC для пользователя с идентификатором blf, ведуще-
го поиск объекта /unix.  Будут распечатаны только те записи, ко-
торые отражают попытки доступа blf к /unix,   отвергнутые  ввиду
отсутствия нужных  разрешений.  Это образует мощный механизм для
идентификации событий секретности, представляющих актуальный ин-
терес, без анализа всего контрольного журнала.
.
                            - 5-18 -

     Методология контроля

     В данном разделе описывается,  как функционирует подсистема
контроля, какие критерии используются при сборе данных,   и  как
требования контроля влияют на производительность системы.

     Авторизации контроля

     С подсистемой    контроля    связаны    три    авторизации:
configaudit, writeaudit и suspendaudit.
     Авторизация configaudit  позволяет  устанавливать параметры
контроля для всех пользователей системы.
     Авторизация writeaudit позволяет регистрировать специфичес-
кую информацию в контрольном журнале.
     Авторизация suspendaudit отключает всякий контроль.

     Источники контрольных записей

     Контрольный журнал  содержит содержит информацию о событиях
в системе,  связанных с секретностью. Эффективный контроль охва-
тывает не  только  запросы  на системные вызовы,  поступающие от
пользовательских процессов,  но и определенные события,   такие,
как вход в систему,  выход из системы, неудачные попытки регист-
рации. Эти события критичны для определения того,  кто  выполнял
доступ к системе, в какие моменты времени, с какого терминала, и
какие именно действия были выполнены.  Неудачные попытки регист-
рации невозможно  контролировать  на уровне ядра,  поскольку ему
неизвестно, что конкретно делает прикладная программа. Таким об-
разом, следует  дать возможность генерировать контрольные записи
и некоторым утилитам, влияющих на секретность, например login.
     Контрольные записи  генерируются из трех источников (описы-
ваемых в последующих разделах):
     * механизм контроля ядра
     * надежные прикладные процессы
     * авторизованные подсистемы

     Механизм контроля ядра

     Значительная часть контрольных записей,  хранящихся в конт-
рольном журнале,  генерируется механизмом контроля  ядра.   Этот
раздел подсистемы  контроля генерирует записи в ответ на систем-
ные вызовы пользовательских процессов, отображаемые  в  события,
связанные с секретностью.  Некоторые системные вызовы,  например
open(S), отображаются в несколько событий секретности, в зависи-
мости от  аргументов  пользователя  и  от состояния открываемого
файла. Если open(S) вызывается с флагом O_CREAT, файл создается,
если он  не  существовал.  Если задан флаг O_TRUNC,  выполняется
.
                            - 5-19 -

усечение файла до нулевой длины, если он существует. Это показы-
вает, как  вызов open(S)  может отобразиться в одно из трех раз-
личных событий:  Сделать объект доступным,  Создание объекта или
Модификация объекта.
     Важную роль в определении события играют также коды ошибок.
Ошибки при выполнении системных вызовов, указывающие, что доступ
или разрешение отвергнуты,  равно как и проблемы потребления ре-
сурсов, отображаются в конкретные типы событий. Механизм контро-
ля ядра в конце системного вызова определяет,  какому классу со-
бытий принадлежит вызов,  и задали ли вы контроль этого события.
Более того, данный механизм может также применить дополнительные
критерии выбора,  например, идентификатор пользователя или иден-
тификатор группы. Таким образом можно ограничить генерацию конт-
рольных записей,  задав ее только для избранной группы пользова-
телей.

     Надежные прикладные программы

     Надежная вычислительная база (TCB)  содержит несколько  на-
дежных прикладных программ, необходимых для обеспечения безопас-
ной среды.  Среди них - login, su и различные команды подсистемы
контроля. Для  сокращения  объема данных контроля,  записанных в
контрольный журнал, и для повышения значимости информации в жур-
нале этим  надежным прикладным программам разрешено писать прямо
на устройство контроля. Тем самым, например, login сможет занес-
ти контрольную  запись о регистрации в системе прямо в контроль-
ный журнал,  вместо того,  чтобы представлять эту регистрацию  в
виде набора  системных  вызовов,   требуемых для завершения этой
процедуры.
     Но недостаточно  просто позволить надежным прикладным прог-
раммам писать на устройство контроля.  В механизме контроля ядра
должен быть также предусмотрен способ подавления генерации конт-
рольных записей о системных вызовах,  чтобы избежать загроможде-
ния контрольного  журнала.   Для  этого  существует  авторизация
suspendaudit, о которой уже шла речь.  Надежные прикладные прог-
раммы выполняются с этой авторизацией,  что позволяет приостано-
вить контроль системных вызовов ядра для данного процесса и раз-
решить ему открывать устройство контроля и писать в него. Только
нескольким надежным прикладным программам разрешено это  делать.
Обычный пользовательский  процесс никогда не выполняется с авто-
ризацией suspendaudit.  Механизмом авторизации управляет  login,
используя ограниченные системные вызовы; этот механизм использу-
ет элементы базы данных защищенных паролей.

     Авторизованные подсистемы

     Третий способ генерации контрольных записей использует  ав-
торизованные подсистемы,  такие,  как lp,  cron, terminal и mem.
Иногда подсистема наталкивается на аномалии или  проблемы,   для
которых желательно  составить  информативную контрольную запись.
Однако подсистемы не имеют авторизации writeaudit и не могут за-
носить контрольные записи непосредственно в подсистему.
.
                            - 5-20 -

     Вместо этого подсистемы  формируют  записи,   как  надежные
прикладные программы, и представляют их процессу демона контроля
через защищенный интерфейс.  Демон контроля, являющийся надежной
прикладной программой,  записывает контрольную запись в устройс-
тво контроля. Это позволяет процессам защищенных подсистем гене-
рировать осмысленные и информативные контрольные записи,  не по-
лучая авторизации writeaudit.

     Учитываемость в контроле

     Подсистема контроля отслеживает системные события,  связан-
ные с секретностью,  и сопоставляет их с конкретными пользовате-
лями. Пользователи входят в систему через программу login.   Эта
программа выполняет  аутентификацию пользователя,  чтобы опреде-
лить, разрешен ли ему доступ.  Процедура регистрации  в  системе
усовершенствована таким образом,  чтобы позволить контролировать
и успешные,  и неудачные попытки регистрации.  Когда регистрация
пользователя проходит  успешно,   login проставляет на пользова-
тельском процессе  постоянный  идентификатор  -  регистрационный
идентификатор пользователя (LUID). Независимо от количества сис-
темных вызовов setuid(S)  и setgid(S), сделанных этим процессом,
LUID не изменяется.  Для процесса и для пользователя обеспечива-
ется строгая учитываемость.  Пользовательский процесс может  по-
-прежнему выполнять системные вызовы setuid(S) и setgid(S), кото-
рые также контролируются. В контрольных записях указывается LUID
процесса наряду  с эффективным и реальным идентификаторами поль-
зователя и группы для этого процесса.
     Для того,  чтобы обеспечить наличие всей требуемой информа-
ции о пользовательском процессе  в  выводе  контроля,   механизм
контроля ядра всегда отслеживает определенные системные вызовы -
так называемые обязательные системные вызовы.   Они  существенны
для сопровождения состояния процесса.  Например, системный вызов
open(S) может  задать  относительное  имя  пути,   такое,    как
../newfile. Полное  имя пути для файла зависит от текущего ката-
лога процесса,  который  устанавливается  по  системному  вызову
chdir(S). Запись контроля, содержащую имя пути ../newfile, нель-
зя подвергнуть осмысленной редукции,  не зная заранее  об  имени
текущего каталога.
     Такая же проблема связана и с системным  вызовом  close(S).
Этот системный  вызов  для  закрытия  ранее открывавшегося файла
требует в качестве аргумента только дескриптор файла.  Контроль-
ная запись close(S)  потеряет смысл, если в ней не выводится имя
закрываемого объекта. Но если имя пути не было запомнено при от-
крытии файла, его невозможно предоставить для закрытия.
     По этим причинам  некоторые  системные  вызовы  объявляются
обязательными и  отслеживаются для всех процессов при включенном
контроле. Список обязательных системных вызовов относительно не-
велик; в него включены только те вызовы, которые обязательны для
аккуратного сопровождения   состояния    процесса:     chdir(S),
chroot(S), open(S),   close(S),   fork(S),   exit(S),   exec(S),
setuid(S), setgid(S), dup(S) и fcntl(S).
.
                            - 5-21 -

     Обязательный контроль не ограничивается только этой группой
системных вызовов.   Событие  регистрации  является единственной
обязательной контрольной записью для надежных  прикладных  прог-
рамм. Когда пользователь регистрируется в системе, в регистраци-
онную запись заносится индикатор терминала,  на котором была вы-
полнена регистрация. Если один и тот же пользователь зарегистри-
руется на нескольких терминалах в системе,  его  действия  можно
отслеживать вплоть до конкретного терминала.

     Типы событий контроля

     Каждая контрольная запись,  независимо от того, чем вызвано
ее появление,  сопровождается отметкой о типе события.  Для сис-
темных вызовов  пользовательского процесса тип события определя-
ется механизмом контроля ядра, исходя из самого системного вызо-
ва и  из его результата,  как уже говорилось выше.  При контроле
прикладной программы или подсистемы  тип  события  устанавливает
процесс, формирующий контрольную запись. Этот тип события не из-
меняется ни устройством контроля, ни демоном контроля.
     Типы событий имеют важное значение, так как они классифици-
руют события в системе,  связанные с секретностью. И генерацией,
и редукцией контрольных записей можно управлять,  основываясь на
типах событий.  Например, если вы интересуетесь только пользова-
телями, входящими  в  систему и выходящими из нее,  можно задать
этот тип события для сбора или редукции данных.  Заметьте,   что
если вы  запрашиваете  выборочный сбор событий,  то информация о
событиях тех типов, которые вы исключили, не пишется в контроль-
ный журнал и, разумеется, не подлежит последующей редукции.
     В подсистеме контроля имеется широкий диапазон типов  собы-
тий, нарушающих  равновесие между грануляцией и соответствующими
классами секретности. Поддерживаются следующие типы событий:
     * Запуск и останов системы
     * Вход в систему и выход из нее
     * Создание и прекращение процесса
     * Отображение объектов (например,  файлов) в субъекты (нап-
ример, процессы)
     * Сделать объект доступным
     * Сделать объект недоступным
     * Создание объекта
     * Модификация объекта
     * Удаление объекта
     * Связь между процессами
     * Изменения дискреционного доступа
     * Отказы дискреционного доступа
     * Недостаточная авторизация
     * Отказы ресурса
     * Действия Администратора системы/оператора
     * Действия авторизованной подсистемы
.
                            - 5-22 -

     * Действия секретной базы данных
     * События подсистемы контроля

     Вы можете, используя эти типы событий, выполнять выборочный
сбор и  редукцию данных контроля.  Интерфейс подсистемы контроля
позволяет составлять список типов событий  либо  для  подсистемы
контроля, либо для программы редукции данных.
     Подсистема контроля использует типы событий для того, чтобы
определить, нужно  ли  заносить контрольную запись в контрольный
журнал. Будучи Администратором контроля, вы полностью управляете
отбором событий для контроля.
     Для управления контролем типов событий в подсистеме контро-
ля имеется глобальная системная маска событий контроля,  которая
описана ниже. Подсистема контроля также обеспечивает маску типов
событий для каждого процесса в системе (также описана ниже). Обе
эти маски являются битовыми представлениями целочисленных значе-
ний типов событий, подлежащих контролю.

     Системная маска событий контроля

     Системная маска  событий является глобальной для подсистемы
контроля. Ее  можно установить с помощью sysadmsh и  изменить  в
процессе контроля,   если возникает необходимость выбрать другой
набор событий.  В системной маске событий каждому  типу  события
соответствует один бит; он устанавливается равным единице,  если
контроль нужен.  Это позволяет быстро проверять (с помощью бито-
вых операций), подлежит ли контролю только что созданная запись.
Подсистема контроля использует системную маску событий  для  вы-
числения пользовательских масок, когда при регистрации в системе
создается новый процесс.

     Пользовательская маска событий и маска событий процесса

     Вы можете отменить действие общесистемной маски событий для
любого пользователя,  установив пользовательскую маску событий в
пользовательской строке защищенного пароля.   Каждый  процесс  в
системе обладает маской событий процесса, которая говорит систе-
ме, что нужно контролировать для данного процесса. При регистра-
ции пользователя  программа  login  анализирует пользовательскую
маску событий и устанавливает маску событий процесса для команд-
ного процессора регистрации следующим образом.
     В пользовательской маске событий для каждого  типа  события
контроля предусмотрено одно из трех значений:
     * всегда контролировать это событие
     * никогда не контролировать это событие
     * использовать системную маску событий контроля
     Для каждого  типа  события контроля маска контроля процесса
устанавливается по пользовательской маске,  если в ней  указано,
что данное событие контролируется всегда или никогда.  В против-
.
                            - 5-23 -

ном случае маска контроля процесса устанавливается по  системной
маске событий контроля. В большинстве случаев в пользовательской
маске событий будет установлено третье значение для всех событий
контроля, в  результате чего для этого пользователя будут приме-
няться системные параметры, принятые по умолчанию. Пользователь-
скую маску  можно  использовать для того,  чтобы увеличивать или
уменьшать контролируемый объем информации о пользователях, кото-
рым вы соответственно меньше или больше доверяете по сравнению с
остальными.

     Эффективный системный контроль

     При использовании подсистемы контроля нужно следовать неко-
торым правилам.  Подсистема спроектирована так, чтобы обеспечить
гибкую производительность  и надежность и дать возможность соби-
рать те данные контроля, какие вы желаете. Генерация контрольной
записи поддерживает  предварительную  выборку  событий контроля,
идентификаторов пользователей и идентификаторов групп. Предвари-
тельная выборка нужна, если вы по каким-то причинам хотите скон-
центрироваться на каком-либо конкретном пользователе или  группе
пользователей (когда отдельные пользователи имеют обычай пытать-
ся обращаться к файлам,  к которым им не разрешен доступ).   Для
предварительной выборки  можно также использовать типы событий -
например, контроль только событий входа в систему  и  выхода  из
нее. Предварительная выборка,  кроме того,  дает экономию прост-
ранства на диске, так как уменьшается число контрольных записей,
заносимых подсистемой контроля в файлы сбора данных.  Но  в  ис-
пользовании предварительной  выборки есть и отрицательная сторо-
на. Если  произошло нарушение секретности системы, и это событие
или совершивший его пользователь не был выбран для контроля,  то
запись об этом действии будет утеряна.
     Поэтому следует быть  более  консервативными  -  не  делать
предварительную выборку  событий контроля и пользователей/групп,
а вместо этого осуществлять полный контроль.  В итоге любое про-
исшедшее событие,  связанное с секретностью, будет зафиксировано
в контрольном журнале.  Недостатки полного контроля: он занимает
много места на диске и увеличивает накладные расходы в системе.
     Вы можете комбинировать полный  контроль  с  пост-выборкой,
изучая только записи, представляющие интерес. Пост-выборка обес-
печивает выборочный анализ контрольного журнала на основе  типов
событий, идентификаторов пользователей,  идентификаторов групп и
имен объектов,  а также момента генерации записи.  В общем, под-
система контроля  в сочетании с утилитой редукции/анализа данных
даст вам с помощью предварительной выборки гибкость  при  выборе
между системной   производительностью  и объемом пространства на
диске, а также удобство полного контроля в сочетании с  пост-вы-
боркой.

     Административные аспекты

     Административное управление   подсистемой  контроля  служит
ключом к эффективному контролю.  Если тщательно установить и ак-
куратно пользоваться  подсистемой  контроля,   она  будет мощным
средством в деле поддержания секретности системы и идентификации
возникающих проблем.   Эта  подсистема спроектирована в довольно
завершенном виде в терминах охвата событий  контроля  -  как  со
стороны действий ядра,  так и со стороны использования системных
утилит. Она спроектирована также для  обеспечения  надежности  и
для минимизации влияния на производительность системы в целом.
.
                            - 5-24 -

     Насколько хорошо подсистема удовлетворяет вашим целям,  за-
висит от правильного административного управления системой.   Вы
управляете согласованием  надежности  и производительности,  ис-
пользуя параметры контроля. Неправильная установка может привес-
ти к  низкой  производительности,  потере данных контроля или ко
всему сразу.  Например,  решающее значение имеет установка маски
событий контроля для управления типами событий,  контролируемыми
подсистемой. Так,  если предварительная выборка событий не вклю-
чает события регистрации,  то проникновение в систему через ком-
мутируемую линию связи  может  остаться  незамеченным.   Поэтому
очень важно тщательно рассмотреть следующие три аспекта:
     * задачи, связанные с производительностью
     * задачи, связанные с надежностью
     * требования к контрольному журналу

     Задачи, связанные с производительностью

     При оценке влияния подсистемы  контроля  на  производитель-
ность системы  важно продумать,  какие действия должна выполнять
подсистема. Драйвер устройства подсистемы контроля - это главное
место сбора  контрольных  записей из всевозможных источников; он
отвечает за внесение этих записей в контрольный журнал.  Драйвер
выполняет запись в файл сбора  данных,   совместно  используемый
всеми процессами, контролируемыми в системе. Это напоминает сис-
тему резервирования мест на самолетах, где множество клерков вы-
полняют доступ   к общей базе данных.  Должны быть предусмотрены
механизмы блокировки,  чтобы не допустить смешивания контрольных
записей и обеспечить совместимость базы данных. То же касается и
файлов сбора данных подсистемы контроля.
     Механизм внутренней буферизации и стратегия записи  (write-
behind) пытаются  минимизировать воздействие многократной однов-
ременной записи на файлы сбора данных.  Это позволяет подсистеме
обслуживать контрольные   записи от процессов и прикладных прог-
рамм в то время,  как параллельно идет запись в файлы сбора дан-
ных. Вы можете настроить этот механизм, учитывая, как интенсивно
используется буферизация и как часто идет запись  в  файл  сбора
данных.

     Задачи, связанные с надежностью

     Так же,  как и производительность системы, важна надежность
выдаваемого контрольного журнала.  В традиционных системах  UNIX
нет возможности сохранить целостность файловой системы в резуль-
тате фатального сбоя системы.  Это вызвано тем фактом, что ввод-
-вывод выполняется  с  помощью  пула  буферов,   в которые запись
(главным образом)  ведется асинхронно. Так, изменения, внесенные
в файлы,   на  самом деле могут оказаться не записанными на диск
при фатальном сбое системы.
     Это грустно,  так как события, приводящие к фатальному сбою
системы, представляют для вас наибольший интерес с точки  зрения
контроля. Очень  хотелось  бы минимизировать какую бы то ни было
потенциальную потерю данных из подсистемы контроля в  результате
.
                            - 5-25 -

фатального сбоя системы. Для этого подсистема контроля использу-
ет механизм,  называемый синхронным вводом-выводом,  который вы-
полняет немедленное обновление буферов сбора данных  контроля  и
индексных дескрипторов  файлов сбора данных,  когда происходит их
изменение. Это сводит к минимуму возможные потери  данных  в  ре-
зультате фатального сбоя системы.
     Существует прямая  связь между степенью надежности данных и
производительностью подсистемы контроля. Контрольные записи, ге-
нерируемые механизмом контроля ядра, надежными прикладными прог-
раммами и защищенными подсистемами,  обычно  имеют  длину  40-60
байт. Если  каждая запись пишется на диск синхронно,  как только
она передана подсистеме, результатом будет низкая производитель-
ность; система ввода-вывода переполняется из-за высокой скорости
генерации записей. Выход состоит в том, чтобы буферизовать запи-
си и писать их в контрольный журнал вместе через назначенные ин-
тервалы времени.  Эти интервалы можно  определить  по  истекшему
времени или  по  пороговой величине накопленных данных.  И здесь
также выбор зависит от вас.

     Требования к контрольному журналу

     И, наконец,  последнее, что важно для административного уп-
равления подсистемой  контроля,  - определить,  что именно нужно
контролировать. Можно использовать  возможности  предварительной
выборки при  генерации  записей,  чтобы контрольный журнал скон-
центрировался на одном или нескольких событиях. Например, систе-
ма может использоваться всего лишь маленькой группой людей, а по
ночам простаивать.  Кроме того, в  нерабочее время предоставля-
ются несколько коммутируемых линий связи.  Возможно, вас интере-
сует только учет того,  кто и когда пользуется системой.  В этом
случае предварительную выборку можно использовать только для от-
слеживания событий входа в систему и выхода из нее. Попытки про-
никновения в  систему  со стороны неавторизованных пользователей
будут зафиксированы как неудачные попытки регистрации.
     Контроль можно  также сосредоточить на конкретных пользова-
телях или группах пользователей.  Это позволит вам сконцентриро-
ваться на лицах,  подозреваемых в нарушении стратегии секретнос-
ти. Чем меньше запрошено контроля, тем меньше подсистема контро-
ля влияет на производительность системы.  Полный контроль приво-
дит к  созданию пространной и подробной записи о системных собы-
тиях, но  он требует и больше ресурсов для работы.  Однако  чаще
оказывается удобнее   зарегистрировать  события  и  использовать
средства редукции,  чтобы потом отбросить ненужные записи,   чем
отказаться от сбора записей,  действительно необходимых для ана-
лиза проблемы. Это решение зависит от степени секретности, кото-
рую вы намерены соблюсти.
     Важно понять  определение  сессии  контроля  по отношению к
подсистеме. Предполагается,  что сессия соответствует  интервалу
времени с момента загрузки системы до момента ее выключения. Для
сокращения объема записываемых в контрольный журнал данных в ка-
честве одной  из  задач при проектировании подсистемы была уста-
новлена минимизация размера каждой контрольной записи.  Следова-
тельно, состояние   процесса   определяется  последовательностью
контрольных записей,  а не указывается целиком в каждой  записи.
.
                            - 5-26 -

При таком  подходе  экономия  места и времени оказывается значи-
тельной, но это требует аккуратного административного управления
во избежание ловушек.
     Если отключить подсистему контроля во время работы системы,
а затем вновь включить, будет создана новая сессия. Сессия опре-
деляется как  последовательность файлов сбора данных и уплотнен-
ных файлов,  содержащих контрольные записи, связанные с конкрет-
ным интервалом   времени.  Это может привести к созданию двух (а
возможно, и  больше)  наборов файлов контроля в одном  жизненном
цикле системы.  Некоторые процессы, контролируемые во второй или
последующей сессии,  могут оказаться созданными во время  первой
сессии. Следовательно,   сессия может не содержать все соответс-
твующее состояние процесса,  нужное для какого-либо процесса.  В
свою очередь,  это может вызвать неполную редукцию записей.  Это
относится главным образом к именам файлов,  причем как правило -
только к   относительным именам файлов (а не абсолютным).  Этого
можно избежать,  если выключать контроль только  после  останова
системы.

     Процедуры контроля

     В данном разделе описывается,  как устанавливать, иницииро-
вать, модифицировать  и  прекращать  контроль системы.  Доступ к
каждой из этих функций осуществляется через sysadmsh.  Выход  на
верхний уровень    функций    контроля    производится   выбором
System->Audit; это следующие функции:

   Enable/Disable  Инициирование и прекращение контроля
   Collection      Выбор критерия контроля
                   Формирование конфигурации подсистемы и управ-
                   ление контролируемыми событиями и пользовате-
                   лями. Кроме того, можно управлять параметрами
                   установки, влияющими  на производительность и
                   надежность подсистемы и ее данные
   Report          Редукция данных контроля и составление отчетов
                   Создание и  сохранение  выборочных файлов ре-
                   дукции, редукция сессий  контроля  с  помощью
                   файлов сбора  данных  и  удаление сокращенных
                   файлов после того,  как они становятся ненуж-
                   ными
   Files           Сопровождение файла контрольных записей
                   Проверка сессий контроля,  накопленных в сис-
                   теме, архивирование  сессий  контроля  на ре-
                   зервном носителе, восстановление ранее сохра-
                   ненных сессий  контроля,   удаление  ненужных
                   сессий контроля,  пуск и останов контроля  по
                   мере надобности
.
                            - 5-27 -

     Процедура контроля состоит из трех этапов, описанных в пос-
ледующих разделах:
     1. Установка схемы сбора данных
     2. Включение контроля
     3. Генерация контрольных отчетов

     Установка схемы сбора данных

     Чтобы задать, какие данные следует собирать и где их следу-
ет хранить, сделайте в sysadmsh следующий выбор:

       System->Audit->Collection

     На экране появятся следующие элементы для выбора:

       Directories  Каталоги  файлов сбора данных контроля и уп-
                    лотненных файлов
       Events       Системная маска типов событий
       IDs          Выбор контроля пользователя и группы
       Parameters   Параметры подсистемы контроля
       Summary      Распечатка статистики текущей сессии контроля

     Выберите, какую информацию вы хотите поставлять; каждый вы-
бор описан  в одном из последующих разделов.  Информация о сборе
данных, заданная вами,  записывается в файл параметров.  Система
поставляется с файлом параметров,  заданным по умолчанию,  но вы
должны модифицировать его,  чтобы он удовлетворял вашим требова-
ниям. Инициированная подсистема контролирует события в соответс-
твии с содержимым файла параметров до тех пор, пока параметры не
будут модифицированы,  или до прекращения контроля, или до оста-
нова системы. Заметим, что некоторые параметры можно модифициро-
вать в  ходе  контроля,   а другие действительны только в момент
инициирования контроля.  По мере описания очередной области кон-
фигурации отмечаются статические и динамические величины.

     Каталоги контроля

     Файлы сбора  данных,  генерируемые подсистемой контроля,  и
уплотненные файлы, генерируемые демоном контроля, записываются в
заданные вами  каталоги.  Сессия контроля может содержать файлы,
записанные во множество различных каталогов.  К концу сессии ос-
таются только уплотненные файлы, так как файлы сбора данных уда-
ляются подсистемой, когда они прочитаны демоном контроля. Вам не
нужно отслеживать каталоги,  в которые записываются файлы,  пос-
кольку эта информация имеется в журнальном файле сессии.
     Вы можете увеличить производительность  системы,   поместив
каталоги контроля в файловую систему, расположенную на отдельном
физическом устройстве от остальных файловых систем. Это уменьшит
соперничество за  ресурсы  диска.  Кроме того,  контроль требует
значительного пространства, даже с учетом уплотнения. Когда мес-
.
                            - 5-28 -

та на  диске становится мало,  подсистема выдает предупреждение;
если свободного пространства в файловой системе становится слиш-
ком мало, то подсистема выключает контроль. По этой причине под-
система и демон поддерживают несколько каталогов.  При возникно-
вении ошибки  во время записи в каталог или при исчерпании места
на диске подсистема и демон пытаются  воспользоваться  альтерна-
тивными каталогами, чтобы продолжить работу.
     Каждое имя файла следует вводить  с  указанием  абсолютного
имени пути. Число каталогов, которые вы можете определить, ничем
не ограничено. Если никакие каталоги не заданы, подсистема и де-
мон создают все файлы в корневой файловой системе, используя за-
резервированный каталог подсистемы контроля /tcb/audittmp. Такая
установка файлов конфигурации контроля делается по умолчанию.

     Маска событий контроля

     Как уже говорилось в разделе "Типы событий контроля",  име-
ется некоторое число событий контроля, которые можно выбрать:
                          Таблица 5.5
                        События контроля
---------------------------------------------------------------------------

A. Startup/Shutdown                   B. Login/Logoff
C. Process Create/Delete              D. Make Object Available
E. Map Object to Subject              F. Object Modification
G. Make Object Unavailable            H. Object Creation
I. Object Deletion                    J. DAC Changes
K. DAC Denials                        L. Admin/Operator Actions
M. Insufficient Privilege             N. Resource Denials
O. IPC Functions                      P. Process Modifications
Q. Audit Subsystem Events             R. Database Events
S. Subsystem Events                   T. Use of Privilege
---------------------------------------------------------------------------

 A. Запуск/Останов                   B. Вход/Выход из системы
 C. Создать/Удалить процесс          D. Сделать объект доступным
 E. Отобразить объект в субъект      F. Модификация объекта
 G. Сделать объект недоступным       H. Создание объекта
 I. Удаление объекта                 J. Изменения DAC
 K. Отказы DAC                       L. Действия оператора/Админ.
 M. Недостаточные привилегии         N. Отказы ресурса
 O. Функции IPC                      P. Модификации процесса
 Q. События подсистемы контроля      R. События базы данных
 S. События подсистемы               T. Использование привилегий
---------------------------------------------------------------------------

     Каждый тип события выводится на экран и соответствует  бук-
ве, находящейся в верхней части экрана.  Для событий, подлежащих
контролю, тип события следует задать вместе с символом "Y". Типы
событий, не подлежащие контролю, исключаются опцией "N". Для пе-
реключения ввода с "Y" на "N"  и  обратно  пользуйтесь  клавишей
пробела. Для  перехода  от одного элемента к другому используйте
клавиши перемещения курсора.  Данную маску событий можно модифи-
цировать и  динамически  изменять  для  текущей  сессии контроля
и/или записывать в файл параметров для использования в последую-
щих сессиях контроля.
.
                            - 5-29 -

     Выбор пользователя и группы

     Поля User  и Group можно использовать для динамического из-
менения выбора  контроля в текущей сессии или для следующих сес-
сий. Выбор пользователей и групп можно производить многократно в
течение одной сессии. Если никакие пользователи и группы не выб-
раны, в  результате все пользователи и группы будут исключены из
данного выбора.  Это означает, что все процессы в системе подле-
жат контролю.

     Параметры подсистемы контроля

     Вы можете  изменить  некоторые  параметры  контроля,  чтобы
настроить контроль в соответствии с требованиями системы.  Неко-
торые из  этих параметров связаны с проблемами компромисса между
производительностью и надежностью,  обсуждавшимися выше.  Теперь
это станет яснее. Имеются следующие параметры:

   Write to disk...                             (Запись на диск)
     Эти два параметра определяют  частоту,   с  которой  данные
     контроля синхронно сбрасываются в файл сбора данных контро-
     ля из внутренних буферов контроля.  Сброс можно контролиро-
     вать либо   количеством данных,  накопленных перед записью,
     либо истечением заданного интервала времени. Последняя воз-
     можность особенно полезна,   когда  генерируются  небольшие
     объемы данных и частота генерации записей размазана по вре-
     мени. Можно задать сброс и по счетчику байтов, и по истече-
     нию времени. Интервал времени всегда задается в секундах.
       Плохой выбор этих величин может  неблагоприятно  повлиять
     на производительность.   Слишком частые операции записи за-
     медляют работу системы при чрезмерном трафике ввода-вывода.
     С другой стороны, когда эти значения слишком велики, растет
     вероятность потери данных в случае фатального сбоя системы.
     Рекомендуется при  каждом заполнении одного внутреннего бу-
     фера делать сброс.  Таким образом, обычно достаточно задать
     счетчик сброса равным 1024 (размер внутреннего буфера).
   Wake up daemon...                      (Активизировать демон)
     Данный параметр управляет демоном контроля. Этот демон пос-
     тоянно читает с устройства контроля и получает записи,  по-
     мещенные в файлы сбора данных. Затем эти записи уплотняются
     и записываются   в уплотненные файлы,  которые впоследствии
     подвергаются редукции. Для получения максимальной эффектив-
     ности алгоритма уплотнения демону следует читать блоки дан-
     ных размером от 4К до 5К байт.  Для этого нужна специальная
     обработка в   подсистеме,   так  как обычно операция чтения
     возвращает управление,  когда доступны какие-либо данные, а
     не ждет,    когда накопится определенный объем данных.  Для
     максимальной эффективности этот параметр  должен  лежать  в
     диапазоне от   4096 до 5120 байт.  По умолчанию принимается
     величина 4096 байт.
.
                            - 5-30 -

   Collection buffers                      (Буферы сбора данных)
     Этот параметр  позволяет задать число буферов сбора данных,
     используемых подсистемой. Она использует эти внутренние бу-
     фера для  сбора данных контроля,  записываемых в файл сбора
     данных. Для  увеличения эффективности системы  используется
     несколько буферов, так как все процессы совместно использу-
     ют буферное пространство при попытках занесения записи. При
     наличии нескольких  буферов  процессы могут отложить записи
     на хранение и продолжать выполнение без  блокировки,   даже
     если на   предыдущих буферах выполняется ввод-вывод.  Нужно
     как минимум два буфера.  Большинство систем не могут эффек-
     тивно использовать более 4-6 буферов без проблем с произво-
     дительностью. Не  существует вполне  определенного  способа
     вычисления оптимального числа буферов. В общем случае зада-
     вайте эту величину исходя из ожидаемой загрузки  процессами
     системы.
   Collection/Audit output file switch...
      (Переключение выходных файлов контроля/файлов сбора данных)
     Эти два параметра позволяют задать максимальный размер, ко-
     торого могут  достигать  файлы  сбора  данных и уплотненные
     файлы перед созданием нового файла. Если для обоих парамет-
     ров выбрать маленькие значения,  это приведет к чрезмерному
     числу переключений файлов.  Так как уплотненные файлы явля-
     ются постоянными,  это также может вызвать обилие небольших
     файлов в системе.  Если выбрать слишком  большие  значения,
     это создаст ситуацию,  при которой файлы сбора данных конт-
     роля будут использовать много места на диске, даже если они
     будут частично считаны демоном контроля, что должно было бы
     вызвать их удаление.  Размером уплотненных файлов  контроля
     можно управлять потому, что эти файлы остаются в системе до
     редукции или удаления.  Желательно,  чтобы эти файлы  имели
     размер, приемлемый  для  работы с ними,  в том числе для их
     легкого сохранения и восстановления.  По умолчанию для фай-
     лов сбора данных берется значение 50К байт, а для уплотнен-
     ных файлов - 1 мегабайт.  Убедитесь,  что максимальный раз-
     мер, выбранный  для уплотненных файлов,  не превышает уста-
     новленной в системе величины ulimit,  контролирующей макси-
     мальный размер, допустимый для пользовательского файла.
   Compacted audit output files
                           (Уплотненные выходные файлы контроля)
     Эта опция предусмотрена на случай, если нужно иметь и неуп-
     лотненные файлы контроля. Особой необходимости использовать
     эту опцию нет, так как уплотнение не требует много дополни-
     тельного времени на обработку, а итоговая экономия места на
     диске обычно больше 60 процентов.  Алгоритм уплотнения  со-
     держится в пользовательском процессе демона контроля,  а не
     выполняется в ядре подсистемы.
.
                            - 5-31 -

   Enable audit on system startup
                         (Включить контроль при запуске системы)
     Если ответ положительный,  то в результате  контроль  будет
     начинаться автоматически  при  каждой перезагрузке системы.
     Это поле выходит на экран только через опцию View; оно  ус-
     танавливается в соответствии с тем, был ли контроль включен
     или выключен. Если контроль был выключен, то при запуске он
     будет отключаться.
   Shutdown gracefully on disk full
             (Выполнить постепенный останов при заполнении диска)
     Эта опция позволяет системе выполнить автоматический  оста-
     нов, если она исчерпала пространство на диске; это помогает
     избежать порчи данных.
   Change parameters for this/future session
                 (Изменить параметры для данной/следующей сессии)
     Последние две  опции на экране позволят вам динамически из-
     менять текущую сессию и/или вносить изменения в  постоянную
     часть файла параметров контроля для следующих сессий.

     Текущая статистика

     Последняя опция,  предусмотренная в меню Collection,  - это
получение статистики текущей сессии контроля. Сюда входит инфор-
мация о номере текущей сессии,  количестве файлов сбора данных и
уплотненных файлов,  количестве записей,   созданных  механизмом
контроля ядра,  и записей,  созданных прикладными программами, и
др. Если в данный момент контроль не действует,   статистика  не
выводится.
     Пример распечатки Summary:
+---------------------------------------------------------------
|         *** Audit Subsystem Statistics ***
|                               (Статистика подсистемы контроля)
|  Current Audit Session-6      (Текущая сессия контроля - 6)
|  Current Collection File Sequence Number-1488
|                 (Порядковый номер текущего файла сбора данных)
|  Total count of audit data written:      7659433
|                 (Общий счетчик записанных данных контроля)
|  Total count of audit records written:   156666
|                 (Общий счетчик записанных контрольных записей)
|  Audit records written by applications:  81
|        (Контрольные записи, сделанные прикладными программами)
|  Audit records written by system calls:  155083
|        (Контрольные записи, сделанные системными вызовами)
|  System calls not selected for audit:    751889
|                 (Системные вызовы, не отобранные для контроля)
|  Total number of audit device reads:     2977
|        (Общее число операций чтения на устройстве контроля)
|  Total number of audit device writes:    324
|        (Общее число операций записи на устройстве контроля)
|  Total number of collection files:       1489
|                 (Общее число файлов сбора данных)
|
.
                            - 5-32 -

     Включение/выключение контроля

     Чтобы включить или выключить контроль,  используйте следую-
щие выборы в sysadmsh:

     System->Audit->Enable

     System->Audit->Disable

     Функция включения,  используя текущий файл параметров конт-
роля, выполняет инициализацию  подсистемы.   Функция  выключения
доступна из того же меню и вызывает постепенный выход из контро-
ля (когда все файлы сбора данных прочитаны демоном и уплотнены).
Затем демон  прекращает  работу,   оставляя лишь журнальный файл
сессии контроля и уплотненные файлы сессии.
     Помните, что  если  выключить  контроль,  а затем вновь его
включить, не перезагрузив систему,  то это может вызвать  потерю
некоторых данных процесса, нужных для поддержания состояния про-
цесса. Если контроль прекращен для модификации  некоторых  пара-
метров, учтите,  что большинство параметров подсистемы можно мо-
дифицировать и в процессе контроля.  Для обеих функций - включе-
ния и выключения - предусмотрены экраны для подтверждения, кото-
рое нужно сделать до завершения функции в sysadmsh.  Когда конт-
роль включается  или  выключается,  на экран выходит сообщение о
состоянии контроля в момент перезагрузки; если  контроль  выклю-
чен, то  при запуске системы он будет выключен,  а если включен,
то он будет вновь включен.

     Сопровождение файлов контроля

     Функции сопровождения файлов контроля доступны  в  sysadmsh
при следующем выборе:

     System->Audit->Files

     Доступны следующие файловые функции:

     List      Вывод списка файлов сессии контроля в системе

     Backup    Дублирование файлов сессии контроля на резерв-

                   ном носителе
     Delete    Удаление файла сессии контроля

     Restore   Восстановление  файлов сессии контроля  с ре-

                   зервного носителя

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

     Вывод списка контрольных записей

     Этот выбор дает немедленный ответ: выводится список файлов,
доступных в каталогах контроля.

     Дублирование контрольных записей

     Поскольку сессии контроля требуют  много  места  на  диске,
часто оказывается необходимым внести данные контроля в архив,  а
затем либо сократить их,  либо восстановить на некоторый  период
времени, если они нужны для анализа проблем, которые нельзя выя-
вить немедленно.  Такую возможность  дает  интерфейс  дублирова-
ния/восстановления. Опция  Backup требует в качестве ввода номер
сессии. Его можно получить,  сгенерировав контрольный отчет (см.
ниже). Выбрав  дублирование,   вы должны выбрать и выходное уст-
ройство для дублирования.  Им может служить любой съемный  носи-
тель, доступный в системе.

     Замечание
     Контроль требует очень много места на диске.  В зависимости
от количества  пользователей в системе и от количества контроли-
руемых событий,  может потребоваться еженедельное дублирование и
удаление файлов сессий. Если имеется расписание дублирования, то
выбор опции дублирования контроля,  вероятно,   не  потребуется.
Вновь заметим, что очень важно удалить файлы после того, как они
продублированы в свободном пространстве на диске.

     Точно так же сессии, которые были продублированы на съемных
носителях с помощью программы интерфейса,  могут быть восстанов-
лены опцией Restore.  Для этого вставьте носитель с сохраненными
файлами сессии  в  устройство  восстановления и задайте имя уст-
ройства.

     Удаление файлов

     Для удаления сессий  контроля  предусмотрен  выбор  Delete.
Сессии можно внести в архив на резервном носителе,  а затем уда-
лить, чтобы освободить место в файловой системе для других  фай-
лов контроля. Сессии удаляются по номеру сессии. Типичный сцена-
рий должен включать составление отчета (см.  ниже) для определе-
ния, какие сессии существуют и которые из них можно удалить. За-
тем номер сессии предоставляется опции Delete,  которая  удаляет
все файлы, связанные с этой сессией.
.

                            - 5-34 -

     Составление контрольных отчетов

     Чтобы посмотреть контрольный журнал какой-либо сессии,  вы-
берите в sysadmsh:

     System->Audit->Report

     Доступны следующие опции:

     List      Вывод списка всех доступных файлов выборки

     View      Просмотр параметров в файле выборки

     Create    Создание нового файла выборки

     Modify    Модификация имеющегося файла выборки

     Delete    Удаление имеющегося файла выборки

     Generate  Выполнение цикла редукции, с заданием сессии

                   контроля и файла выборки

     Как говорилось выше,  критерий сбора данных контроля предс-
тавляет первый уровень выбора для контроля. После того, как дан-
ные собраны, их можно сократить (выполнить редукцию), т.е. обра-
ботать для получения нужной коллекции данных о конкретном аспек-
те работы системы. Меню редукции данных позволяют выбрать выпол-
нение редукции и определить,  какие нужны записи. Опция Generate
обеспечивает широкий диапазон критериев пост-выборки,  с помощью
которых можно указать конкретные события, пользователей или объ-
екты.
     Последняя опция выводит на экран сокращенный  вывод  сессии
контроля. Для этого требуется номер сессии и файл выборки, кото-
рым может быть любой из файлов выборки,  построенный  с  помощью
опций создания или обновления файлов выборки.

     Файлы выборки

     Программа редукции  использует для пост-выборки контрольных
записей файл под названием файл  выборки.   Этот  файл  строится
программой интерфейса  Администратора  контроля на основе вашего
ввода. Вы можете строить и сохранять множество файлов, каждый со
своим набором  критериев выбора.  Затем можно выполнить редукцию
несколько раз для одних и тех же данных сессии,  но каждый раз с
различными файлами выборки.  Таким образом,  вы можете строить и
сохранять файлы выборки, часто используемые при редукции данных.
Когда нужно будет выполнить редукцию данных,  можно использовать
уже построенные файлы.
     Для сопровождения  файлов  выборки используются опции List,
View, Create,  Modify и Delete.  Процедура выборки подробнее об-
.
                            - 5-35 -

суждается в следующем разделе. Экран с опциями, приведенными вы-
ше, используется для вызова экрана следующего уровня,  чтобы вы-
полнить нужную функцию над файлом выборки.  Как ясно из названий
опций, файлы выборки могут быть созданы,  обновлены, модифициро-
ваны или удалены.
     Для редукции контрольных записей  можно  выбрать  следующие
критерии:

     Event types     Типы событий
                     Каждый тип  события,  который следует отби-
                     рать, помечается  буквой "Y". Типы событий,
                     которые нужно исключить из выборки, остают-
                     ся с пробелами или помечаются  буквой  "N".
                     Если событие не выбрано, то соответствующие
                     ему записи будут удалены из вывода.
     Start and Stop times       Начальное и конечное время
                     Если есть подозрение, что в некоторый пери-
                     од времени могло произойти событие, связан-
                     ное с секретностью,  то  с  помощью  данной
                     возможности можно   выбрать  только записи,
                     сгенерированные в этот период.  Это поможет
                     сосредоточиться на анализе записей, которые
                     вероятнее всего прояснят происшедшее.
     Users/Groups    Пользователи/Группы
                     Для контроля  можно  выделить пользователей
                     или группы пользователей.  Если целью  про-
                     никновения в систему был определенный поль-
                     зовательский бюджет, то можно выбрать толь-
                     ко те записи,  которые были сгенерированы с
                     идентификатором пользователя   или  группы,
                     соответствующим данному  пользователю.  Это
                     позволит при просмотре записей  сконцентри-
                     роваться на подозреваемых бюджетах.
     Files           Файлы
                     Для выбора  контрольных  записей  из вывода
                     можно также использовать файлы (имена  объ-
                     ектов). Если запись содержит несколько имен
                     объектов и заданное имя  совпадает с каким-
                     нибудь именем объекта в записи,  то эта за-
                     пись выбирается. Имена объектов должны быть
                     заданы в виде абсолютных имен  путей,   так
                     как все  относительные имена объектов прог-
                     рамма редукции преобразует в абсолютные.

     Можно использовать любую комбинацию этих критериев.  Напри-
мер, для  одной сессии можно задать выборку по временному интер-
валу, по идентификатору пользователя и по имени  объекта.   Если
запись попадает  в заданный интервал времени,  сгенерирована за-
данным пользователем и содержит один из заданных  объектов,   то
она выбирается для вывода.
     При выборке записей действует система приоритетов, управля-
ющая применением критериев выборки. Если тип событий контроля не
задан, то запись не выбирается, независимо от остальных критери-
.
                            - 5-36 -

ев. Аналогично,   если определена выборка по времени и запись не
удовлетворяет критерию,  она не выбирается. Если запись удовлет-
воряет критерию выбора по типу события и по времени,  то она вы-
бирается в том случае, если в ней содержится идентификатор поль-
зователя (регистрационный,  эффективный или реальный), идентифи-
катор группы (эффективный или реальный)  или объект,  заданный в
файле выборки.   Если никакие пользователи,  группы и объекты не
заданы, то выполняется выборка только по типу события и по  вре-
мени.

     Понятие редукции данных

     Опция reduce меню Audit Report имеет важное значение, как и
все компоненты,  ответственные за генерацию контрольных записей.
Эта утилита преобразует уплотненные данные контрольного  журнала
в организованную и читабельную совокупность записей, позволяющую
выявить проблемы в системе.  Средства редукции дают  возможность
сократить время,  требуемое для анализа интересующих записей. Вы
можете сконцентрироваться на конкретном пользователе,  на группе
пользователей, имени объекта,  типах событий и записях, сгенери-
рованных за определенный интервал времени. Все это можно исполь-
зовать совместно, что дает мощный механизм для выбора.
     Чтобы расшифровать контрольный журнал,  нужно понять значе-
ние записей,   выдаваемых программой.  Помните,  что контрольные
записи исходят из трех источников:  системные вызовы,   надежные
прикладные программы  и  защищенные подсистемы.  Форматы записей
для разных источников очень сильно отличаются друг от друга. Бо-
лее того,   разные  системные вызовы сильно отличаются и друг от
друга по содержанию,  так как выполняют  специфические  функции.
Например, при  создании  процесса  fork(S)  нужно указать только
идентификатор создаваемого процесса и идентификатор  породившего
его процесса.  А для системного вызова open(S) должны быть запи-
саны объект,  для которого выполняется операция,  и его имя. Для
таких системных вызовов, как mount(S) и link(S), должна быть за-
писана и другая информация; каждый из них  требует  записи  двух
имен объектов.  Утилита редукции сортирует представленные ей за-
писи и выводит информацию в упорядоченном виде.
     Выходные записи  можно  классифицировать  на две категории:
записи системных вызовов,  выданные механизмом контроля ядра,  и
контрольные записи прикладных программ.  Некоторые элементы счи-
таются общими для всех выходных записей.  Например, дата и время
записи, а также связанный с ней идентификатор процесса выводятся
в записи любого типа.  В остальном содержимое записи зависит  от
того, что было под контролем.

     Форматы записей системных вызовов

     Записи системных  вызовов  составляют большинство записей в
контрольном журнале.  В операционной системе  имеется  более  60
системных вызовов.  Не все они подлежат контролю, так как только
некоторые системные вызовы считаются связанными с  секретностью.
Чуть больше половины системных вызовов имеют возможность создать
контрольную запись.  Некоторые системные вызовы поддерживают  по
.
                            - 5-37 -

несколько функций (такие,  как fcntl(S),  msgsys(S),  shmsys(S),
semsys(S)), а контрольные записи могут генерироваться только для
отдельных функций.  Например, системный вызов fcntl(S) позволяет
открывать файлы,  дублируя дескрипторы открытых файлов,  а также
получать специальные флаги файлов,  обеспечиваемые ядром. Первый
случай представляет  контролируемое событие (сделать объект дос-
тупным для субъекта), а второй реально не связан с секретностью.
Наконец, системные вызовы могут выполнять функции, которые расс-
матриваются как контролируемые события,  но в данный  момент  не
разрешены системной маской событий.
     Вывод записей системных вызовов большей частью одинаков для
всех вызовов.  Варианты возникают вследствие того, что некоторые
системные вызовы действуют над объектами (например,  open(S)), и
имя объекта содержится в записи. Каждая запись содержит по край-
ней мере время, дату, идентификатор процесса, имя системного вы-
зова, тип события,  регистрационный идентификатор  пользователя,
реальные идентификаторы пользователя и группы, а также индикатор
успешности или неуспешности вызова.
     Каждая выходная  запись содержит,  наряду с этими основными
информационными полями,  и другие,  в зависимости от  системного
вызова. Базовая запись показана на Рисунке 5-1. Он содержит при-
мер общего заголовка,  а также поля типа события, системного вы-
зова и результата.

Process ID: 68         Date/Time: Sat Mar  5 13:25:09 1988
Luid: root  Euid: root  Ruid: root  Egid: root  Rgid: root
Event type:
System call:
Result:

       Рисунок 5-1. Общий заголовок выходной записи

     Каждый системный  вызов классифицируется по типу системного
события, исходя из выполняемых им действий. Это используется для
описания типа  события системного вызова.  Предоставляется акту-
альное имя системного вызова.  В большинстве случаев это  одноз-
начно идентифицирует действие.  К сожалению, некоторые системные
вызовы UNIX перегружены: точка входа системного вызова использу-
ется для выполнения множества действий.  Например, msgsys() слу-
жит входом системного вызова для операций IPC с очередями  сооб-
щений. Эта   точка  входа  используется  для  вызова  msgget(S),
msgop(S) и msgctl(S), выполняющих определенные функции IPC.
     Подобные системные вызовы не являются самоочевидными.  Под-
система контроля осведомлена об  этих  перегруженных  вызовах  и
предоставляет дополнительную  информацию  для  идентифицирования
конкретной функции. Для успешных системных вызовов результат оп-
ределяется как successful (успешный).  Для вызовов, возвращающих
ошибку, эта ошибка используется для дополнительной классификации
записи. Например,  вызов open(S), не выполнившийся из-за отсутс-
твия разрешения,  классифицируется как access denial (отказ дос-
тупа). Неудачный  системный вызов,  генерирующий контрольную за-
пись, указывает ошибку в поле результата.
.
                            - 5-38 -

     Выходные записи  системных  вызовов  можно разделить на две
группы. К первой группе относятся записи,  в  которых  не  нужно
указывать имена путей. Например, системный вызов fork(S) контро-
лируется для отслеживания новых процессов,  порождаемых в систе-
ме, но контрольная запись не требует имени пути. С другой сторо-
ны, open(S)  возвращает дескриптор файла для заданного имени пу-
ти. Последующие  операции,  такие как close(S),  используют этот
дескриптор файла.  Чтобы контрольные записи были значимы,   этот
второй тип записей должен содержать имя пути. С помощью програм-
мы редукции это имя пути сопоставляется  со  всеми  последующими
действиями, выполняемыми для данного файла,  даже если эти дейс-
твия выполнялись с дескриптором файла.
     В следующей  таблице приведены контролируемые системные вы-
зовы, не содержащие информации об имени пути.

                pipe       fork        kill
                setuid     setgid      exit
                read       setpgrp     msg
                sem        shm         write

          Рисунок 5-2. Системные вызовы без имен путей

     Для системного  вызова  из этого списка выходная запись ис-
пользует общую маску записи, изображенную на Рисунке 5-3. Данный
пример иллюстрирует выходную запись для успешного системного вы-
зова setuid(S).

Process ID: 6381       Date/Time: Tue Mar 15 11:25:19 1988
Luid: blf   Euid: blf   Ruid: root  Egid: root  Rgid: root
Event type: Modify process   (Тип события: Модифицировать процесс)
System call: Setuid
Result: Successful

     Рисунок 5-3. Запись системного вызова setuid(S)

     Аналогичным образом на следующем рисунке показана  выходная
запись системного вызова setuid(S),  не выполнившегося из-за от-
сутствия разрешения для файла.  Заметьте, что классификация типа
события здесь другая, и что ошибка отражается в поле результата.

Process ID: 6381       Date/Time: Tue Mar 15 11:25:19 1988
Luid: blf   Euid: blf   Ruid: blf   Egid: guru  Rgid: guru
Event type: Modify process
System call: Setuid
Result: Failed  (EPERM) -Not owner         (Неудача: Не владелец)

     Рисунок 5-4. Выходная запись при отказе доступа

     Многие системные  вызовы  этой группы генерируют в выходной
записи дополнительную информацию, уточняющую данные контрольного
журнала. Системные вызовы семафора,  разделяемой памяти, очереди
.
                            - 5-39 -

сообщений и security(S)  перегружены.  Они отображаются во  мно-
жество функций. Эти контрольные записи идентифицируют конкретную
выполняемую функцию и затрагиваемый объект (например,  разделяе-
мую память). Вызовы close(S), dup(S) и fcntl(S) работают с деск-
рипторами файлов,  полученными из имен путей.  Выходная  запись,
указывающая dup(S)  для дескриптора файла, не будет очень нужна,
так как она не идентифицирует файл однозначно.   Таким  образом,
reduce соотносит  дескриптор  файла  с именем пути и проставляет
это имя в записи.
     Хотя системные вызовы read(S)  и write(S) включены в список
на Рисунке 5-3, они контролируются только в определенных обстоя-
тельствах, и для них не выделяется специальная выходная  запись.
Оба этих  вызова контролируются только при первом выполнении для
файла. Последующие операции чтения и записи  не  контролируются,
так как они не добавляют никакой информации.  Контрольные записи
используются в reduce для отслеживания состояния  файла.   Когда
файл закрывается  вызовом  exec(S),   exece(S),   close(S)   или
exit(S), в запись системного вызова  для  действия,   вызвавшего
закрытие файла,   включается  имя объекта и индикатор чтения или
записи. Это иллюстрируется Рисунком 5-5.

Process ID: 421        Date/Time: Sat Mar  5 17:15:09 1988
Luid: blf   Euid: blf   Ruid: blf   Egid: guru  Rgid: guru
Event type: Make object unavailable  (Сделать объект недоступным)
System call: Close
File Access-Read: Yes   Written: No
                    (Доступ к файлу по чтению: Да   Записан: Нет)
Object: /tmp/datafile
Result: Successful

         Рисунок 5-5. Запись системного вызова close(S)

     Вторая группа системных вызовов, показанная на Рисунке 5-6,
включает в состав выходной записи имена путей.  Имя пути  предс-
тавляет назначение системного вызова.  Записи для двух системных
вызовов (link(S) и mount(S)) на самом деле содержат по два имени
пути.

                open       unlink      creat
                exec       chdir       mknod
                chown      chmod       stat
                umount     exece       chroot
                link       mount

         Рисунок 5-6. Системные вызовы с именами путей

     Каждый из  этих  системных вызовов использует одно или нес-
колько имен путей в качестве  аргументов  вызова.   Имена  путей
контролируются и играют важную роль в процессе редукции.  Выход-
ные записи для этих вызовов указывают имя объекта, с которым вы-
полнялись действия.  Это имя также сохраняется программой редук-
ции и там,  где это нужно,   сопоставляется  дескриптору  файла,
.
                            - 5-40 -

возвращаемому данным системным вызовом. Это соответствие исполь-
зуется другими системными вызовами,  такими как dup(S),  которые
работают с файлом,  но не содержат имя пути. На Рисунке 5-7 при-
ведена выходная запись,  сгенерированная в результате системного
вызова creat(S).   Формат записи представляет собой базовый фор-
мат, дополненный именем пути.

Process ID: 64         Date/Time: Sat Mar  5 23:25:09 1988
Luid: root  Euid: root  Ruid: root  Egid: root  Rgid: root
Event type: Object creation              (Создание объекта)
System call: Creat
Object: /tmp/daemon.out
Result: Successful

           Рисунок 5-7. Выходная запись с именем пути

     Все вызовы  этой  группы пользуются одним и тем же форматом
имени пути. Два вызова (link(S) и mount(S)) используют два имени
пути: источник и назначение. Типичная запись, выдаваемая систем-
ным вызовом link(S), показана на Рисунке 5-8.

Process ID: 14231      Date/Time: Thu Mar 16 03:25:39 1988
Luid: lp    Euid: lp    Ruid: lp    Egid: lp    Rgid: lp
Event type: Object creation
System call: Link
Source: /tmp/printfile
Target: /usr/spool/lp/lp3014
Result: Successful

       Рисунок 5-8. Выходная запись с двумя именами путей

     Два других  системных  вызова этой группы генерируют специ-
альные выходные записи.  Это вызовы chown(S) и chmod(S), которые
используются для   изменения разрешений дискреционного доступа и
смены владельца объекта.  Так как эти действия имеют отношение к
секретности, в записи выводятся старые и новые значения владель-
ца объекта,  имени группы и режима.  На Рисунке 5-9 показана вы-
ходная запись от системного вызова chmod(S).

Process ID: 6841       Date/Time: Sat Mar  5 13:25:09 1988
Luid: blf   Euid: blf   Ruid: blf   Egid: guru  Rgid: guru
Event type: Discretionary Access Change
                              (Изменение дискреционного доступа)
System call: Chmod
Object: /tmp/demo/newfile
Old values: Owner-blf  Group-guru  Mode-100600
               (Старые значения: Владелец... Группа... Режим...)
New values: Owner-blf  Group-guru  Mode-100666     (Новые знач.)
Result: Successful

     Рисунок 5-9. Запись системного вызова chmod(S)

.
                           - 5-41 -

     Контрольные записи прикладных программ

     Имеется шесть различных типов контрольных записей,  генери-
руемых прикладными программами. Форматы этих записей аналогичны.
В отличие от системных вызовов, любая запись одной из этих кате-
горий всегда имеет идентичный формат, хотя информация варьирует-
ся. Категории записей следующие:
     * События входа в систему и выхода из нее
     * События подсистемы контроля
     * События пользовательского пароля
     * События авторизованной подсистемы
     * События защищенной базы данных
     * События блокировки терминала и пользовательского бюджета

     Каждая запись содержит определенную информацию,  общую  для
всех выходных  контрольных  записей.   Сюда входят идентификатор
процесса, время и дата, а также тип события контроля. Содержание
остальной части выходной записи зависит от ее типа.  Поля, зави-
сящие от записи, описываются в последующих разделах.

     Запись входа в систему и запись выхода из системы

     Все попытки  зарегистрироваться  в  системе  контролируются
программой регистрации. Это касается как успешных, так и неудач-
ных попыток.  Тем самым собирается важная информация о  доступах
пользователей в систему и о попытках доступа.  Вы можете исполь-
зовать контрольные записи входа и выхода из системы, чтобы опре-
делить, кто на самом деле работает в системе.  Они также полезны
в случае повторных попыток проникновения в систему. В операцион-
ной системе поддерживается возможность блокировки терминала пос-
ле определенного числа попыток, и это событие также можно поста-
вить на контроль. Итак, у вас есть все средства, необходимые для
отслеживания (и предотвращения) доступа в систему.
     Каждая запись регистрации содержит индикатор,  обозначающий
конкретное действие,  которое контролировалось.  Существует  три
возможности: успешная регистрация,  неудачная регистрация, выход
из системы.  Все успешные входы и выходы приводят к формированию
выходной контрольной записи, указывающей пользовательский бюджет
и терминал регистрационной сессии.  Если попытка неудачна,   имя
пользователя не имеет значения - ведь попытка не удалась. В этом
случае выводится только терминал,  на котором  была  предпринята
попытка, а  также  поля базовой записи.  На Рисунке 5-10 показан
вывод в случае успешной регистрации.
.
                            - 5-42 -

Process ID: 2812       Date/Time: Fri Mar   4  10:31:14 1988
Event type: Login/Logoff Activity
              (Тип события: Вход в систему или выход из системы)
Action: Successful Login               (Действие: Успешный вход)
Username: blf                          (Имя пользователя:...)
Terminal: /dev/tty2                    (Терминал:...)

    Рисунок 5-10. Выходная запись успешного входа в систему

     Запись пользовательского пароля

     Все попытки модифицировать пароль пользовательского бюджета
(и успешные,  и неудачные)  тщательно контролируются подсистемой
авторизации. По соображениям секретности контрольные записи  для
этих событий не содержат текста пароля, но только указывают бюд-
жет и контролируемое действие.  Все действия подразделяются  на:
успешное изменение пароля,  неудачное изменение, отсутствие раз-
решения на изменение пароля.  На Рисунке 5-11 показана контроль-
ная запись для случая неудачной попытки изменения пароля.

Process ID: 7314       Date/Time: Tue Mar   1  18:30:44 1988
Event type: Authentication database activity
                          (Работа с базой данных аутентификации)
Action: Unsuccessful password change
                                    (Неудачное изменение пароля)
Username: blf

Рисунок 5-11. Контрольная запись для неудачного изменения пароля

     Запись защищенной базы данных

     Программы, сопровождающие и модифицирующие защищенные  базы
данных системы, контролируют все попытки доступа и нетривиальные
ситуации, связанные с базами данных.  Здесь может  идти  речь  о
множестве проблем,  начиная с проблем целостности и кончая отка-
зов, связанных с секретностью.  Помимо заголовка записи и назва-
ния контролируемого действия, в выводе содержится имя программы,
обнаружившей данную проблему,  название объекта, с которым проб-
лема связана, ожидаемые и фактические значения, а также действие
и результат события.

Process ID: 7314       Date/Time: Tue Mar   1  18:30:44 1988
Event type: Authentication database activity
Command: authck
Object: Protected password database
                        (Объект: защищенная база данных паролей)
Value: Expected-0 Actual-0
                      (Значение: ожидаемое - 0, фактическое - 0)
Security action: /tcb/files/auth/code
                        (Действие, связанное с секретностью:...)
Result: extraneous file in protected password hierarchy
     (Результат: посторонний файл в защищенной иерархии паролей)

    Рисунок 5-12. Выходная запись для защищенной базы данных
.
                            - 5-43 -

     Запись подсистемы контроля

     События, затрагивающие работу  подсистемы  контроля,   сами
очень тщательно контролируются.  Выборы audit в sysadmsh и демон
контроля auditd генерируют контрольные записи для функций, кото-
рые они поддерживают.  Помимо этого, драйвер устройства контроля
также создает контрольные записи для запросов определенных функ-
ций. Контролируются следующие функции:
     инициализация подсистемы;
     прекращение подсистемы;
     модификация параметров подсистемы;
     демон контроля включен;
     демон контроля выключен;
     останов подсистемы;
     ошибка подсистемы.
     Каждая выходная  запись включает информацию общего заголов-
ка, а также индикатор контролируемой функции.  Тем самым обеспе-
чивается точный  учет всех попыток повлиять на работу подсистемы
контроля. На Рисунке 5-13 показана  актуальная  контрольная  за-
пись, индицирующая запуск и инициализацию подсистемы.

Process ID: 517        Date/Time: Wed Mar   2   8:30:04 1988
Event type: Audit subsystem activity  (Работа подсистемы контроля)
Action: Audit enabled                 (Контроль включен)

       Рисунок 5-13. Выходная запись подсистемы контроля

     Запись защищенной подсистемы

     Каждая защищенная подсистема может генерировать контрольные
записи через  демон контроля.  Эти записи указывают на необычные
условия, обнаруженные подсистемой.  Например,   если  подсистема
сталкивается с проблемами разрешений для файла или ей отказано в
обслуживании из-за нехватки памяти или других ресурсов,  подсис-
тема генерирует  сообщение о соответствующей ошибке.  Эти записи
можно использовать, чтобы поддерживать безопасность системы.
     Помимо обычного вывода заголовка записи,  в записях подсис-
темы содержится имя команды,  действие и результат.  Имя команды
относится к команде, обнаружившей несовместимость и сформировав-
шей контрольную запись. Действие и результат описывают действия,
предпринятые подсистемой, и обнаруженную проблему. На Рисунке 5-
14 показана контрольная запись, сгенерированная подсистемой.

Process ID: 2812       Date/Time: Fri Mar   4  10:31:14 1988
Event type: Authorized subsystem activity
                              (Работа авторизованной подсистемы)
Subsystem: System Administrator Subsystem
                             (Подсистема: Администратор системы)
Security action: Update /etc/rc
             (Действие, связанное с секретностью: Обновление...)
Result: Cannot open for update
                 (Результат: Файл нельзя открыть для обновления)

    Рисунок 5-14. Выходная запись авторизованной подсистемы
.
                            - 5-44 -

     Запись терминала/пользовательского бюджета

     Пользовательские бюджеты или терминалы могут оказаться заб-
локированными, если число неудачных попыток регистрации в систе-
ме превысит значение, хранящееся в базе данных авторизации. Нап-
ример, если терминал используется для входа в систему, результа-
том чего является серия неудачных попыток регистрации,  то прог-
рамма регистрации может заблокировать терминал после  определен-
ного числа попыток. Аналогичным образом, если пользователь пыта-
ется зарегистрироваться в бюджете,  и ему это несколько  раз  не
удается, то  пользовательский  бюджет  может  быть заблокирован.
Блокировка бюджетов и терминалов не позволит осуществлять доступ
к ним до тех пор, пока Администратор системы не снимет блокиров-
ку. Терминал или пользовательский бюджет могут быть заблокирова-
ны при  попытке  проникновения в систему.  Соответствующие конт-
рольные записи содержат обычную информацию заголовка,   а  также
идентификатор пользовательского бюджета или терминала.

Process ID: 517        Date/Time: Wed Mar   2   8:30:04 1988
Event type: System administrator activity
                                 (Работа администратора системы)
Action: User account locked by system administrator
  (Пользовательский бюджет заблокирован администратором системы)
Username: root                           (Имя пользователя: ...)

            Рисунок 5-15. Выходная запись блокировки
                   пользовательского бюджета

     Проблемные области подсистемы контроля

     Ниже приведены описания ситуаций, в которых возникают проб-
лемы, связанные с контролем.

     Пространство на диске

     Подсистема контроля может сгенерировать большое число конт-
рольных записей.  Хотя они и достаточно маленькие, но памяти мо-
гут потребовать очень много. Поэтому при административном управ-
лении системой следует соблюдать осторожность.  Контрольная  ин-
формация должна  направляться  на диски,  где имеется достаточно
доступного пространства.  В подсистеме имеются встроенные  меха-
низмы защиты,  которые выдают предупреждения, когда в устройстве
контроля остается мало места.  Если ситуация не  выправляется  и
объем оставшегося  пространства на диске становится меньше неко-
торого порогового значения, то подсистема пытается переключиться
на новый каталог контроля. Поэтому альтернативные каталоги конт-
роля следует размещать в других файловых системах. Когда подсис-
тема наталкивается  на ошибку ввода-вывода,  она пытается напра-
вить контроль в новый каталог из списка.
.
                            - 5-45 -

     Фатальные сбои системы

     В большинстве систем рано или  поздно  происходит  фатальный
сбой, невзирая на все усилия по обеспечению устойчивости. В таком
случае существует возможность потери данных в контрольном журнале
из-за  несогласованности  буферизованных  выходных  записей и ин-
дексных дескриптов файлов. Подсистема контроля делает все возмож-
ное,  чтобы  воспользоваться  синхронным вводом-выводом для таких
критичных операций, как сброс буферов, индексных дескрипторовфай-
лов и каталогов.  Однако нет гарантии, что данные во всех случаях
попадут на диск.  В особенности это касается случаев,  когда сбой
на диске вызывает фатальный сбой системы.
     После перезагрузки вы,  что вполне вероятно, можете обнару-
жить повреждение  файловой системы на файлах контрольного журна-
ла. У вас может не оказаться другого выбора,  кроме как  удалить
файлы контроля  и  снять  проблему.   Это немного компрометирует
контрольный журнал, но зато устраняет все проблемы по восстанов-
лению файловой системы после любого нарушения.

     Сообщения подсистемы

     Подсистема контроля обладает устойчивостью. Она обрабатыва-
ет ошибки ввода-вывода,  пытаясь переключить файлы сбора  данных
или уплотненные  файлы в новый каталог.  То же самое происходит,
когда требуется восстановление в случае, если в файловой системе
остается слишком мало свободного пространства.  Бывают ситуации,
когда подсистема не в состоянии продолжить работу. Если запорчен
дисковый носитель или в файловой системе не осталось места, под-
система прекращает работу и выдает сообщение об этом на  систем-
ную консоль. Любое условие аварийного прекращения приводит к вы-
даче сообщения на консоль,  с помощью которого можно  определить
проблему. Если говорить вообще о системных проблемах, то симпто-
мы обычно не сводятся только к контролю. Одна из вероятных проб-
лем, которая может возникнуть при удалении и последующем восста-
новлении файла параметров контроля, связана с дублированием соз-
даваемых сессий.   При каждом включении контроля создается новая
сессия. Сессия определяется журнальным файлом и всеми  уплотнен-
ными файлами, сгенерированными за период контроля. Файлы снабжа-
ются уникальной меткой - номером сессии,  чтобы  их  можно  было
легко идентифицировать и использовать утилитами подсистемы,  ко-
торым нужен доступ к файлам; эти утилиты  могут  работать  не  с
именами файлов,  а с номерами сессий. Если допускается оставлять
сессии в машине, а файл параметров модифицируется таким образом,
что номер сессии подсистемы сбрасывается,  то в результате может
быть предпринята попытка создать файл контроля с тем же  именем,
что и  в предыдущей сессии.  В таком случае старая сессия должна
быть занесена в архив и удалена с помощью  программы  интерфейса
до возобновления контроля.

     Терминология контроля

     Файл сбора данных контроля (audit collection file)  - файл,
в который ведется запись драйвером устройства подсистемы контро-
ля; он   содержит необработанные данные контроля,  полученные из
всевозможных источников контроля в системе - системных  вызовов,
надежных прикладных программ, авторизованных подсистем.
.
                            - 5-46 -

     Уплотненный файл  контроля (audit compaction file)  - файл,
записываемый демоном контроля; он содержит буфера данных,   счи-
танных с  драйвера устройства контроля.  Данные могут быть в уп-
лотненном или неуплотненном формате,  в  зависимости  от  опций,
выбранных при запуске сессии контроля.
     Демон контроля (audit daemon)  - демон-процесс,  стартующий
при переходе системы в многопользовательское состояние. Он чита-
ет контрольные записи с устройства подсистемы контроля, уплотня-
ет эти  записи и записывает их в постоянный уплотненный файл для
последующей редукции. Демон также выступает в роли программы ин-
терфейса, которая  позволяет  незащищенным  подсистемам заносить
контрольные записи в устройство контроля.
     Сессия контроля (audit session) - период времени от включе-
ния контроля до его выключения.  В течение этого времени  данные
контроля сохраняются в уплотненных файлах, куда ведет запись де-
мон. Каждая сессия снабжается уникальным номером, и каждый файл,
являющийся частью сессии, содержит этот уникальный идентификатор
в своем имени.  В каждой сессии имеется главный файл, собирающий
информацию о сессии и имена файлов сессии для последующей редук-
ции.
     Подсистема контроля (audit subsystem)  состоит из компонен-
тов, обеспечивающих надежный сервис контроля.  Сюда входит драй-
вер устройства контроля, механизм контроля ядра, демон контроля,
интерфейс Администратора контроля и программа редукции контроля.
     Контрольный журнал (audit trail) - совокупность контрольных
записей для сессии контроля,  которые можно редуцировать в отчет
о работе системы.
     Редукция контроля (audit reduction)  - преобразование необ-
работанных данных из контрольного журнала в выходные записи, со-
держащие даты, идентификаторы пользователей, имена файлов и типы
событий. Выходная  запись описывает контролируемое событие в чи-
табельном текстовом виде.
     configaudit - авторизация ядра,  которая позволяет устанав-
ливать параметры контроля для всех пользователей системы.
     Маска управления  событиями  (event control mask)  - маска,
определяемая и поддерживаемая для каждого пользователя  в  защи-
щенной базе данных паролей.  Эта маска указывает, имеет ли поль-
зовательская маска событий приоритет по  сравнению  с  системной
маской событий,  принимаемой по умолчанию, при включении контро-
ля. Каждый  установленный бит маски управления событиями опреде-
ляет приоритет маски диспозиции событий.
     Маска диспозиции событий (event disposition mask) - опреде-
ляемая пользователем маска, применяемая в сочетании с маской уп-
равления событиями для  управления  пользовательскими  событиями
контроля. Если в пользовательской маске управления событиями ус-
тановлен какой-нибудь бит, то соответствующий бит маски диспози-
ции событий будет определять,  должно ли это событие контролиро-

    Filesystems ->
независимо от  значения системной маски событий,  принимаемой по
умолчанию.
.
                            - 5-47 -

     Тип события (event type)  - классификация для каждой  конт-
рольной записи.   События  в системе,  связанные с секретностью,
классифицируются по определенным типам,  которые можно использо-
вать для управления генерацией контроля и редукцией. Каждое сис-
темное действие,  успешное или неудачное,  можно отнести к неко-
торому типу  события.   Этот  тип события затем будет определять
диспозицию записи.
     Объект (object) - это то, на что воздействует субъект (нап-
ример, файлы, разделяемые сегменты памяти, семафоры, каналы свя-
зи, очереди сообщений).
     Пост-выборка (post-selection)  -  выборочное  использование
собранных данных  контроля.   Пост-выборка  включает сбор данных
контроля по всем событиям и пользователям,  так что информация в
контрольном журнале оказывается максимально полной.  Любое собы-
тие, связанное с секретностью,  в конце сессии попадет в  уплот-
ненные файлы контрольного журнала.
     Предварительная выборка (pre-selection)   используется  для
управления выборочной  генерацией контрольных записей.  Это дает
возможность определенным пользователям и  событиям  генерировать
контрольные записи, с отбрасыванием остальных записей. В резуль-
тате получается более компактный контрольный журнал,  с меньшими
подробностями, чем при полном контроле.
     Файлы выборки (selection files)  генерируются  через  адми-
нистративный интерфейс   для   управления  выборочной  редукцией
сессий контроля.  Критерии выборки определяют отбор  пользовате-
лей, объектов и событий для выходных записей.
     Субъект (subject)  - активный элемент, выполняющий действия
с объектами, - например,  процесс в системе, осуществляющий дос-
туп к файлам.
     suspendaudit -  авторизация ядра,  приостанавливающая конт-
роль.
     Системная маска  контроля  (system audit mask)  - системная
маска событий,  принимаемая по умолчанию; используется для опре-
деления, какие события подлежат контролю в случае, когда пользо-
вательская маска не имеет приоритета.
     Пользовательская маска  контроля (user audit mask)  - общее
название масок управления событиями и диспозиции событий,  кото-
рые вместе с системной маской,  принятой по умолчанию, управляют
генерацией контрольных записей для каждого процесса.
     writeaudit - авторизация ядра,  позволяющая заносить специ-
альную информацию в контрольный журнал.
.
                            - 5-48 -

     СРЕДСТВА ЗАЩИТЫ ФАЙЛОВОЙ СИСТЕМЫ

     В вашу систему включены важные возможности файловой  систе-
мы, которые расширяют средства защиты, имеющиеся в других систе-
мах UNIX. Эти возможности значительно повышают безопасность сис-
темы. Одна из таких возможностей - очистка битов SGID и SUID при
записи в файл - является пассивной в том смысле,  что для своего
выполнения не требует никаких действий с вашей стороны,  т.е. со
стороны Администратора системы.  Другие возможности являются ак-
тивными, т.е.   вы можете использовать их или не использовать по
своему усмотрению. К числу таких активных возможностей, описыва-
емых ниже, относится специальное использование sticky-бита в ка-
талогах и использование променов. В настоящем разделе также опи-
сано импортирование файлов из других систем.

     Очистка битов SUID/SGID и sticky-бита при записи

     Операционная система обеспечивает очистку битов SUID,  SGID
и sticky-бита для файлов, в которые производится запись. Очистка
выполняется для  того,   чтобы предотвратить замещение программы
SUID/SGID или программы, считающейся резидентной в памяти.
     В следующем примере дважды демонстрируется очистка бита:

     $ id
     uid=76(blf)  gid=11(guru)
     $ ls -l myprogram
     -rwsrwsrwt    1 root  bin    10240  Jan 11 22:45 myprogram
     $ cat sneakyprog > myprogram
     $ ls -l myprogram
     -rwxrwxrwx    1 root  bin    10240  Mar 18 14:18 myprogram
     $
     $ ls -l anotherprog
     -rws------    1 blf   guru   83706  Dec 15  1987 anotherprog
     $ strip anotherprog
     $ ls -l anotherprog
     -rwx------    1 blf   guru   17500  Mar 18 14:19 anotherprog
     $

     Первый случай демонстрирует,  что очистка  бита  происходит
при записи в файлы,  принадлежащие другому пользователю.  Второй
случай показывает,  что очистка бита делается даже  для  файлов,
принадлежащих тому  же пользователю.  Следует иметь в виду,  что
очистка происходит при замещении файлов. Подправьте сценарий ус-
тановки, чтобы сбросить соответствующие режимы.
     Имея данную возможность,  вы можете  вводить  sticky-бит  в
пользовательские программы,  не опасаясь, что пользователь может
переключить программы в одном и том же файле.  Это  тот  случай,
.
                            - 5-49 -

когда дополнительная секретность позволяет вам  выполнить  функ-
цию, которую система может отслеживать, вместо того, чтобы прос-
то запретить эту возможность.
     Биты SUID,   SGID  и sticky в каталогах не очищаются.  Биты
SUID и SGID не имеют смыслового значения для каталогов, а значе-
ние sticky-бита  для  каталогов требует как раз его постоянства.
Это описывается ниже.

     Sticky-бит и каталоги

     Еще одно важное усовершенствование  касается  использования
sticky-бита в  каталогах.   Каталог с установленным sticky-битом
означает, что удалить файл из этого каталога может только владе-
лец файла  или супер-пользователь.  Другие пользователи лишаются
права удалять файлы.  Установить  sticky-бит  в  каталоге  может
только супер-пользователь.   Sticky-бит  каталога,  в отличие от
sticky-бита файла, остается в каталоге до тех пор, пока владелец
каталога или  супер-пользователь  не  удалит каталог явно или не
применит к нему chmod(C)  или chmod(S).  Заметьте,  что владелец
может удалить sticky-бит, но не может его установить.
     Вы можете с помощью этой возможности добиться  максимальной
секретности, поместив  sticky-бит  во все общие каталоги.  В эти
каталоги может писать любой пользователь,  отличный от админист-
ратора. Пользователям надо объяснить,  что sticky-бит,  вместе с
маской umask,  равной 077 (значение,  принимаемое по умолчанию),
дают решение  многих проблем в менее секретных системах.  Вместе
эти две возможности не дают пользователям изменять или  замещать
файлы общего каталога.  Единственная информация, которую они мо-
гут получить из файла, - это его имя и атрибуты.
     В следующем примере демонстрируется эффект данного средства.

     $ id
     uid=76(blf)  gid=11(guru)
     $ ls -al /tmp
     total 64
     drwxrwxrwt    2 bin   bin     1088  Mar 18 21:10 .
     dr-xr-xr-x   19 bin   bin      608  Mar 18 11:50 ..
     -rw-------    1 blf   guru   19456  Mar 18 21:18 Ex16566
     -rw-------    1 blf   guru   10240  Mar 18 21:18 Rx16566
     -rwxr-xr-x    1 blf   guru   19587  Mar 17 19:41 mine
     -rw-------    1 blf   guru     279  Mar 17 19:41 mytemp
     -rw-rw-rw-    1 root  sys       35  Mar 16 12:27 openfile
     -rw-------    1 root  root      32  Mar 10 10:26 protfile
     $ rm /tmp/Ex16566
     rm: /tmp/Ex16566 not removed. Permission denied
                     (Файл ... не удален. Разрешение отвергнуто)
     $ rm /tmp/protfile
     rm: /tmp/protfile not removed. Permission denied
     $ cat /tmp/openfile
          Ha! Ha!
     You can't remove me.     (Ха-ха! Вы не можете меня удалить)
     $ rm /tmp/openfile
.
                            - 5-50 -

     rm: /tmp/openfile not removed. Permission denied
     $ rm -f /tmp/openfile
     $ rm /tmp/mine mytemp
     $ ls -l /tmp
     drwxrwxrwt    2 bin   bin     1088  Mar 18 21:19 .
     dr-xr-xr-x   19 bin   bin      608  Mar 18 11:50 ..
     -rw-------    1 blf   guru   19456  Mar 18 21:18 Ex16566
     -rw-------    1 blf   guru   10240  Mar 18 21:18 Rx16566
     -rw-rw-rw-    1 root  sys       35  Mar 16 12:27 openfile
     -rw-------    1 root  root      32  Mar 10 10:26 protfile
     $ cp /dev/null /tmp/openfile
     $ cat /tmp/openfile
     $ cp /dev/null /tmp/protfile
     cp: cannot create /tmp/protfile   (cp не может создать файл)
     $ ls -l /tmp
     drwxrwxrwt    2 bin   bin     1088  Mar 18 21:19 .
     dr-xr-xr-x   19 bin   bin      608  Mar 18 11:50 ..
     -rw-------    1 blf   guru   19456  Mar 18 21:18 Ex16566
     -rw-------    1 blf   guru   10240  Mar 18 21:18 Rx16566
     -rw-rw-rw-    1 root  sys        0  Mar 18 21:19 openfile
     -rw-------    1 root  root      32  Mar 10 10:26 protfile
     $

     Единственные удаленные файлы -  это  файлы,   принадлежащие
пользователю blf,  так как удаление проводил именно этот пользо-
ватель. Он не смог удалить никакой другой файл,  даже  доступный
файл /tmp/openfile. Однако значение режима самого файла позволя-
ло blf разрушить его содержимое; именно поэтому  значение  umask
необходимо для   защиты   данных.    И  наоборот,   режим  файла
/tmp/protfile  вместе со sticky-битом каталога /tmp  делает файл
/tmp/protfile недоступным.
     Во всех общих каталогах следует установить sticky-бит.  Это
относится к следующим каталогам (но не только к ним):
     *  /tmp
     *  /usr/tmp
     *  /usr/spool/uucppublic
     Если у   вас   есть  сомнения,   гораздо  лучше  установить
sticky-бит в каталоге, чем оставить его нулевым. Вы можете уста-
новить sticky-бит каталога следующей командой (здесь directory -
имя каталога):

        chmod u+t directory
.
                            - 5-51 -

     Промены

     Промен -  это  термин,    обозначающий   защищенный   домен
(Protected Domain),  где активизатор программы SUID получает не-
которую защиту из программы.  Для программы SUID при ее работе с
частью дерева  файлов,  выбранной активизатором,  обеспечивается
действительность проверки на доступ, как для владельца программы
SUID, так  и для активизатора.  Подробное описание этой модели с
примерами применения приведено в разделе promain(M) "Справочника
пользователя" (User's  Reference).   Промены также обсуждаются в
разделах auths(C) и setauths(S).
     Промены - это инструмент,  предназначенный для исследования
программ SUID4; они не имеют общезначимого  смысла.   Вы  должны
иметь о   них представление,  чтобы помочь пользователям отлажи-
ваться в их среде.

     Импортирование данных

     Файлы и файловые системы,  перенесенные  в  систему  извне,
представляют угрозу  системе  при неправильной работе с ними.  В
остальной части данного раздела описываются средства, используе-
мые при импортировании файлов в вашу систему.

     Файлы

     Нельзя принимать  на  веру  разрешения для чужого файла.  В
каждой системе не только файлы /etc/passwd и /etc/group  отличны
от аналогичных  файлов  других  систем,  но и стратегии в разных
системах диктуют установку разных режимов.  Эти соображения осо-
бенно важно  учитывать,  когда импортируемые файлы являются сис-
темными файлами.
     Чтобы свести к минимуму свое вмешательство и подчистку пос-
ле импортирования файлов,   нужно  приучить  всех  пользователей
системы пользоваться опциями архивных программ, которые не отме-
няют принадлежность файлов. Некоторые версии tar(C) поддерживают
опцию -o, которая не аннулирует принадлежность файла владельцу и
группе. Владельцем  файла является импортировавший его пользова-
тель. Программа  cpio(C)  только меняет владельца файла, если ее
вызывает супер-пользователь.  В общем случае архивные  программы
сбрасывают режимы файлов, устанавливая их такими, как описано на
архивном носителе. Помимо того, что файл может получить режимы с
большими разрешениями,  чем это необходимо,  для него могут ока-
заться установленными биты SUID, SGID или sticky. Все эти ситуа-
ции чреваты проблемами с секретностью.
     Чтобы свести к минимуму эффект архивных разрешений, исполь-
зуйте те  архивные  опции,  которые только проверяют содержание,
ничего не извлекая.  Например, опция -tv функции tar и опция -tv
функции cpio позволяют увидеть режимы файлов на ленте и подгото-
виться к неблагоприятным эффектам при  извлечении  файлов.   При
поступлении незнакомых  каталогов  сначала следует импортировать
.
                            - 5-52 -

файлы в иерархию,  недоступную прочим пользователям. Затем вруч-
ную перенесите файлы,  предварительно подправив имена владельцев
и режимы в соответствии со стратегией вашей системы.

     Файловые системы

     При монтировании файловых систем,  созданных или  обрабаты-
вавшихся в другом месте,  могут возникнуть те же проблемы, что и
указанные выше для импортирования файлов.  Для  файловых  систем
имеются и две дополнительные проблемы.  Первая: файловая система
может быть запорчена.  Вторая:  разрешения для файла в  файловой
системе могут быть неприемлемы для вашей системы.
     Файловая система, перенесенная из другого места, может ока-
заться запорченной. Данные могут быть некорректны или предназна-
чаться для другого типа системы.  В обоих  случаях  монтирование
дефектной файловой системы может  вызвать  в  системе  фатальный
сбой, дальнейшую   порчу данных импортированной файловой системы
или повреждение других файловых систем из-за побочных  эффектов.
Именно поэтому  команда mount(ADM)  зарезервирована  для  супер-
пользователя. Программу fsck(ADM) следует выполнять во всех фай-
ловых системах до их монтирования.  Если файловая система содер-
жит системные данные, следует также выполнить программу System->
Software->Permissions.
     Импортированные файловые  системы  могут  содержать файлы с
разрешениями, не соответствующими вашей системе.  Может оказать-
ся, что  супер-пользователь импортированной файловой системы ус-
тановил имена владельцев,  sticky-биты,  специальные файлы, биты
SUID/SGID и композиции дерева файлов, несовместимые со стратеги-
ей вашей системы. Специальные файлы могут иметь владельцев и ре-
жимы, которые  вы не можете разрешить.  Программы с битами SUID,
SGID или sticky, установленными в другом месте, будучи смонтиро-
ваны, так  и работают в вашей системе и могут вызвать проблемы с
секретностью.
     Вы можете  воспользоваться  опцией  -s команды ncheck(ADM),
чтобы выявить некоторые проблемные файлы до монтирования. Файло-
вые системы,  как и файлы,  перед монтированием следует просмот-
реть. Когда файловая система впервые монтируется под  вашим  уп-
равлением, лучше  смонтировать  ее  в личном каталоге,  чтобы вы
могли вручную просмотреть файловую систему перед ее монтировани-
ем в надлежащем месте.  Проверьте организацию файлов, владельцев
и режимы файлов и ожидаемое использование файловой системы.
.
                            - 5-53 -

     Шифрование данных

     Предусмотрена дополнительная  защита  в  виде  программного
обеспечения шифрования данных - команды crypt(C).  Это  средство
описано в  главе "Использование надежной системы" в "Руководстве
пользователя" (User's Guide).

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

     Установка бита GID каталога

     По умолчанию идентификатор группы (GID)  только что создан-
ного файла  устанавливается равным GID создавшего процесса/поль-
зователя. Это правило можно изменить,  установив бит GID в ката-
логе. Установка  GID в каталоге приведет к тому,  что новый файл
будет иметь GID этого каталога. Чтобы установить бит GID в ката-
логе, введите следующую команду (здесь directory - имя каталога):

        chmod g+s directory
.
                            - 5-54 -

     ПРОВЕРКА ЦЕЛОСТНОСТИ СИСТЕМЫ

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

     /etc/fsck

     Файловые системы,   содержащие  чувствительные файлы,  сами
должны рассматриваться как чувствительные объекты.  Так, целост-
ность файловой системы, обеспечиваемая программой fsck, повышает
общую безопасность системы.
     Программу fsck следует выполнять после фатального сбоя сис-
темы или аварийного прекращения.  Как обычно,  перед выполнением
fsck убедитесь,   что файловая система "заморожена" (quiescent).
При фатальном сбое системы некоторые пользовательские, системные
или контрольные  файлы  могли  находиться в процессе построения.
Хотя эти данные могут быть утеряны, программа fsck может восста-
новить некоторые  из  этих файлов в каталоге Ъ1lost+foundЪ3 файловой
системы и, по крайней мере, устранить основные проблемы с файло-
вой системой.
     Для выполнения fsck сделайте следующий выбор в sysadmsh:

     Filesystems->Check

и задайте файловую систему, которую нужно проверить.

     Контрольный журнал

     Не забудьте о контрольном журнале.  Это важный источник ин-
формации при  отслеживании  системных проблем.  Большое значение
имеют не только зарегистрированные в нем события защищенной под-
системы, администратора системы и базы данных аутентификации, но
и те основные системные события,  которые могут  быть  отслежены
вплоть до последующих общесистемных проблем.
.
                            - 5-55 -

     Порядок проверок после фатального сбоя системы

     Основное правило состоит в том, чтобы выполнять эту работу,
начиная с самых базовых компонентов файловой системы.  В против-
ном случае исправления, вносимые на более высоких уровнях, могут
быть уничтожены программами, исправляющими нижние уровни. С уче-
том этого  следует  использовать  программы,  описанные в данном
разделе, после фатального сбоя системы или какой-либо аномалии в
следующем порядке:
     1. Выполнение проверки файловой системы.
     2. Составление контрольного отчета.
     3. Проверка совместимости базы данных аутентификации.
     4. Проверка разрешений для системных файлов.
     Эти программы следует выполнять,  когда система  "замороже-
на". Для  этого  нужно  работать  в  однопользовательском уровне
(уровень выполнения Single-user, или S), как описано в init(M).

     Защищенные базы данных

     Некоторые базы данных хранят характеристики самой  системы,
ее пользователей,  администраторов и подсистем, так что вычисли-
тельная установка может контролировать свои параметры секретнос-
ти. Эти  базы данных размещены в системе и ведутся администрато-
ром. Формат этих файлов описан в разделе authcap(F) "Справочника
пользователя" (User's Reference).

     Замечание
     Защищенные базы данных никогда не следует редактировать са-
мому. Надежные  системные утилиты и выборы sysadmsh(ADM)  сопро-
вождают и выводят информацию,  содержащуюся в базах данных.   Не
следует пытаться модифицировать их каким-либо другим способом.

     База данных  контроля и база данных распределения устройств
являются независимыми базами данных. Остальные базы данных, опи-
санные ниже (база данных защищенных паролей,  база данных управ-
ления терминалами,  база данных подсистем и база данных управле-
ния файлами)   имеют  общее название база данных аутентификации.
Она находится в ведении Администратора аутентификации,  имеющего
авторизацию auth.  Далее следует краткое описание каждой из этих
баз данных.
.
                            - 5-56 -

Контроль        База данных контроля  управляет работой  системы
                контроля. Сюда входят типы активности, регистри-
                руемые системой в контрольном журнале,  атрибуты
                производительности/надежности подсистемы контро-
                ля, а также устройства файловых систем,  в кото-
                рых собираются данные контроля. Изменяя парамет-
                ры, хранящиеся в базе данных контроля, Админист-
                ратор контроля  может настроить подсистему конт-
                роля в соответствии с требованиями  вычислитель-
                ной установки по производительности и секретнос-
                ти.
Распределение   База данных распределения устройств хранит имена
 устройств      путей, соответствующих одним и тем же физическим
                устройствам. Например, /dev/ttya и /dev/ttyA мо-
                гут обозначать один и тот же серийный порт,  со-
                ответственно с отключенным и включенным управле-
                нием модемами.   Эту  базу   данных   используют
                init(M) и getty(M),  чтобы воспрепятствовать од-
                ной из форм обмана при входе в систему, как опи-
                сано ниже.
Защищенные      База данных защищенных паролей хранит информацию
 пароли         по секретности о каждом пользователе.  В пользо-
                вательской строке содержится  зашифрованный  па-
                роль (который  больше не фигурирует в регулярной
                базе данных паролей /etc/passwd) и изменение па-
                роля, авторизация  пользователя  и пользователь-
                ские параметры контроля. При правильном формиро-
                вании этой  базы данных Администратор аутентифи-
                кации контролирует, как пользователи идентифици-
                руются и аутентифицируются в системе,  какие до-
                пустимы типы привилегированных пользователей,  и
                в каком объеме пользовательские действия регист-
                рируются в контрольном журнале. База данных сис-
                темных параметров,    принятых по умолчанию (она
                содержит общесистемные   параметры  секретности,
                принимаемые по   умолчанию)  рассматривается как
                часть базы данных защищенных паролей.
Терминалы       Доступ в систему через терминалы  контролируется
                базой данных управления терминалами.   Эта  база
                данных регистрирует входы в систему через каждый
                подсоединенный терминал (последний пользователь,
                вошедший в систему или вышедший из нее,  времен-
                ные отметки и т.д.). База данных управления тер-
                миналами позволяет Администратору аутентификации
                устанавливать разную стратегию для разных терми-
                налов, в зависимости от физических и администра-
                тивных потребностей вычислительной установки.
Подсистемы      База данных подсистем  хранит список пользовате-
                лей, которым даны специальные привилегии на  вы-
                полнение либо функций администратора подсистемы,
.
                            - 5-57 -

                либо специальных функций в защищенной  подсисте-
                ме. Эта база данных - еще один элемент базы дан-
                ных аутентификации.  Она улучшает  учитываемость
                административных действий, позволяя только опре-
                деленным пользователям выполнять программы  соп-
                ровождения внутренних  подсистем.   Безопасность
                повышается за счет контроля,  кто имеет разреше-
                ние на выполнение программ сопровождения подсис-
                тем, и учета реальных пользователей,  наделенных
                административными ролями.
Управление      База данных управления файлами  помогает поддер-
 файлами        живать целостность  Надежной вычислительной базы
                (TCB). Для этого она ведет запись о содержимом и
                атрибутах защиты файлов,  важных для работы TCB.
                Эта база  данных  является эффективным средством
                обнаружения модификаций  активной   копии   TCB.
                Программа администратора  системы integrity(ADM)
                проверяет разрешения  файлов  TCB   относительно
                этой базы данных.

     Проверка базы данных аутентификации

     Для проверки  совместимости  базы данных аутентификации ис-
пользуется программа authck(ADM). Она имеет несколько опций, ог-
раничивающих диапазон  проверки.   Для полной проверки можно ис-
пользовать флаг -a - возможно,  при выполнении программы  authck
из crontab или at.  Более полная информация приведена в описании
authck(ADM).

     Проверка целостности системы

     Программа integrity(ADM)  сравнивает элементы  базы  данных
управления файлами  с актуальными разрешениями файлов в системе.
(Доступ к этой программе контролируется авторизацией  подсистемы
sysadmin, но проще всего выполнять ее супер-пользователю.)  Фик-
сируются файлы,  имеющие больше разрешений,  чем указано в  базе
данных управления  файлами.   При  обнаружении  ошибки проверьте
файл, чтобы определить:
     каковы имя владельца/группа/режимы актуального файла?
     какие определены разрешения для файла?  (Воспользуйтесь оп-
цией -e для integrity.)
.
                            - 5-58 -

     когда была  произведена  последняя  модификация и последний
доступ к файлу?
     кто присутствовал в системе в эти моменты?
     что содержится в контрольном журнале по этим моментам?
     Найдя причину расхождения, установите правильные разрешения
для файла как часть процедуры очистки.  Сделав это для всех фай-
лов, упомянутых  в отчете,  снова выполните программу integrity,
чтобы установить достоверность разрешений.
     Опция -e программы integrity дает точное объяснение причины
(причин) ошибки.  Опция -m включает в отчет только файлы, содер-
жащиеся в  базе  данных,  но не в системе.  Иногда при фатальном
сбое системы или проникновении через защиту теряются важные сис-
темные файлы. Программа integrity служит для их определения. За-
метим, что в некоторых дистрибуциях отдельные файлы  обычно  от-
сутствуют. Чтобы понять, какова ваша система, используйте коман-
ду

     integrity -m

вскоре после того,  как ваша система установлена и работоспособ-
на. После этого только дополнительные файлы, о которых сообщает-
ся при нормальной работе, будут представлять интерес.
     Опция -v  программы integrity вызывает распечатку некоторой
дополнительной информации,  включая отчеты о файлах,   прошедших
проверку целостности. Эта опция дает очень большой вывод.
     Все ошибки, обнаруженные при проверке целостности, оформля-
ются в  виде  контрольных записей,  соответствующих событию базы
данных в контрольном журнале.
.
                            - 5-59 -

     СООБЩЕНИЯ ОБ ОШИБКАХ, СВЯЗАННЫХ С СЕКРЕТНОСТЬЮ

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

     Сообщения об ошибках регистрации в системе

     С регистрацией в системе связаны несколько сообщений, кото-
рые приведены ниже, с указанием мер, которые следует предпринять.

Login incorrect.                       (Некорректная регистрация)
     Пользователь неправильно ввел свое регистрационное имя  или
     пароль. Если это сообщение повторяется, вам, возможно, при-
     дется изменить пароль,  чтобы дать пользователю возможность
     зарегистрироваться снова.

Account is disabled - see Authentification Administrator.
  (Бюджет отключен - обратитесь к Администратору аутентификации)
     Бюджет заблокирован по одной из следующих трех причин.
     1. Вы заблокировали бюджет в результате  выбора  Accounts->
        User->Examine:Logins в sysadmsh.  Если вы хотите восста-
        новить бюджет, используйте тот же выбор, чтобы разблоки-
        ровать бюджет.
     2. Завершился жизненный цикл пароля этого бюджета.   Пароль
        бюджета не  изменялся до истечения его жизненного цикла.
        Чтобы восстановить работоспособность бюджета,  назначьте
        новый пароль для сброса жизненного цикла. Порекомендуйте
        пользователю изменять пароль  до  завершения  жизненного
        цикла.
     3. Было предпринято несколько неудачных попыток  доступа  к
        бюджету, число которых превысило пороговое значение, ус-
        тановленное вами для блокировки.  Эти попытки могут  де-
        латься с разных терминалов. Перед восстановлением бюдже-
        та рекомендуется  определить  причину  блокировки.   Она
        может заключаться в том,  что пользователь неумело рабо-
        тает с клавиатурой, или кто-то хотел таким способом заб-
        локировать бюджет,   или  это действительно была попытка
        проникновения в бюджет.  Вы,  возможно, пожелаете умень-
        шить или увеличить пороговое значение,  в зависимости от
        самих пользователей системы,  от ценности  данных  и  от
        доступности системы для посторонних.
.
                                - 5-60 -

Terminal is disabled - see Authentification Administrator.
 (Терминал отключен - обратитесь к Администратору аутентификации)
     Терминал заблокирован  для  всех  пользователей.  Как и при
     блокировке бюджета,  это либо Администратор  аутентификации
     заблокировал бюджет  с помощью sysadmsh,  либо число некор-
     ректных попыток регистрации (в одном или нескольких  бюдже-
     тах) превысило пороговое значение, установленное для данно-
     го терминала.  В обоих случаях следует выяснить, что случи-
     лось, а затем с помощью sysadmsh снять блокировку.

Account is disabled but console login is allowed.
     или
Terminal is disabled but root login is allowed.
       (Бюджет отключен, но разрешена регистрация в консоли; или
        Терминал отключен, но разрешена регистрация в root)
     Эти сообщения связаны с попытками супер-пользователя  заре-
     гистрироваться в консоли.  Предполагая, что устройство кон-
     соли (в том числе серийной консоли)   является  специальным
     устройством, и считая физический ресурс заслуживающим защи-
     ты, предусмотрено, что блокировка бюджета супер-пользовате-
     ля не мешает ему зарегистрироваться в консоли.  В этом сос-
     тоит способ входа в систему,  когда все  остальные  бюджеты
     или терминалы заблокированы.  Перед тем, как продолжить ра-
     боту, найдите причину  блокировки,   используя  контрольный
     журнал. Блокировка,  вызванная неудачными попытками регист-
     рации в системной консоли, снимается автоматически, но бло-
     кировки, вызванные  другими причинами, действуют. В сущнос-
     ти, консоль никогда не блокируется для супер-пользователя.

     Условия ошибок контроля

     Проблема: Система в данный момент осуществляет контроль,  а
консольное сообщение указывает, что контроль прекращен из-за не-
исправляемой ошибки ввода-вывода.
     Это обычно  означает,  что запорчена файловая система,  или
     имела место попытка записи в файл  сбора  данных  контроля,
     которая не удалась из-за нехватки места или  ошибки  ввода-
     -вывода. Эта ситуация не допускает восстановления и приводит
     к немедленному прекращению контроля.

Audit: file system is getting full
                    (Контроль: файловая система почти заполнена)
     Подсистема контроля  может иногда выдать такое предупрежде-
     ние, когда объем файловой системы контроля достигает  неко-
     торого порогового значения. Данное сообщение указывает, что
     на устройстве осталось мало места. Если для подсистемы были
     определены дополнительные  каталоги,  она автоматически пе-
     реключается на них, когда в файловой системе достигнуто по-
     роговое значение для оставшегося свободного пространства. В
     противном случае вы (администратор) должны вмешаться и уве-
     личить объем  доступного  пространства.  Иначе контроль при
     достижении порогового значения прекращается. По той же при-
     чине может прекратиться  программа  демона контроля auditd.
.
                              - 5-61 -

     Она прекращается,  если не может записать уплотненный  файл
     из-за нехватки места или ошибки ввода-вывода. С помощью вы-
     бора System->Audit->Disable в sysadmsh прекратите контроль,
     если это еще не сделано. Проанализируйте причину проблемы и
     найдите решение, прежде чем возобновлять контроль.

Authentication database contains an inconsistency
                  (Несовместимость в базе данных аутентификации)
     Это сообщение  появляется при выполнении одной из программ,
     связанной с TCB или с защищенной подсистемой.  Под вопросом
     оказывается целостность базы данных аутентификации. Эта ба-
     за данных состоит из базы данных защищенных паролей,   базы
     данных управления терминалами,  базы данных управления фай-
     лами, базы данных управления командами,  базы данных  защи-
     щенных подсистем и файла системных параметров,  принимаемых
     по умолчанию; сообщение относится ко всем этим компонентам.
     Здесь либо  отсутствует ожидаемый элемент данных,  либо не-
     корректны объекты в некотором элементе.   Данное  сообщение
     носит неопределенный  характер,   и  сделано это намеренно.
     Внимание пользователя к проблеме возбуждено, но достаточной
     информации о причине ошибки ему не дается, чтобы дать поль-
     зователям возможность исследовать  проблему  целостности  в
     границах секретности. Действительная причина проблемы может
     быть обнаружена в контрольном журнале, если для пользовате-
     ля, сгенерировавшего сообщение,  была разрешена регистрация
     событий базы данных.

     Проблемы авторизации

You do not have authorization to run ... .
                       (У вас нет авторизации на выполнение ...)
     Данная команда является частью защищенной подсистемы.   Для
     этой подсистемы Администратор аутентификации не дал вам ав-
     торизацию ядра,  необходимую для  выполнения  этой  команды
     и/или связанных с ней команд. Администратор аутентификации,
     используя выбор  Accounts->User->Examine->Authorizations  в
     sysadmsh, предоставляет  такую авторизацию или отказывает в
     ней.

     Проблема: Выполняемая вами команда не дает нужной вам  пол-
ной информации,  или вы не можете выполнить какие-либо действия.
Вы знаете, что еще существуют данные, которые можно получить или
запросить.
     Команда может быть частью защищенной подсистемы. Хотя вы не
     лишены доступа к команде полностью,  вы не можете использо-
     вать все ее опции или увидеть все данные.  Как и в вышеупо-
     мянутом случае, Администратор аутентификации должен предос-
     тавить дополнительные авторизации.
.
                              - 5-62 -

     ФУНКЦИОНИРОВАНИЕ ДЕМОНОВ В НАДЕЖНОЙ СИСТЕМЕ

     Поскольку операционная система дополнена средствами  надеж-
ности для улучшения учитываемости,  идентификации и аутентифика-
ции и уменьшения привилегий, немного изменяется система создания
и сопровождения демонов, выполняющихся в виде фоновых процессов.
В данном разделе отмечены те средства,  которые затрагивают сис-
темные демоны,   и  приводятся примеры процедурных и программных
изменений, которые необходимо внести для того, чтобы вводить но-
вые демоны в безопасную систему и правильно их выполнять. Благо-
даря этому демоны запускаются с соответствующей идентификацией и
привилегиями, не  сталкиваются с проблемами при изменении работы
системы из-за средств секретности, и правильно обрабатывают гра-
ничные условия и сбойные ситуации.
     Принцип учитываемости для операционной системы гласит,  что
каждый процесс  должен быть снабжен постоянным идентификатором -
регистрационным идентификатором пользователя (LUID).  Единствен-
ное исключение из этого правила составляют процессы, которые са-
ми проставляют идентификатор в процессах,   а  именно  программы
init(M), login(M)  и cron(M). Все надежные утилиты либо простав-
ляют свой LUID (например,  auditd(ADM)),  либо считают,  что  их
LUID был  проставлен до их выполнения (например,  lpsched(ADM)).
Системные вызовы setuid(S)  и setgid(S)  заканчиваются неудачно,
если LUID не установлен.
     Вы как администратор должны обеспечить предоставление  LUID
каждому вводимому  демону,  если он стартует из системных файлов
запуска (/tcb/files/rc?.d/*). Правильная процедура заключается в
установке файлов /etc/passwd и /etc/group с надлежащими бюджета-
ми псевдо-пользователя и группы,  а также элемента  базы  данных
защищенных паролей для данного бюджета.  Если демон должен стар-
товать из сценария запуска,  добавьте в него строку (см.  ниже),
задающую выполнение программы из su(C),  так чтобы идентификация
процесса была установлена правильно.  Это та же процедура, что и
выполнение демонов  в  некотором  бюджете с помощью традиционных
сценариев запуска.  Например, демон устройства построчной печати
lpsched стартует с помощью следующей строки:

        /tcb/bin/su - lp -c /usr/lib/lpsched > /dev/null 2>&1

Программа su  дополнена  логикой  установки  LUID для процесса в
случае, если он еще не установлен.
     Заметим, что  стандартный вывод и стандартная ошибка в при-
веденной команде были переназначены в фиктивное  устройство.   В
операционной системе имеется возможность, которая затрудняет об-
работку консольного вывода от демона, и вы должны соответственно
планировать вывод  демона.   Для любого терминального устройства
может быть выдан новый системный вызов stopio(S), который введен
для того,   чтобы подсистеме идентификации и аутентификации было
легче предотвращать обман при входе в систему.  Когда  пользова-
.
                            - 5-63 -

тель выходит из системы,  процесс getty,  возрождаемый на данной
линии терминала,  вызывает stopio с  именем  терминального  уст-
ройства в качестве аргумента.  Все процессы,  в которых это уст-
ройство открыто, уничтожаются (сигнал SIGHUP), если они пытаются
вновь писать в это устройство.  Демоны,  выполняющие  запись  на
консоль, получают  этот сигнал,  если выход из системы произошел
на консоли в период между запуском демона и его выводом. Так как
большинство демонов игнорируют SIGHUP, вывод их сообщений просто
теряется. Поэтому вам надо переназначить вывод  демона  в  файл,
если его нужно сохранить,  или в фиктивное устройство, как в на-
шем примере.
     Процессы в операционной системе выполняются, имея набор ав-
торизаций ядра,  которые управляют особыми правами  процесса  на
определенные привилегированные  системные  действия.  Если демон
должен выполнить действие, требующее наличия одной из таких при-
вилегий, данный  бюджет  должен  быть  установлен таким образом,
чтобы процесс демона обладал такими  привилегиями.   Авторизации
ядра описываются  в пункте "Авторизации" раздела "Средства обес-
печения безопасности системы" данной главы. Если демон выполняет
другие программы SUID, он должен обладать авторизацией execsuid,
а для выполнения программ и доступа к файлам вне текущего  ката-
лога запуска (подробнее см. promain(M)) - авторизацией nopromain.
Если процесс создает файлы с битом SUID, он должен иметь автори-
зацию chmodsugid.  Если он использует chown, чтобы отдавать фай-
лы, он должен иметь авторизацию chown.  Процессы, которые не ус-
тановлены с помощью TCB,  не должны выполняться с какой-либо ав-
торизацией контроля (audit). Остальные авторизации предназначены
для особых случаев и не должны выдаваться демонам,  не принадле-
жащим TCB.
     И, наконец,  последнее,  что может повлиять на работу демо-
нов, - это новая семантика, связанная со sticky-каталогами. Если
режим каталога  включает бит сохранения текста (sticky-бит),  то
только владелец файла может удалить его из этого каталога. Демо-
ны, манипулирующие временными каталогами,  могут работать непра-
вильно, если файлы, которые они могли (как они считали) удалять,
на самом деле не могут быть удалены.
     Из этой ситуации можно выйти двумя способами.  Вначале уда-
лите sticky-бит каталога. Это решит проблему с демоном, но поль-
зователей следует предостеречь о возможных неприятностях с  сек-
ретностью, если  такой каталог будет использоваться для хранения
временных файлов. Другой способ состоит в том, чтобы модифициро-
вать демон и соответствующую ему программу диалоговой документа-
ции согласно новым условиям совместного использования файлов.  В
этой второй  ситуации предполагается,  что вам доступен исходный
код и у вас есть знания и возможности, необходимые для модифика-
ции прикладной программы.
     Следует внимательно рассмотреть программы  всех  демонов  и
убедиться, что они выполняются правильно и безопасно. Прежде чем
предоставлять демон в общее пользование,   его  нужно  тщательно
протестировать в управляемой среде и проверить,  правильно ли он
работает. Тем меньше проблем с секретностью будет введено в сис-
тему, и  тем меньше сюрпризов ожидает пользователей,  пытающихся
воспользоваться демоном и получающих непредвиденные результаты.
                                 .
                            - 5-64 -

     ВКЛЮЧЕНИЕ ЗАЩИТЫ С ПОМОЩЬЮ КОДОВОГО ПАРОЛЯ

     В случае необходимости вы можете задать специальные кодовые
пароли (dial-in passwords) для выбранных линий tty, которые вво-
дились бы пользователями определенных классов.  Информацию о ре-
гистрации в   системе,  в том числе время последнего соединения,
можно сохранить для последующего использования.
     Конкретные коммутируемые линии,  требующие задания паролей,
определены в файле /etc/dialups.  Его формат - одно имя устройс-
тва tty для каждой линии; например:

        /dev/tty1A
        /dev/tty5C

     Актуальные кодовые пароли находятся в файле  /etc/d_passwd.
Формат  такого пароля  -  тот же, что  и  используемый  в  файле
/etc/passwd. Первое поле ("имя пользователя")  в /etc/d_passwd -
на самом  деле  не имя пользователя,  а имя программы командного
процессора (например,  /bin/sh),  использованной в  /etc/passwd.
Если командный  процессор регистрации пользователя,  пытающегося
войти в систему (по линии tty из списка /etc/dialups)  включен в
/etc/d_passwd, то пользователь получает приглашение ввести кодо-
вый пароль, хранящийся в /etc/d_passwd.
     При создании кодового пароля используется следующий синтак-
сис:
        passwd -d dialname

     Измените пароль для командного процессора кодового вызова с
именем dialname (включенного в /etc/d_passwd). Если dialname на-
чинается с косой черты ("/"), то ему должно соответствовать пол-
ное имя командного процессора.  В противном случае будет изменен
пароль для   каждого  командного  процессора  с  базовым  именем
dialname. Только супер-пользователь может менять пароль  команд-
ного процессора кодового вызова.
.
                            - 5-65 -

     РАЗРЕШЕНИЕ ПОЛЬЗОВАТЕЛЯМ МОНТИРОВАТЬ ФАЙЛОВЫЕ СИСТЕМЫ

     Командой mount  может  пользоваться  только супер-пользова-
тель. Однако супер-пользователь в случае необходимости может за-
дать параметры,  определяющие для некоторых файловых систем воз-
можность их монтирования пользователями по команде mnt(C), вклю-
чая возможность использования пароля на доступ.
     Для каждой файловой системы должна  существовать  строка  в
файле /etc/default/filesys. Вот примерный набор таких строк:

        bdev=/dev/root   cdev=/dev/rroot   mountdir=/  \
        desc="The Root Filesystem"  rcmount=no  mount=no

        bdev=/dev/u  cdev=/dev/ru   mountdir=/u  rcmount=yes  \
        fsckflags=-y  desc="The User Filesystem"

        bdev=/dev/x  cdev=/dev/rx   mountdir=/x  mount=yes  \
        rcmount=yes  fsckflags=-y  desc="The Extra Filesystem"

     Проще говоря, эти строки определяют следующее:

        Файловая   Момент                  Может монтировать
        система    монтирования            пользователь?
        ----------------------------------------------------
        root       при загрузке            нет
     /u         в мультипользователе    нет

     /x         любое время             да

     Если вы  хотите,   чтобы  любую некорневую файловую систему
могли монтировать пользователи,  просто добавьте  "mount=yes"  в
строку для этой файловой системы.  Кроме того, когда команда mnt
активизируется без аргумента (имя файловой системы),   программа
проверит все  некорневые файловые системы - можно ли их монтиро-
вать, -  и  если  можно,   она  это  сделает.   В  случае  опции
"mount=prompt" программа для каждой файловой системы будет спра-
шивать пользователя, хочет ли он ее монтировать, если монтирова-
ние разрешено.
     Для файловых систем также обеспечена защита по  паролю,   с
помощью опции -f команды passwd(C).  Например, пароль для файло-
вой системы /u создается таким образом:

     passwd -f /dev/u

     Подробнее о команде mnt,  в том числе полный список  опций,
см. в  описании  mnt(C)   в  "Справочнике  пользователя" (User's
Reference).
.
                            - 5-66 -

     АВТОРИЗАЦИЯ ИСПОЛЬЗОВАНИЯ КОМАНД ПЛАНИРОВАНИЯ ЗАДАНИЙ

     В данном разделе описывается,  как разрешить или  запретить
пользователям использовать  команды планирования заданий.  Выбор
Jobs->Authorization в  sysadmsh  содержит  функции  авторизации.
Кроме того, можно управлять командами at и batch, создавая файл-
прототип, определяющий среду выполнения этих команд. Сами коман-
ды описаны в разделе "Использование команд планирования заданий:
at, cron и batch" в "Руководстве пользователя" (User's Guide).

     Изменение авторизации на планирование заданий,  принятой по
умолчанию

     Начальная конфигурация  системы устанавливается таким обра-
зом, что использование  команд  планирования  заданий  разрешено
только для root, а доступ пользователей отвергается.

     Изменение параметров cron, принятых по умолчанию

     Чтобы изменить  параметры  cron,   принимаемые  системой по
умолчанию, сделайте в sysadmsh  следующий выбор:

     Jobs->Authorize->Scheduled->Default

     На экране появятся три "радио-клавиши":

     None    Выполнение не разрешено никаким пользователям

     Allow   Всем пользователям разрешено выполнять cron

     Deny    Всем пользователям запрещен доступ к команде cron

     Текущий режим выделен повышенной яркостью.
     С помощью  клавиш  перемещения курсора высветите нужный ре-
жим, или введите его первую букву.  Помните,   что  и  отдельным
пользователям можно  разрешить/запретить доступ (это описано ни-
же). Установленные значения для  отдельных  пользователей  имеют
приоритет по  сравнению  с  системными значениями,  принятыми по
умолчанию.
.
                            - 5-67 -

     Изменение параметров at/batch, принятых по умолчанию

     Чтобы изменить параметры at/batch,  принимаемые системой по
умолчанию, сделайте в sysadmsh следующий выбор:

     Jobs->Authorize->Delayed->Default

     На экране появятся три "радио-клавиши":

     None    Выполнение не разрешено никаким пользователям

     Allow   Всем пользователям разрешено выполнять at/batch

     Deny    Всем пользователям запрещен доступ к at/batch

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

     Разрешение/запрещение использования cron отдельными пользо-
вателями

     Чтобы изменить параметры  cron,   принимаемые  системой  по
умолчанию, сделайте в sysadmsh следующий выбор:

     Jobs->Authorize->Scheduled->User

     Курсор перемещается в поле User:. Введите имя пользователя,
или нажмите  для получения списка  возможных  пользователей.
Когда имя  пользователя  выбрано,   на экране появятся следующие
"радио-клавиши":

     Allow   Данному пользователю разрешено выполнять cron

     Deny    Данному пользователю запрещен доступ к cron

     С помощью  клавиш  перемещения курсора высветите нужный ре-
жим, или введите его первую букву. Установленное значение перек-
рывает системное значение, принятое по умолчанию.
.
                            - 5-68 -

     Просмотр пользовательских разрешений на cron

     Чтобы посмотреть  список  пользователей,   которым разреше-
но/запрещено пользоваться cron, нужно в sysadmsh выбрать

     Jobs->Authorize->Scheduled->View

     Если по умолчанию в системе принято allow,  то на экран вы-
водится список пользователей, которым доступ запрещен; если deny,
то список пользователей, которым доступ разрешен.

     Разрешение/запрещение использования   at/batch   отдельными
пользователями

     Чтобы изменить параметры at/batch,  принимаемые системой по
умолчанию, сделайте в sysadmsh следующий выбор:

     Jobs->Authorize->Delayed->User

     Курсор перемещается в поле User:. Введите имя пользователя,
или нажмите  для получения списка  возможных  пользователей.
Когда имя пользователя выбрано,  на  экране  появятся  следующие
"радио-клавиши":

     Allow   Данному пользователю разрешено выполнять at/batch

     Deny    Данному пользователю запрещен доступ к at/batch

     С помощью  клавиш  перемещения курсора высветите нужный ре-
жим. Установленное значение перекрывает системное значение, при-
нятое по умолчанию.

     Просмотр пользовательских разрешений на at/batch

     Чтобы посмотреть  список  пользователей,   которым разреше-
но/запрещено пользоваться at/batch, нужно в sysadmsh выбрать

     Jobs->Authorize->Delayed->View

     Как и в случае с cron,  если по умолчанию в системе принято
allow, то  на экран выводится список пользователей, которым дос-
туп запрещен; если deny, то список пользователей, которым доступ
разрешен.
.
                            - 5-69 -

     Использование файлов среды для команд at/batch

     Можно также определить среду,  в которой будут  выполняться
команды at  и  batch.  Для редактирования файлов-прототипов at и
batch используются, соответственно, следующие выборы sysadmsh:

     Jobs->Authorize->Environment->At

     Jobs->Authorize->Environment->Batch

     Эти опции редактируют файлы /usr/lib/cron/.proto  (at)  или
/usr/lib/cron/.proto.b (batch).  Эти файлы помещаются  в  начале
сценария командного процессора, формируемого для всех заданий at
и batch. Этот сценарий должен соответствовать обычному синтакси-
су /bin/sh  и содержать некоторые переменные,  специфические для
файла-прототипа. Это следующие переменные:
       $d  Текущий каталог пользователя в момент запуска
       $l  Значение ulimit для пользователя в момент запуска
       $m  Значение umask для пользователя в момент запуска
       $t  Время (в секундах, считая от 1 января 1970 г.) начала
           выполнения сценария
       $<  Эту переменную замещает весь сценарий, представляемый
           пользователем. Обычно она является последней в файле,
           после сформированного вами пролога.  Если  вы  решили
           включить информацию в файл после этой переменной, сце-
           нарий командного процессора может кончить работу,  не
           дойдя до нее.
.
                            - 5-70 -

     Примеры использования файлов среды

     Имеется много  путей  использования  файлов-прототипов; вот
два примера.
     1. Выполнение заданий в некоторой очереди с меньшим приори-
тетом, используя команду nice(C):

        nice -5 /bin/sh/ << 'END_OF_FILE'
        $<
        END_OF_FILE

     2. Очередь для выполнения команд через  альтернативный  ко-
мандный процессор:

        /bin/csh << 'END_OF_FILE_'
        $<
        END_OF_FILE

                            ГЛАВА 6

                  ДУБЛИРОВАНИЕ ФАЙЛОВЫХ СИСТЕМ

     Введение                                               6-1

     Стратегии дублирования с использованием sysadmsh       6-2
          Использование авторизации backup для дублирования 6-2
          Дублирование на гибких дисках и большие системы   6-2
          Краткие сведения об используемых утилитах         6-3

     Подготовка к запланированному дублированию             6-4
          Составление расписания дублирования               6-4
          Маркировка резервных копий                        6-8
          Ведение журнала                                   6-9

     Выполнение запланированного дублирования               6-11
          Использование отформатированного носителя         6-11
          Запуск дублирования                               6-11

     Выполнение незапланированного дублирования             6-14

     Проверка резервной копии                               6-17

     Получение листинга дублирования                        6-19

     Восстановление отдельных файлов и каталогов с резервной
      копии                                                 6-21

     Восстановление всей файловой системы с томов cpio      6-25

     Восстановление всей файловой системы с томов xbackup   6-25

     Описание уровней дублирования                          6-32
          Принципы уровней инкрементного дублирования       6-32
          Как работает расписание, принятое по умолчанию    6-33
          Как используются резервные копии для
           восстановления файловой системы                  6-35
.
                            - 6-1 -

     ВВЕДЕНИЕ

     Основная задача  администратора системы - обеспечить посто-
янную целостность информации,  хранимой в  системе.   Существует
несколько способов повреждения файлов и файловых систем и потери
данных:
     * прерывания от питания (убедитесь в наличии предохранителя
от бросков питания);
     * аппаратные сбои (например, жесткий диск);
     * ошибки пользователя (случайное удаление важных файлов).
     Нельзя переоценить  важность  наличия  актуальных резервных
копий. Если  в вашей системе есть несколько активных пользовате-
лей, копии    надо делать ежедневно.  Последствия простой потери
данных трудно оценить до тех пор,  пока не произойдет инцидент и
мгновенно будут потеряны результаты недельной или месячной рабо-
ты.
     Резервная копия файловых систем - это выполненная на гибких
дисках или лентах копия файлов корневой файловой системы и  дру-
гих регулярно   монтируемых файловых систем (например,  файловой
системы /u).  (Описание файловых систем см. в главе "Использова-
ние файловых   систем" настоящего руководства.)  Резервная копия
позволяет администратору системы (или пользователю с авторизаци-
ей backup)  иметь экземпляр файловой системы на некоторый момент
времени.
     В настоящей  главе  описывается,  как использовать sysadmsh
для дублирования (изготовления резервных копий)  корневого ката-
лога и других файловых систем, и как восстанавливать файлы с ре-
зервных копий. (Еще одна утилита, используемая для простого дуб-
лирования, tar(C),   подробно  описана  в  разделе "Изготовление
резервных копий" главы "Обслуживание" в  "Учебнике"  (Tutorial).
Эта утилита  не  подходит для выполнения планируемого дублирова-
ния; ею удобно пользоваться для архивирования групп файлов.)
     Средства, обсуждаемые  в  данной главе,  представляют собой
меню с простыми опциями,  в отличие от утилит tar(C),   cpio(C),
backup(ADM) и  restore(ADM),  где используются сложные командные
строки. Ключ к эффективному дублированию состоит в  том,   чтобы
сохранять только  то,  что изменилось за день,  а для этого (при
использовании backup и restore)  обычно требуется дополнительная
бухгалтерия.
.
                            - 6-2 -

     СТРАТЕГИИ ДУБЛИРОВАНИЯ С ИСПОЛЬЗОВАНИЕМ SYSADMSH

     Вы как администратор системы должны ознакомиться с содержа-
нием этой главы и составить расписание в соответствии с изложен-
ными правилами. После этого вам, чтобы выполнить ежедневное дуб-
лирование, нужно будет только установить носитель и ответить  на
несколько приглашений.
     Главная цель  выбора  "Дублирование  файловых   систем"   в
sysadmsh состоит  в том,  чтобы предоставить надежное расписание
дублирования файловых систем в тех системах, где много пользова-
телей и большие файловые системы.  Программа автоматически отыс-
кивает модифицированные файлы и копирует их на  резервный  носи-
тель. Если   в вашей системе много пользователей и большое число
ежедневно обновляемых файлов,  используйте опцию  "планируемого"
дублирования, которая с помощью заранее составленного расписания
будет делать регулярное дублирование. Если сделан выбор Backups,
программа представит каждую задачу как опцию меню.  Чтобы выпол-
нить задачу,  просто выберите соответствующую опцию  из  меню  и
предоставьте требуемую информацию.
     Для менее формального дублирования в sysadmsh имеется опция
"незапланированного" дублирования.  Она позволяет администратору
системы однократно сделать полную резервную копию файловой  сис-
темы. (Заметьте, что этот тип дублирования охватывает всю файло-
вую систему,  а не только измененные файлы, и здесь может потре-
боваться несколько  томов  носителей.)   Если вы решили обойтись
непланируемыми дублированиями, обеспечьте их выполнение по край-
ней мере раз в месяц.

     Использование авторизации backup для дублирования

     Для создания  или  восстановления резервных копий вы должны
назначить пользователю авторизацию backup.  (Восстановление всей
файловой системы может делать только root.) Обычный пользователь
не может делать резервные копии,  так как у него нет  разрешений
на доступ ко всем файлам. Если дублирование выполняет root, фай-
лы могут быть случайно разрушены,  так как root имеет  неограни-
ченные разрешения  для  каждого  файла  в  системе.  Авторизация
backup разрешает эту дилемму, предоставляя ограниченные разреше-
ния root.

     Дублирование на гибких дисках и большие системы

     Если в  вашей  системе  имеется  только дисковод для гибких
дисков, то дублирование больших систем с несколькими пользовате-
лями может  оказаться  очень  долгим  и потребовать множества
носителей. Полная резервная копия 20-мегабайтной файловой систе-
мы требует пятнадцати дискет 96tpi по 1.2 MB,  тогда как на одну
.
                            - 6-3 -

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

     Краткие сведения об используемых утилитах

     В процессе  дублирования  sysadmsh  обращается к нескольким
утилитам. Вам не обязательно знакомиться с ними.  Однако если вы
решите использовать дополнительные опции,  не описанные в данной
главе, вам понадобится знать,  как они применяются и где  о  них
можно прочитать. sysadmsh обращается к следующим утилитам:
     * fsphoto(ADM):  главная утилита, управляющая автоматизиро-
ванными средствами дублирования;
     * fsave(ADM):  программа, взаимодействующая с пользователем
для выполнения дублирования;
     * schedule(ADM): база данных дублирования;
     * xbackup и xrestore(ADM):  утилиты дублирования XENIX. Они
используются, если в поле Method  таблицы  с  расписанием  стоит
"xbackup". (Эти утилиты предназначены для тех, кто хочет продол-
жать работать с теми же средствами дублирования,  что и в XENIX.
Предпочтительнее все же использовать cpio.)
     * cpio(C):  программа дублирования, используемая по умолча-
нию. Она не зависит от типа файловой системы.
     Выбор Backups в sysadmsh образует "дружественный"  уровень,
ограждающий пользователя от сложного синтаксиса этих программ.
.
                            - 6-4 -

     ПОДГОТОВКА К ЗАПЛАНИРОВАННОМУ ДУБЛИРОВАНИЮ

     Единственное обязательное требование для проведения  плани-
руемого дублирования состоит в том, чтобы подготовить расписание
дублирования. Кроме  того,  рекомендуется,  чтобы  администратор
системы выполнял необязательные процедуры маркирования, сохране-
ния и протоколирования резервных копий. Подробное описание уров-
ней дублирования приведено в конце данной главы, на случай необ-
ходимости иметь более специализированное расписание.

     Составление расписания дублирования

     Первый шаг состоит в создании таблицы времени  дублирования
с помощью  файла  schedule.   Этот  файл  расположен  в каталоге
/usr/lib/sysadmin. Он содержит все данные,  необходимые  системе
для выполнения дублирования, в том числе
     * имя вашей вычислительной установки или машины
     * тип используемого носителя и дисковода
     * точный регламент дублирования файловых систем.
     В последующих  разделах  поясняется,  какие изменения нужно
внести в файл schedule, имеющийся в вашей дистрибуции.

     Редактирование файла schedule

     Файл schedule можно редактировать в любом текстовом  редак-
торе; убедитесь,   что вы зарегистрировались как root.  Вы также
можете для редактирования файла schedule воспользоваться следую-
щим выбором sysadmsh:

     Backups->Schedule

     (По умолчанию sysadmsh использует редактор vi(C), но вы мо-
жете установить предпочитаемый вами редактор с помощью  перемен-
ной среды выполнения SA_EDITOR. О том, как устанавливаются пере-
менные среды выполнения,  см. environ(C) или sh(C).) В последую-
щих подразделах  описано,  какие именно изменения нужно внести в
этот файл.
.
                            - 6-5 -

+--------------------------------------------------------------+
| # SYSTEM BACKUP SCHEDULE    (Расписание дублирования системы)|
| site mymachine              (Вычислительная установка ...)   |
|                                                              |
| # Media Entries             (Строки для носителей)           |
|                                                              |
| # 48 tpi 360K floppy 0      (Дисковод 0 для гибких дисков...)|
| # media /dev/rfd048ds9 k 360 format /dev/rfd048ds9           |
| # 48 tpi 360K floppy 1                                       |
| # media /dev/rfd148ds9 k 360 format /dev/rfd148ds9           |
| # 96 tpi 720K floppy 0                                       |
| # media /dev/rfd096ds9 k 720 format /dev/rfd096ds9           |
| # 96 tpi 720K floppy 1                                       |
| # media /dev/rfd196ds9 k 720 format /dev/rfd196ds9           |
| # 96 tpi 1.2 MB floppy 0                                     |
| # media /dev/rfd096ds15 k 1200 format /dev/rfd096ds15        |
| # 96 tpi 1.2 MB floppy 1                                     |
| # media /dev/rfd196ds15 k 1200 format /dev/rfd196ds15        |
| # 135 tpi 1.44 MB floppy 0                                   |
| # media /dev/rfd0135ds18 k 1440 format /dev/rfd0135ds8       |
| # 135 tpi 1.44 MB floppy 1                                   |
| # media /dev/rfd1135ds18 k 1440 format /dev/rfd1135ds8       |
| # Cartridge tape                (Кассетная лента)            |
| # media /dev/rct0 d 20000 300 450 600 tape erase             |
| # Mini cartridge drive (10MB)   (Накопитель для мини-кассеты)|
| # media /dev/rctmini k 8800 format /dev/rctmini              |
| # Mini cartridge drive (40MB)                                |
| # media /dev/rctmini k 37500 format -e /dev/rctmini          |
| # 9-track tape drive            (Накопитель для 9-дор.ленты) |
| # media /dev/rmt0 d 1600 2400 1200 600                       |
|                                                              |
| # Backup Descriptor Table  (Таблица дескриптора дублирования)|
|                                                              |
| #   Backup  Vol.  Save for   Vitality      Label             |
| #   level   size  how long   (importance)  marker            |
|     0       -     "1 year"   critical      "a red sticker"   |
|     1       -     "4 months" necessary     "a yellow sticker"|
|     8       -     "3 weeks"  useful        "a blue sticker"  |
|     9       -     "1 week"   precautionary  none             |
|                                                              |
| # Schedule Table           (Расписание)                      |
|                                                              |
| #            1 2 3 4 5  6 7 8 9 0  1 2 3 4 5  6 7 8 9 0  Method
| # Filesystem M T W T F  M T W T F  M T W T F  M T W T F      |
|   /dev/rroot 0 x 9 x 9  8 x 9 x 9  1 x 9 x 9  8 x 9 x 9  cpio|
|   /dev/ru    9 0 9 9 9  9 8 9 9 9  9 1 9 9 9  9 8 9 9 9  cpio|
+--------------------------------------------------------------+

                   Рисунок 6-1. Файл schedule
.
                            - 6-6 -

     Задание имени вычислительной установки или машины

     Нужно просто изменить строку mymachine в начале файла,  за-
дав имя,   используемое  в вашем файле /etc/systemid,  или любое
другое имя.

     Выбор устройства с носителем, соответствующих конфигурации

     Содержимое файла schedule,  изображенное  на  Рисунке  6-1,
принимается по умолчанию.  По умолчанию же в качестве накопителя
принимается дисковод 0 для гибких дисков 96tpi по  1.2  мегабайт
(см. ниже). Знак # обозначает комментарий, соответствующий текст
игнорируется программой.  Заметьте,  что накопитель, принятый по
умолчанию, -  единственный без знака комментария. Если вы хотите
использовать другой накопитель, поставьте перед дисководом 96tpi
символ комментария  и уберите этот символ из строки с нужным вам
накопителем. Остальные накопители должны остаться  закомментиро-
ванными.

+--------------------------------------------------------------+
| # 96 tpi 720K floppy 1                                       |
| # media /dev/rfd196ds9 k 720 format /dev/rfd196ds9           |
|                                                              |
| # 96 tpi 1.2 MB floppy 0                                     |
| media /dev/rfd096ds15 k 1200 format /dev/rfd096ds15          |
|                                                              |
| # 96 tpi 1.2 MB floppy 1                                     |
| # media /dev/rfd196ds15 k 1200 format /dev/rfd196ds15        |
|                                                              |

     Редактирование таблицы дескриптора дублирования

     Сразу же после строк с накопителями идет таблица дескрипто-
ра дублирования. В этой таблице (см. ниже) описан каждый уровень
дублирования (Backup level - первая колонка): для него приводит-
ся размер   тома  (Vol.size  -  вторая  колонка),  срок хранения
(третья колонка),  степень важности (четвертая колонка) и марки-
ровка (пятая колонка - Label marker).  Строки, принятые по умол-
чанию, можно использовать,  но строки с размерами томов надо от-
редактировать согласно типу используемого носителя.
     Если вы пользуетесь гибкими дисками,   оставьте  в  колонке
"Vol.size" дефисы.  В этом случае программа дублирования возьмет
размер тома из строки носителя для данного устройства.
     Если вы используете ленты или ленточные кассеты,  поставьте
в колонке "Vol.size" вместо дефиса объем тома на  ленте  (в  фу-
тах). Если  вы  используете  ленты  одного и того же размера для
всех уровней дублирования, то все дефисы нужно заменить размером
используемой ленты.
     Последняя колонка содержит метки, о которых см. ниже в под-
разделе "Маркировка резервных копий".
.
                            - 6-7 -

+--------------------------------------------------------------+
| #   Backup  Vol.  Save for   Vitality      Label             |
| #   level   size  how long   (importance)  marker            |
|     0       -     "1 year"   critical      "a red sticker"   |
|                      (1 год   критично      красная этикетка)|
|     1       -     "4 months" necessary     "a yellow sticker"|
|                      (4 м-ца  необходимо    желтая этикетка) |
|     8       -     "3 weeks"  useful        "a blue sticker"  |
|                      (3 нед.  полезно       синяя этикетка)  |
|     9       -     "1 week"   precautionary  none             |
|                      (1 нед.  желательно     без маркера)    |
+--------------------------------------------------------------+
         Рисунок 6-2. Таблица дескриптора дублирования

     Редактирование расписания дублирования

     По умолчанию  расписание предполагает ежедневное дублирова-
ние. Чтобы пользоваться расписанием, не обязательно точно предс-
тавлять себе  разделение  на  уровни  дублирования.  Уровень 0 -
самый низкий. На этом уровне дублируется все содержимое файловой
системы, а на каждом из уровней 1, 8 и 9 дублируются только фай-
лы, которые  изменились после  последнего  дублирования  низшего
уровня. (Полное  описание  приведено в разделе "Описание уровней
дублирования" в конце главы.)  Заметьте, что дублирование уровня
0 выполняется  ежемесячно для корневой файловой системы и дважды
в месяц - для файловой системы /u. Это вызвано тем, что файловая
система /u  (пользовательские бюджеты)  изменяется гораздо чаще,
чем корневая, содержащая системные файлы.
     Если у  вас нет файловой системы /u,  то ваши пользователь-
ские бюджеты расположены в корневой файловой системе (в каталоге
/usr). В  этом  случае  вы получите приглашение на подтверждение
при установке пакета BACKUP,  а файл  schedule  будет  содержать
только одну строку с файловой системой. Если файловая система /u
имеется, то schedule будет выглядеть следующим образом  (Рисунок
6-3).

+----------------------------------------------------------------+
| #            1 2 3 4 5  6 7 8 9 0  1 2 3 4 5  6 7 8 9 0  Method|
| # Filesystem M T W T F  M T W T F  M T W T F  M T W T F        |
|   /dev/rroot 0 x 9 x 9  8 x 9 x 9  1 x 9 x 9  8 x 9 x 9  cpio  |
|   /dev/ru    9 0 9 9 9  9 8 9 9 9  9 1 9 9 9  9 8 9 9 9  cpio  |
+----------------------------------------------------------------+
              Рисунок 6-3. Расписание дублирования

     Следует заметить, что система обозначений с названиями дней
недели (M-F,  т.е. Понедельник-Пятница) может ввести в заблужде-
ние: если дублирование отсрочено или было  неудачным  (например,
из-за дефектного носителя),  то дублирование этого же уровня бу-
дет выполнено вновь в момент следующего запланированного  дубли-
рования. Тем самым расписание сдвигается,  но установленная пос-
ледовательность дублирований не изменяется. Поэтому более точной
является цифровая шкала 1-0, расположенная над строкой M-F, хотя
она менее удобна для тех, кто работает в единицах дней и недель.
.
                            - 6-8 -

     Кроме того,  если вы добавите строки  для  других  файловых
систем, вам нужно следить, чтобы два дублирования уровня 0 боль-
ших файловых систем не были запланированы на  один  день;  такой
процесс будет очень длительным и может существенно замедлить ра-
боту вашей машины.

     Поле метода дублирования (последняя колонка расписания)

     По умолчанию тип формата дублирования - cpio. Если вы хоти-
те использовать формат xbackup,  применяемый в файловых системах
XENIX, замените  cpio  на   backup.    Заметим,    что   утилита
xbackup(ADM) работает  только  с файловыми системами XENIX,  так
как она использует специфическую для них информацию. Формат cpio
отлично функционирует в файловых системах UNIX, XENIX и AFS, так
как он не использует такую информацию.  Тип xbackup предусмотрен
для тех, кто привык к старому формату.

     Замечание
     Не забудьте, что AFS - это тип файловой системы, используе-
мый в операционной системе по умолчанию.

     Маркировка резервных копий

     Очень важно пометить ленты с резервными копиями,  используя
в качестве меток осмысленную и точную информацию.  Если ваши ре-
зервные копии - это груда случайным образом помеченных лент, вам
будет трудно потом найти нужные данные.
     Для меток носителей предлагается следующий формат:

+--------------------------------------------------------------+
| Имя компьютера    Уровень дублирования     Дата изготовления |
|                   Имя файловой системы                       |
|                   Дата конца хранения                        |
|                   Число блоков тома                          |
| Имя исполнителя                                Номер тома    |
|                                            Общее число томов |
+--------------------------------------------------------------+

     Дата на метке и дата, от которой вычисляется срок хранения,
должны соответствовать рабочему дню,  охваченному дублированием.
Это делается во избежание недоразумений,  в случае возникновения
необходимости восстановления информации с этой ленты.
.
                            - 6-9 -

     Вы, наверное, заметили, что в файле schedule для облегчения
работы предлагается система цветного кодирования: см.Рисунок 6-4.
+--------------------------------------------------------------+
| #   Backup  Vol.  Save for   Vitality      Label             |
| #   level   size  how long   (importance)  marker            |
|     0       -     "1 year"   critical      "a red sticker"   |
|                                            (красная этикетка)|
|     1       -     "4 months" necessary     "a yellow sticker"|
|                                             (желтая этикетка)|
|     8       -     "3 weeks"  useful        "a blue sticker"  |
|                                             (синяя этикетка) |
|     9       -     "1 week"   precautionary  none             |
|                                             (без маркера)    |
+--------------------------------------------------------------+
     Рисунок 6-4. Нанесение меток на резервные копии

     Если для одной резервной копии использовано несколько лент,
поставьте на каждом томе его номер и число томов (например,  для
двухтомной копии - "1 из 2" и "2 из 2").
     И, наконец,  прикрепите метку к коробке или пакету, внеся в
нее имя компьютера,  имя файловой системы и уровень проведенного
дублирования.

     Ведение журнала

     Для каждого  компьютера рекомендуется вести рукописный жур-
нал. Помимо информации по техническому  обслуживанию  (например,
когда произошел  сбой и что было сделано),  в него следует зано-
сить следующую информацию:

     Дата          Как и в метке на ленте, эта дата должна соот-
                   ветствовать последнему дню,  охваченному дуб-
                   лированием
     Файловая система
                   Имя устройства,  для которого делается  копия
                   на текущей ленте
     Уровень дублирования
                   Уровень дублирования для текущей ленты
     Число томов   Количество томов на лентах
     Число блоков  Количество блоков на ленте. Эта информация вы-
                   водится при завершении дублирования. (Обрати-
                   те внимание  на эту цифру:  если число блоков
                   для дублирования уровня 9 для некоторой  фай-
                   ловой системы  все время содержит более четы-
                   рех цифр,  то вам,  по-видимому, придется для
                   уменьшения нагрузки  увеличить частоту дубли-
                   рований этой файловой системы.)
.
                            - 6-10 -

     Время начала/конца
                   (Необязательный параметр.)   Время  от начала
                   дублирования файловой системы  до  завершения
                   проверки последней ошибки.  Эти времена выво-
                   дятся на экран после завершения дублирования.
                   Время конца часто будет оказываться неточным,
                   так как вы в конце  дублирования  уже  можете
                   исчерпать все место,  и машина перейдет в хо-
                   лостой режим до вашего возврата.

     Если при дублировании возникают проблемы, регистрируйте все
в журнале, в том числе все сообщения об ошибках с экрана.
.
                            - 6-11 -

     ВЫПОЛНЕНИЕ ЗАПЛАНИРОВАННОГО ДУБЛИРОВАНИЯ

     В данном разделе описывается, как выполнять дублирование по
имеющемуся расписанию. Не приступайте к этой процедуре, не отре-
дактировав (или  по  крайней  мере не проверив)  файл расписания
schedule: вы должны быть уверены, что он вам подходит.
     Администратор системы  должен планировать дублирования так,
чтобы в это время в системе было как можно меньше  пользователей
(или вообще  никого).  В таком случае вы гарантированно получите
корректную копию самой последней версии каждого файла.
     Регулярное расписание  дублирования требует достаточной на-
личности носителей и соответствующего срока их хранения. Резерв-
ные копии уровня 0 следует хранить по крайней мере год, а в слу-
чае особой важности - и дольше.  Другие копии следует хранить не
менее двух недель. Тома носителей должны иметь надлежащие метки,
включающие дату дублирования и имена файлов и каталогов,  входя-
щих в копию. По истечении срока хранения резервной копии носите-
ли можно использовать для создания новых копий.

     Использование отформатированного носителя

     Если вы пользуетесь носителем, который нужно форматировать,
например, гибким диском или лентой в мини-кассете,  вам, вероят-
но, предварительно  придется  отформатировать  несколько  томов.
Точное число   томов зависит от количества и размера дублируемых
файлов. Подробнее  о форматировании носителей см. главу "Исполь-
зование гибких дисков и накопителей на магнитной ленте" в данном
документе. У вас также есть возможность выполнить форматирование
из программы  sysadmsh.  (Заметим,  что мини-кассеты очень долго
форматируются.)

     Запуск дублирования

     Чтобы выполнить запланированное дублирование, сделайте сле-
дующее.
     1. Запустите sysadmsh и сделайте выбор

     Backups->Create->Scheduled

     2. На экране появится меню примерно такого вида:
.
                            - 6-12 -

+---------------------------------------------------------------
|  Level 0 backup of filesystem /dev/rroot, 22 Sep 1988
|        tape size:   450 feet  [or Kb]
|        tape drive:  /dev/rct0
|  This tape will be saved for 1 year, and is critical.
|
|  M)ounted volume, P)ostpone, C)heck or F)ormat volumes,
|                                  R) Retension or H)elp:
|
|    (Дублирование уровня 0 файловой системы /dev/rroot, 22.09.88
|            размер ленты: 450 футов [или Кбайт]
|            ленточное устройство: /dev/rct0
|     Эта лента будет храниться 1 год и является критичной.
|     Смонтировать том (M), Отложить (P), Проверить (C) или
|     Отформатировать (F) тома, Сохранение (R) или Справочник (H):
|
     Выводится тип носителя, заданный в файле schedule. Загрузи-
те том  (ленту или диск)  на выбранном накопителе.  Введите "m",
чтобы программа узнала, что том смонтирован, и нажмите .
     3. Если вы используете cpio,  система выдаст текущую дату и
дату последнего дублирования:

+---------------------------------------------------------------
|  Level 0 backup of filesystem: /dev/rroot
|  Backing up all files                  (Дублируются все файлы)
|  Generating list of pathnames for backing up...
|            (Генерируется список имен путей для дублирования...)
|
     Этот процесс занимает несколько минут.
     4. Если вы используете xbackup, система выдаст текущую дату
и дату последнего дублирования:

+---------------------------------------------------------------
|  Backup date= the epoch      (Дата дублирования = начало эпохи)
|  Backing up /dev/rroot to /dev/fd096ds15
|
     (Если вы до этого не выполняли дублирование,  в системе  не
зарегистрирована дата последнего дублирования,  и вместо нее вы-
водится "the epoch".) Выводится примерное число требуемых томов.
     5. Затем система начинает копировать файлы на носитель. Ес-
ли на томе исчерпано место,  программа выводит одно из следующих
сообщений, соответственно для cpio и xxbackup:

+---------------------------------------------------------------
|  Reached end of medium on output
|  Insert volume 2 and press  to continue or 'q' to exit
|            (Достигнут конец тома при выводе
|             Вставьте том 2 и нажмите , чтобы продолжить,
|              или 'q', чтобы закончить)
|
+---------------------------------------------------------------
| Please insert new volume, then press 
|            (Пожалуйста, вставьте новый том и нажмите )
|
.
                            - 6-13 -

     Замечание
     Если вы пользуетесь при дублировании 5.25-дюймовыми гибкими
дисками, то перед нажатием  убедитесь,  что створки дис-
ковода закрыты.

     Снимите том  с  накопителя,   вставьте  новый   и   нажмите
. Программа  продолжит  копирование файлов на новый том.
Повторяйте этот пункт до тех пор, пока программа не выдаст сооб-
щение
+---------------------------------------------------------------
| n blocks
| Check critical volumes for format errors
|
|  (n блоков. Проверьте критичные тома на наличие ошибок формата)
|

     6. Если произошла ошибка,  дублирование объявляется неудач-
ным и повторяется с начала. Ваш носитель может оказаться дефект-
ным, поэтому  если  ошибка  остается,   замените  его.  Появится
следующее меню:

+---------------------------------------------------------------
| M)ounted which volume, E)rror on previous volume, D)one,
| S)kip checks, or H)elp:
|
|     (Какой том смонтировать (M), Ошибка на предыдущем томе (E),
|      Выполнено (D), Обойти проверки (S), Справочник (H):
|

     После того,  как дублирование успешно завершится, будут вы-
даны инструкции  о  том,  как пометить тома.  Если вы выполняете
проверки формата, убедитесь, что вы вставили первый том согласно
инструкции, иначе  дублирование  прекратится.  Если вы не хотите
проверять тома,  выберите "Skip". Убедитесь, что ваши тома защи-
щены от записи.
.
                            - 6-14 -

     ВЫПОЛНЕНИЕ НЕЗАПЛАНИРОВАННОГО ДУБЛИРОВАНИЯ

     Резервные копии можно создавать на ленте или на диске. Если
вы пользуетесь носителем, который нужно форматировать, например,
гибким диском, вам, вероятно, предварительно придется отформати-
ровать несколько томов. Точное число томов зависит от количества
и размера дублируемых файлов. Подробнее о форматировании носите-
лей см. главу "Использование гибких дисков и накопителей на маг-
нитной ленте"  в данном документе.  У вас также есть возможность
выполнить форматирование из программы sysadmsh.
     Чтобы выполнить  незапланированное  дублирование,  сделайте
следующее.
     1. Запустите sysadmsh и сделайте выбор

     Backups->Create->Unscheduled

     2. На экране появится следующее:

+--------------------------------------------------------------+
|                                                  Unscheduled |
| Press  to choose from a list of filesystems              |
|  /tmp/sysadm                                 03/15/89  08:20 |
|                                                              |
|+-------------------Archive Filesystem-----------------------+|
||                                                            ||
||       File system to archive    :    [               ]     ||
||       Media                     :    [               ]     ||
||       Block size in bytes       :    [512    ]             ||
||       Format floppy             :    [Yes]   [No]          ||
||                                                            ||
||       Press  to backup the filesystem or  to  ||
||       abandon                                              ||
||                                                            ||
||                       [Archive]                            ||
||                                                            ||
|+------------------------------------------------------------+|
|                                                              |
|                                               Вне расписания |
| Нажмите , чтобы выбрать файловую систему из списка       |
|                  Архив файловых систем                       |
|     Файловая система, вносимая в архив:   [   ]              |
|     Носитель:                             [   ]              |
|     Размер блока в байтах:                [512]              |
|     Форматировать дискету:                [Да] [Нет]         |
|     Нажмите , чтобы сделать резервную копию          |
|      файловой системы, или , если не хотите делать      |
|                         [Архив]                              |
|                                                              |
+--------------------------------------------------------------+

     3. Выберите файловую систему,  которую  нужно  скопировать,
введя ее  имя или нажав ,  чтобы получить список для выбора.
Будет выведен список всех файловых систем, перечисленных в файле
/etc/default/filesys. (См. filesys(F).) С помощью клавиш переме-
.
                            - 6-15 -

щения курсора выберите номер файловой системы, которую вы собра-
лись дублировать,   и  нажмите .  (Если вы хотите задать
файловую систему, отсутствующую в /etc/default/filesys, выберите
"Other"; вы получите приглашение на ввод имени.)
     4. Затем выберите устройство,  введя его имя или нажав 
для получения списка. В меню будут выведены устройства, имеющие-
ся в /etc/default/archive; вы можете добавить в меню свои строки
или просто отредактировать сам файл.  Размер  блока  установится
автоматически.

     Замечание
     Будьте внимательны при выборе номера устройства. В частнос-
ти, проверьте,  не выбрали ли вы "Floppy drive 1" (второй диско-
вод для гибких дисков),  имея в виду "Floppy  drive  0"  (первый
дисковод). Если  вы  ошиблись,  дублирование прекратится,  и все
придется начать сначала.

     5. Вы можете отформатировать нужное число томов,   вставляя
их в накопитель и выбирая "Yes" в строке Format floppy.  Как го-
ворилось выше, ленты в мини-кассетах также нужно форматировать.
     6. Загрузите том (ленту или диск)  в выбранный накопитель и
нажмите .  Система выдаст текущую дату и дату последнего
дублирования. Затем  начнется копирование файлов.  Если место на
томе исчерпано,  появится одно из следующих сообщений, соответс-
твенно для cpio и xxbackup:

+---------------------------------------------------------------
|  Reached end of medium on output
|  Insert volume 2 and press  to continue or 'q' to exit
|
|            (Достигнут конец тома при выводе
|             Вставьте том 2 и нажмите , чтобы продолжить,
|              или 'q', чтобы закончить)
|
+---------------------------------------------------------------
| Please insert new volume, then press 
|
|            (Пожалуйста, вставьте новый том и нажмите )
|

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

        DONE                                 (Выполнено)

                            - 6-16 -

     Если вы пользуетесь гибкими дисками, вам, возможно, придет-
ся повторить последний пункт несколько раз,  прежде чем дублиро-
вание завершится. Снимая каждый том с накопителя, помечайте его.
Например, пометьте  первый  том  "Volume  1"  (Том 1),  второй -
"Volume 2" (Том 2) и т.д.
.
                            - 6-17 -

     ПРОВЕРКА РЕЗЕРВНОЙ КОПИИ

     Для того,  чтобы можно было убедиться, что дублирование вы-
полнено точно и без ошибок, в меню дублирования sysadmsh предус-
мотрена опция  Integrity  (целостность).  Тома проверяются путем
непосредственного сравнения с файлами на жестком диске,   откуда
они были скопированы.
     Войдите в sysadmsh и выберите

     Backups->Integrity

+--------------------------------------------------------------+
|                                                    Integrity |
| Press ? to obtain a list of available media          |
|                                                              |
|  /tmp/sysadm                                 03/15/89  08:20 |
|                                                              |
|+---------------Verify Integrity of a Backup-----------------+|
||                                                            ||
||       Media                     :    [_              ]     ||
||       Block size in bytes       :    [512    ]             ||
||                                                            ||
||       Press  to check the integrity of the backup  ||
||       or  to abandon                                  ||
||                                                            ||
||                    [Check Integrity]                       ||
||                                                            ||
|+------------------------------------------------------------+|
|                                                              |
| Нажмите ? для получения списка доступных носителей   |
|          Проверка целостности резервной копии                |
|     Носитель:                        [_       ]              |
|     Размер блока в байтах:           [512  ]                 |
|     Нажмите , чтобы проверить целостность копии,     |
|      или , если этого не надо делать                    |
|                   [Проверка целостности]                     |
|                                                              |
+--------------------------------------------------------------+

     Введите или  выберите  тип носителя и по очереди вставляйте
тома резервной копии. Это долгий процесс; проверка большой копии
займет изрядно много времени.  Когда файлы будут проверены, cpio
выведет их список.

                            - 6-18 -

     Замечание
     Во время проверки могут появиться сообщения, указывающие на
отличие файла на жестком диске от резервной  копии.   Это  может
быть вызвано  тем,   что некоторые файлы могут измениться за тот
короткий промежуток времени, который проходит между дублировани-
ем и проверкой. Такие сообщения можно игнорировать.
.
                            - 6-19 -

     ПОЛУЧЕНИЕ ЛИСТИНГА ДУБЛИРОВАНИЯ

     Вы можете посмотреть список продублированных файлов,  задав
генерацию листинга в меню Backups в sysadmsh. Для этого сделайте
следующее.
     1. Выберите в sysadmsh

          Backups->View

     2. На экране появится следующее:

+--------------------------------------------------------------+
|                                                        View  |
| Press  to choose from a list of available media          |
|                                                              |
|  /tmp/sysadm                                 03/15/89  08:20 |
|                                                              |
|+--------------------Contents of a Backup--------------------+|
||                                                            ||
||       Media                     :    [_              ]     ||
||       Block size in Bytes       :    [512    ]             ||
||                                                            ||
||       Press  to view the contents of the backup    ||
||       or  to abandon                                  ||
||                                                            ||
||                          [View]                            ||
||                                                            ||
|+------------------------------------------------------------+|
|                                                              |
|                                                   Просмотр   |
| Нажмите  для выбора доступного носителя из списка        |
|              Содержимое резервной копии                      |
|     Носитель:                        [_       ]              |
|     Размер блока в байтах:           [512  ]                 |
|     Нажмите , чтобы просмотреть резервную копию,     |
|      или , если этого не надо делать                    |
|                      [Просмотр]                              |
|                                                              |
+--------------------------------------------------------------+

     3. Нажмите  (первое поле), чтобы получить перечень уст-
ройств. Размер блока выбирается автоматически.
     4. Программа выдаст вам приглашение вставить первый том ре-
зервной копии. Загрузите его и нажмите .
     5. Если ваша копия - том cpio: когда все тома резервной ко-
пии прочитаны, на экране появится примерно следующее:
.
                            - 6-20 -

+--------------------------------------------------------------+
|                                                        View  |
|           to exit, movement keys are active             |
|           (Для выхода нажмите , клавиши курсора активны)|
|                                                              |
|  cpio -itv /dev/rfd096ds15 -C512             03/10/89  11:03 |
|                                                              |
|+------------------------- cpio -----------------------------+|
||                                                            ||
||   100711 wadley 5678   Feb   wadley/tell0                  ||
||   100711 wadley 6789   Feb   wadley/tell1                  ||
||   100711 wadley 4112   Feb   wadley/tell2                  ||
||   100711 wadley 9972   Feb   wadley/tell3                  ||
||   100711 wadley 6689   Feb   wadley/tell4                  ||
||   100711 wadley 1102   Feb   wadley/tell5                  ||
||   100711 wadley 6602   Feb   wadley/tell6                  ||
||   100711 wadley 5511   Feb   wadley/tell7                  ||
||   100711 wadley 1111   Feb   wadley/tell8                  ||
||   100711 wadley 3312   Feb   wadley/tell9                  ||
||                                                            ||
|+------------------------------------------------------------+|
|                                                              |
+--------------------------------------------------------------+

     5. Если ваша копия - том xbackup:  когда все тома резервной
копии прочитаны, на экране появится примерно следующее:

+--------------------------------------------------------------+
|                                                        View  |
|           to exit, movement keys are active             |
|                                                              |
|  restore fT /dev/rfd096ds15                  03/10/89  11:03 |
|                                                              |
|+------------------------ xbackup ---------------------------+|
||                                                            ||
||   Dump date:  Fri  Mar 10  15:09:57  1989                  ||
||   Dumped from:  Fri  Mar 3  10:00:00  1989                 ||
||   3    /tell0                                              ||
||   4    /tell1                                              ||
||   5    /tell2                                              ||
||   6    /tell3                                              ||
||   7    /tell4                                              ||
||   8    /tell5                                              ||
||   9    /tell6                                              ||
||   10   /tell7                                              ||
||   11   /tell8                                              ||
||   12   /tell9                                              ||
||                                                            ||
|+------------------------------------------------------------+|
|                                                              |
+--------------------------------------------------------------+
.
                            - 6-21 -

     ВОССТАНОВЛЕНИЕ ОТДЕЛЬНЫХ ФАЙЛОВ И КАТАЛОГОВ С РЕЗЕРВНОЙ КОПИИ

     Вы можете  с  помощью sysadmsh восстановить отдельные файлы
или подкаталоги с томов резервной копии файловой  системы.   Для
этого нужен  полный  комплект томов резервной копии с самой пос-
ледней версией файла (файлов), которые вы намерены восстановить.
Если вы восстанавливаете файл, который за последнее время не из-
менялся, воспользуйтесь последней резервной копией уровня 0.
     Для восстановления файлов нужно использовать их полные име-
на путей.  Эти имена содержатся в листинге  дублирования.   Если
файлы не  из  корневой файловой системы,  имя файловой системы в
Ъ2имени пути нужно опустить. Ъ3 Ъ0Например, Ъ3 Ъ0чтобыЪ3 Ъ0 восстановить Ъ3 файл
/u/stellar/data из резервной копии /u, надо ввести

     /stellar/data

     Восстановление файла выполняется следующим образом.
     1. Войдите в sysadmsh и выберите

     Backups->Restore->Partial

     2. На экране появится:
.
                            - 6-22 -

+--------------------------------------------------------------+
|                                                     Partial  |
| Press  to obtain a list of available media               |
|                                                              |
|  /tmp/sysadm                                 03/15/89  08:20 |
|                                                              |
|+-------------------- Restore File --------------------------+|
||                                                            ||
||       Media                     :    [               ]     ||
||       File to restore           :    [               ]     ||
||       Directory to restore to   :    [               ]     ||
||       Block size in Bytes       :    [512    ]             ||
||                                                            ||
||       Press  to restore the file or  to       ||
||       abandon                                              ||
||                                                            ||
||                       [Restore]                            ||
||                                                            ||
|+------------------------------------------------------------+|
|                                                              |
|                                                   Частичное  |
| Нажмите  для получения списка доступных носителей        |
|              Восстановление файла                            |
|     Носитель:                        [        ]              |
|     Восстанавливаемый файл:          [        ]              |
|     Каталог для восстановленного файла: [     ]              |
|     Размер блока в байтах:           [512  ]                 |
|     Нажмите , чтобы восстановить файл, или ,    |
|      если этого не надо делать                               |
|                [Восстановление]                              |
|                                                              |
+--------------------------------------------------------------+

     3. Сначала  нажмите  ,   чтобы  выбрать тип носителя из
предложенного списка.  После того, как носитель выбран, появится
окно для подтверждения готовности накопителя:

     +-------------------------------------------------------+
     |    Please make sure the media is in the drive and     |
     |               the drive is on line.                   |
     |                                                       |
     | Press  to format the disc or  to abandon |
     +-------------------------------------------------------+
         (Пожалуйста, убедитесь, что носитель в дисководе и
           дисковод в системе.
          Нажмите , чтобы отформатировать диск, или
           , если этого делать не нужно)

     4. Загрузите том 1 резервного комплекта в накопитель и наж-
мите .  Когда этот запрос будет удовлетворен,  вы верне-
тесь в меню Restore File (Восстановление файла).  Теперь введите
имя файла,   затем  нажмите  ,   чтобы  перейти  в  поле
Directory (Каталог), и введите имя каталога, в который вы хотите
восстановить файл(ы).
.
                            - 6-23 -

     Замечание
     Два важных момента:
     * Задавая  имя  пути,  опустите первую наклонную черту (/).
       Например, если вы восстанавливаете файл /bin/foo, введите
          bin/foo
     * Если вы задаете имя пути исходного местоположения,   вос-
       становленные файлы  будут записаны  на  этом месте поверх
       файлов с теми же именами.  Важно убедиться,  что файлы  в
       резервной копии  - именно той версии,  которая вам нужна.
       Если вы в этом не уверены,  восстановите файлы во времен-
       ный каталог  (например,   /tmp)  и сравните их с текущими
       файлами на диске, используя diff(C) или cmp(C).

     5. На экране появляется актуальная командная строка, напри-
мер, в случае cpio:

        cd /tmp; cpio -iudv -I/dev/frd096ds15 -C 512

     6. Если вы используете том cpio: В архиве идет поиск задан-
ных файлов, и после того, как очередной файл восстановлен в ука-
занное место на жестком диске,  на экране появляется его имя.  В
случае необходимости поступают приглашения сменить том.  Если вы
знаете все файлы, которые вы хотите восстановить, вы можете вый-
ти из среды восстановления,  нажав клавишу . (Программа бу-
дет продолжать поиск до конца резервной копии.)
     7. Если вы используете том xbackup: Загрузите том 1 резерв-
ного комплекта в накопитель и нажмите . Программа выдаст
номера индексных дескрипторов файлов,  которые вы задали, и приг-
ласит ввести номер тома:

+--------------------------------------------------------------+
|  file(s):  inode nn              (Файл(ы): дескриптор...)    |
|                                                              |
|  Mount desired dump volume: Specify volume #:                |
|        (Смонтируйте нужный том дампа. Задайте номер тома:)   |
|                                                              |
                            - 6-24 -

     Введите "1" и нажмите . Программа просматривает том
в поисках  заданных  файлов и помещает копии в заданные места на
жестком диске.
     Программа выдает приглашения на номер тома до тех пор, пока
не будут найдены все файлы. После этого вы увидите

+--------------------------------------------------------------+
|  Extract file filename                 (Извлечь файл ...)    |
|                                                              |

     Продолжайте подставлять тома по порядку,  пока не загрузите
первый том и не вернетесь в главное меню.
.
                            - 6-25 -

     ВОССТАНОВЛЕНИЕ ВСЕЙ ФАЙЛОВОЙ СИСТЕМЫ С ТОМОВ CPIO

     Восстановление всей файловой системы с резервной копии cpio
выполнить легче,  чем с копии xbackup. Нет необходимости переде-
лывать файловую систему,  так как копия cpio является  не "обра-
зом" файловой  системы,   а  совокупностью скопированных файлов.
Кроме того,  cpio можно использовать для восстановления корневой
файловой системы.   Она  тоже записывает поверх файлов,  имеющих
версии в резервной копии,  но файлы,  отсутствующие в  резервной
копии, останутся нетронутыми.
     Для восстановления файловой системы с резервной копии  cpio
выполните следующее.
     1. Вставьте первый том и выберите в sysadmsh:

     Backups->Restore->Full

     На экране появится следующее:

+--------------------------------------------------------------+
|                                                        Full  |
| Press  to choose from a list of filesystems              |
|                                                              |
|  /tmp/sysadm                                 03/15/89  08:20 |
|                                                              |
|+-------------------- Restore Filesystems -------------------+|
||                                                            ||
||       Filesystem to Restore     :    [               ]     ||
||       Media                     :    [               ]     ||
||       Block size in Bytes       :    [512    ]             ||
||                                                            ||
||       Press  to restore the filesystem or  to ||
||       abandon                                              ||
||                                                            ||
||                       [Restore]                            ||
||                                                            ||
|+------------------------------------------------------------+|
|                                                              |
|                                                      Полное  |
| Нажмите  для выбора файловой системы из списка           |
|              Восстановление файловой системы                 |
|     Восстанавливаемая файловая система: [        ]           |
|     Носитель:                           [        ]           |
|     Размер блока в байтах:              [512  ]              |
|     Нажмите , чтобы восстановить файловую систему,   |
|      или , если этого не надо делать                    |
|                [Восстановление]                              |
|                                                              |
+--------------------------------------------------------------+
.
                            - 6-26 -

     2. Введите  имя  файловой  системы или нажмите ,  чтобы
выбрать ее из предложенного списка. То же сделать для устройства
с носителем. Вам будет предложено подтвердить выбор.
     3. Теперь на экране появляется актуальная командная строка,
например, в случае восстановления файловой системы /u через cpio:

        cd /u; cpio -iudv -I/dev/frd096ds15 -C 512

     4. При восстановлении очередного файла его имя выводится на
экран. Если резервная копия состоит из нескольких томов,  вы бу-
дете получать приглашения вставить очередной том:

+---------------------------------------------------------------
|   Reached end of medium on input
|   Change to part n and press  key. [q]
|
|          (Достигнут конец носителя на вводе.
|           Замените на часть n и нажмите .  [q])
|
     После завершения процесса восстановления будет выдано число
восстановленных блоков.
.
                            - 6-27 -

     ВОССТАНОВЛЕНИЕ ВСЕЙ ФАЙЛОВОЙ СИСТЕМЫ С ТОМОВ XBACKUP

     Восстановление всей  файловой  системы  - это крайняя мера,
которая используется,  когда запортилась или перестала  читаться
некорневая файловая  система.  Этой возможностью следует пользо-
ваться осторожно: вся текущая информация в файловой системе наз-
начения будет перекрыта.  Корневую файловую систему таким спосо-
бом восстановить нельзя.  Если корневая  файловая  система  была
запорчена и  не является самозагружаемой,  ее можно восстановить
по правилам,  изложенным в разделе  "Восстановление  запорченной
файловой системы"  в главе "Решение системных проблем" документа
"Руководство администратора  системы"  (System   Administrator's
Guide); при  этом используется дискета аварийной загрузки,  соз-
даваемая при установке системы. Если она не создана, вам придет-
ся выполнить повторную установку операционной системы,  как опи-
сано в главе "Повторная установка и обновление системы" докумен-
та "Руководство по установке" (Installation Guide).
     Чтобы восстановить всю некорневую файловую систему с  томов
xbackup, сначала  нужно  "переделать" файловую систему с помощью
divvy. В результате вы начнете работать с чистой файловой систе-
мой, запуская опцию "Восстановление целой файловой системы".
     Процедура восстановления файловой системы состоит из следу-
ющих шагов.
     1. Зарегистрируйтесь в системе как супер-пользователь (root)
и введите одну из следующих команд:
     если вы восстанавливаете файловую систему на первичный диск
(/dev/hd00) -
          divvy -b 1 -c 1
     если вы восстанавливаете файловую систему на вторичный диск
(/dev/hd10) -
          divvy -b 1 -c 1 -p 1
.
                            - 6-28 -

     2. Вы  увидите  таблицу  примерно следующего вида,  а также
главное меню divvy:

+---------------------------------------------------------------
|  +--------+-----------+--------+---+-------------+------------+
|  | Name   | Type      | New FS | # | First Block | Last Block |
|  +--------+-----------+--------+---+-------------+------------+
|  | root   | XENIX     | no     | 0 |           0 |      47402 |
|  | swap   | NON FS    | no     | 1 |       47403 |      50368 |
|  | u      | XENIX     | no     | 2 |       50369 |      70368 |
|  |        | NOT USED  | no     | 3 |           - |          - |
|  |        | NOT USED  | no     | 4 |           - |          - |
|  |        | NOT USED  | no     | 5 |           - |          - |
|  | recover| NON FS    | no     | 6 |       70369 |      70378 |
|  | hd0a   | WHOLE DISK| no     | 7 |           0 |      70676 |
|  +--------+-----------+--------+---+-------------+------------+
|    Имя      Тип       Новая ф.с.  N  Первый блок   Послед.блок
|
|  70379 blocks for divisions, 298 blocks reserved for the system
|      (70379 блоков для разделов, 298 зарезервировано в системе)
|
|  n[ame]     Name or rename a division.
|                 (Присвоить имя или переименовать раздел)
|  c[reate]   Create a new file system on this division.
|                 (Создать новую файловую систему в этом разделе)
|  t[ype]     Select or change filesystem type on new filesystem.
|                 (Выбрать или изменить тип новой файловой системы)
|  p[revent]  Prevent a new file system from being created on...
|                 (Предотвратить создание новой файловой системы в)
|  s[tart]    Start a division on a different block.
|                 (Начать раздел с другого блока)
|  e[nd]      End a division on a different block.
|                 (Кончить раздел другим блоком)
|  r[estore]  Restore the original division table.
|                 (Восстановить исходную таблицу разделов)
|
     3. Введите  "c",  чтобы вновь создать файловую систему.  Вы
получите приглашение ввести номер раздела (см. колонку 3):

+---------------------------------------------------------------
|   which division?  (0 through 6) --
|                                      (Какой раздел? (от 0 до 6)

     Введите номер, соответствующий создаваемой файловой системе.

     Замечание
     Следует крайне осторожно выбирать создаваемую файловую сис-
тему. Впрочем,  после выхода из divvy вы  можете  исправить  все
ошибки, используя выбор e[xit] (см. ниже).
.
                            - 6-29 -

     4. Вновь появляется меню divvy,  только в колонке "New File
System?" (Новая файловая система?) стоит "yes" (да).
     5. Если вы воссоздаете файловую систему XENIX, ее тип уста-
навливается в значение AFS (по умолчанию).  Чтобы  изменить  тип
файловой системы,  введите "t".  Вы получите приглашение на ввод
номера раздела. Проверьте правильность вашего номера. Чтобы вый-
ти, введите "q".
     6. Теперь вам дается последняя возможность отменить сделан-
ные вами изменения, прежде чем выйти из divvy:

+---------------------------------------------------------------
|  i[nstall]   Install the division set-up shown
|                          (Установить созданные разделы)
|  r[eturn]    Return to the previous menu
|                          (Возврат в предыдущее меню)
|  e[xit]      Exit without installing a division table
|                          (Выход без установки таблицы разделов)
|
|  Please enter your choice:
|                          (Введите выбранную опцию)
|
     Если вы сделали ошибку,  введите "e",  в противном случае -
"i", чтобы зафиксировать сделанные изменения.  Теперь можно сов-
сем выйти из divvy. Когда вы выйдете, система перестроится. Поя-
вится сообщение:

+---------------------------------------------------------------
|  Making Filesystems                  (Создание файловых систем)
|

     7. Войдите в sysadmsh и выберите

         Backups->Restore->Full

     Замечание
     При восстановлении резервной копии уровня  0  запись  будет
идти поверх вашей файловой системы.
     Даже если файловая система была повреждена, в ней может ос-
таться ценная информация.  Перед восстановлением на поврежденную
файловую систему важно убедиться,  что не  повреждена  резервная
копия, с которой производится восстановление.
.
                            - 6-30 -

     8. На экране появится:

+--------------------------------------------------------------+
|                                                        Full  |
| Press  to choose from a list of filesystems              |
|                                                              |
|  /tmp/sysadm                                 03/15/89  08:20 |
|                                                              |
|+-------------------- Restore Filesystems -------------------+|
||                                                            ||
||       Filesystem to Restore     :    [               ]     ||
||       Media                     :    [               ]     ||
||       Block size in Bytes       :    [512    ]             ||
||                                                            ||
||       Press  to restore the filesystem or  to ||
||       abandon                                              ||
||                                                            ||
||                       [Restore]                            ||
||                                                            ||
|+------------------------------------------------------------+|
|                                                              |
|                                                      Полное  |
| Нажмите  для выбора файловой системы из списка           |
|              Восстановление файловой системы                 |
|     Восстанавливаемая файловая система: [        ]           |
|     Носитель:                           [        ]           |
|     Размер блока в байтах:              [512  ]              |
|     Нажмите , чтобы восстановить файловую систему,   |
|      или , если этого не надо делать                    |
|                [Восстановление]                              |
|                                                              |
+--------------------------------------------------------------+

     9. Введите  имя  файловой  системы или нажмите ,  чтобы
выбрать ее из предложенного списка. То же сделать для устройства
с носителем. Вам будет предложено подтвердить выбор.
     10. Теперь  на экране появляется актуальная командная стро-
ка, например:

     xrestore fr /dev/frd096ds15 -C 512 /dev/u; /etc/fsck /dev/u

     11. Начните с последней полной копии (уровня 0),   загружая
по порядку тома согласно приглашениям.
     12. Вам дается еще один шанс остановиться:

+---------------------------------------------------------------
|  Last chance before scribbling on /dev/name.
|
     Если вы намерены продолжать,  нажмите ; в противном
случае нажмите .
.
                            - 6-31 -

     13. Процесс восстановления может  занять  некоторое  время.
Когда эта фаза операции завершится, на экране появится:

+---------------------------------------------------------------
|  End of backup
|  The restore phase of /name has been successful.
|  The filesystem will be checked to ensure integrity.
|
|          (Конец резервной копии. Фаза восстановления /name
|           выполнилась успешно. Файловая система будет проверена
|           на целостность)
|
     Затем sysadmsh выполняет проверку файловой  системы  с  по-
мощью fsck(ADM). На экран выйдет несколько сообщений вида

+---------------------------------------------------------------
|  ** Phase 1 - Check Blocks and Sizes
|                           (Фаза 1 - Проверка блоков и размеров)
|  ** Phase 2 - Check Pathnames             (Проверка имен путей)
|  ** Phase 3 - Check Connectivity          (Проверка связности)
|  ** Phase 4 - Check Reference Counts
|                                  (Проверка счетчиков обращений)
|  ** Phase 5 - Check Free List      (Проверка свободного списка)
|  ***** FILE SYSTEM WAS MODIFIED *****
|                          (Файловая система была модифицирована)
|
     14. Когда проверка файловой системы завершится,  она  снова
монтируется.
     15. Теперь,  после завершения восстановления с томов уровня
0, вы возвращаетесь в меню сопровождения файловых систем. Повто-
ряйте пункты 6-12 до тех пор,  пока не выполнится восстановление
резервных копий высших уровней (1,  8 и 9), которые были сделаны
в период между последним дублированием уровня 0 и моментом  пов-
реждения файловой системы.  Восстанавливайте их в том порядке, в
котором они были сделаны (т.е.  в убывающем порядке),  чтобы  не
перекрыть более поздние версии файлов более старыми.
.
                            - 6-32 -

     ОПИСАНИЕ УРОВНЕЙ ДУБЛИРОВАНИЯ

     Самый простой  и  надежный  способ обеспечения безопасности
данных - каждый раз делать  резервную  копию  всего  содержимого
файловой системы.  Однако файловые системы могут оказаться боль-
шими (400 MB и больше)  и будут копироваться часами.   Концепция
уровней дублирования  (или  инкрементных  дублирований)  вызвана
этой проблемой.  Основная идея инкрементного дублирования -  де-
лать копию  только тех файлов,  которые изменились с предыдущего
дублирования. Тем самым можно значительно сократить  размер  ре-
зервной копии и продолжительность дублирования.  Рассмотрим сле-
дующую схему:
     ежемесячно - полное дублирование;
     еженедельно - все, что появилось с предыдущей недели;
     ежедневно - все, что появилось с предыдущего дня.
Это значит,  что в конце каждого месяца дублируется вся файловая
система. Каждую  неделю  дублируются  файлы,  изменившиеся после
предыдущей недели,  и каждый день - файлы, изменившиеся за день.
Если в  некоторый  момент файловая система получает повреждение,
вам придется просто восстановить последнюю полную  (ежемесячную)
резервную копию,   последнюю еженедельную копию и все ежедневные
копии, сделанные до инцидента.  Таким образом,  всегда можно ре-
конструировать файловую систему, имея набор резервных копий.
     Хотя это и выглядит просто, реализовать инкрементное дубли-
рование сложнее.

     Принципы уровней инкрементного дублирования

     Чтобы процесс дублирования был более эффективным,  в средс-
тве дублирования предусмотрен последовательный ряд уровней, каж-
дый из которых базируется на последнем дублировании более низко-
го уровня. Поддерживается до десяти различных уровней дублирова-
ния, что позволяет администратору системы проявлять значительную
гибкость в организации дублирования.
.
                            - 6-33 -

        Уровень   Сохраняемые файлы
        ----------------------------------------------
        0         Все файлы файловой системы
        1         Файлы, изменившиеся после последнего
                  дублирования уровня 0
        2         Файлы, изменившиеся после последнего
                  дублирования уровня 1
        3         Файлы, изменившиеся после последнего
                  дублирования уровня 2
        ..............................................
        9         Файлы, изменившиеся после последнего
                  дублирования уровня 8

     Все десять  уровней  могут  использоваться  в компьютерах с
массивными файловыми системами; обычные системы используют  лишь
несколько уровней. Уровни предназначены для разбиения дублирова-
ния на управляемые элементы.  Важно усвоить,   что  дублирование
каждого уровня  создает резервную копию на основе копии предыду-
щего (ближайшего более низкого)  уровня. Это значит, что порядок
дублирований несущественен, но существенен номер уровня.
     Предположим, например, что за неделю были сделаны следующие
резервные копии:

     День    Уровень   Скопированные файлы
     --------------------------------------------------------
     Понед.     0      Все файлы файловой системы
     Втор.      5      Все файлы, изменившиеся с понедельника
     Среда      2      Все файлы, изменившиеся с понедельника
     Четв.      7      Все файлы, изменившиеся со вторника
     Пятн.      5      Все файлы, изменившиеся со среды

     Этот пример  нелогичен,   но его можно использовать для де-
монстрации работы уровней.  Помните, что при каждом дублировании
сохраняются файлы,   изменившиеся после дублирования с ближайшим
более низким уровнем (самый низкий уровень - 0).  Следовательно,
в пятницу на уровне 5 будет сделана резервная копия файлов,  из-
менившихся после дублирования с ближайшим более низким  уровнем,
уровнем 2,  которое выполнялось в среду.  Во вторник на уровне 5
будут сохранены только те файлы, которые изменились с предыдуще-
го дня,   так  как  единственный предыдущий более низкий уровень
дублирования - уровень 0.  Если бы все дублирования, кроме поне-
дельника, выполнялись на уровне 5, в каждом случае дублировались
бы все файлы,  изменившиеся после дублирования уровня 0 в  поне-
дельник.

     Как работает расписание, принятое по умолчанию

     Файл schedule,   принимаемый  по умолчанию,  поставляется с
дистрибуцией; в нем используется только четыре  уровня,   и  его
можно оптимизировать  для применения в системах умеренного поль-
зования (8-10 пользователей с общей дисковой памятью 200-400 MB).
.
                            - 6-34 -

+--------------------------------------------------------------+
| #              1 2 3 4 5   6 7 8 9 10  1 2 3 4 5   6 7 8 9 10|
| # Filesystem   M T W T F   M T W T F   M T W T F   M T W T F |
|   /dev/rroot   0 x 9 x 9   8 x 9 x 9   1 x 9 x 9   8 x 9 x 9 |
|   /dev/ru      9 0 9 9 9   9 8 9 9 9   9 1 9 9 9   9 8 9 9 9 |
+--------------------------------------------------------------+

       Рисунок 6-5. Расписание, принимаемое по умолчанию

     Файловая система /u

     Файловая система /dev/ru является  интенсивно  используемым
ресурсом. Каждый  день делается резервная копия некоторого уров-
ня. Эта схема служит для минимизации ресурсов  при  максимизации
надежности; если одна или несколько резервных копий за эту неде-
лю потеряется или испортится,  существующей  избыточности  будет
достаточно для минимизации любой потери данных.
     Согласно расписанию,  принятому по умолчанию, полное дубли-
рование (уровня 0) файловой системы /dev/ru выполняется в начале
месяца. (Так как резервная копия уровня 0 для корневой  файловой
системы делается в понедельник,  то резервная копия уровня 0 для
/u делается во вторник.) В среду при дублировании уровня 9 будут
сохранены только те файлы /dev/ru, которые изменились после дуб-
лирования уровня 0.  К концу недели будет задействовано  гораздо
меньшее число  дискет или лент,  чем нужно при ежедневном полном
дублировании. Значительно сокращается и время дублирования. Если
нужно восстановить файловую систему в последнее зарегистрирован-
ное состояние, вам придется восстановить последнюю резервную ко-
пию уровня 0,  а затем - все резервные копии более низкого уров-
ня, сделанные с тех пор.
     Заметьте, что каждый вторник происходит дублирование низше-
го уровня (0, 1 или 8), при котором сохраняется все с начала ме-
сяца; теперь  каждое последующее дублирование уровня 9 будет ба-
зироваться по этой неделе.  В итоге резервные копии уровня 9  не
будут чрезмерно большими и избыточными.

     Файловая система root

     Корневая файловая  система  содержит операционную систему и
другие системные файлы.  Она изменяется реже, и ее не нужно дуб-
лировать каждый день.  Каждый понедельник делается резервная ко-
пия низшего уровня,  и дважды в неделю - резервная копия  уровня
9. Как и для файловой системы /u, дублирование уровня 9 сводится
к тем только файлам, которые изменились за эту неделю.
.
                            - 6-35 -

     Как используются резервные копии для восстановления  файло-
вой системы

     Теперь предположим,  что произошел аппаратный сбой,  разру-
шивший информацию на жестком диске.  Допустим,  это случилось  в
последний четверг месяца,  как раз перед тем,  когда должна была
быть сделана резервная копия. После того, как проблема с аппара-
турой устранена и система заново установлена,  нужно как-то вос-
становить резервные копии. Восстановите последний вариант каждо-
го уровня дублирования в убывающем порядке:
     * уровень 0 (сделанный в первый вторник месяца)
     * уровень 1 (сделанный в третий вторник)
     * уровень 8 (сделанный в четвертый вторник)
     * уровень 9 (сделанный в среду вечером)
     Вам не нужно восстанавливать резервную копию уровня 8, сде-
ланную во  второй  вторник,   так как последовавшая за ней копия
уровня 1 покрыла те же файлы.  Единственная информация,  которой
не хватает,   -  что изменилось за четверг до сбоя.  Это главная
причина необходимости дублирования;  восстановление  после  сбоя
пройдет просто и с минимальными потерями.

     Глава 7

     Добавление драйверов устройств в среде конструктора связей
________________________________________________________________

     Введение                                             7-1
     Драйверы устройств                                   7-2
            Установка драйверов устройств                 7-2
            Установка драйверов с предварительной
              конфигурацией                               7-3
            Установка драйверов без процедуры
            настройки оболочки                            7-3

                                 - 7-2 -

________________________________________________________________
     Драйверы устройств

     Драйвер устройства  в  среде  UNIX представляет собой набор
программ, которые обеспечивают связь с  физическими устройствами
и являются  средствами,  с  помощью которых операционная система
может управлять выполнением операций ввода/вывода для этих  уст-
ройств.
     Драйвер устройства обычно поставляется в виде одного  прог-
раммного модуля.  Установка этого программного модуля в ядро яв-
ляется важной и  необходимой  частью  для  установки  физических
устройств. Она  должна быть полностью завершена до того как уст-
ройство будет использоваться. Драйвер обычно дополняется вспомо-
гательной программой  или процедурой настройки оболочки, которые
помогают сформировать связи между драйвером и ядром.
     Чтобы подготовить  установку нового драйвера устройства не-
обходимо выполнить следующие действия:
     * После  закрытия  системы  и отключения питания установить
       физическое устройство в системный блок в  соответствии  с
       инструкциями его производителя.
     * Загрузить систему и выбрать режим поддержки  системы. Все
       операции,  описанные в процессе установки,  должны выпол-
       няться в этом режиме.
     * Убедиться, что установлен конструктор связей. Если он еще
       не установлен,   установите   его    используя    команду
       custom(ADM).
     * Установите  каталог,  содержащий  конструктор  связей так,
       чтобы можно было запустить средства конфигурации.
           cd /etc/conf/cf.d
       Большинство процедур  установки,  описанных ниже,  должны
       выполняться в этом каталоге.

     Установка драйверов устройств

     Инструкции по установке новых драйверов устройств отличают-
ся  для  каждого типа устройств.  Необходимо пользоваться только
инструкцией по  установке,  поставляемой  вместе  с  программным
обеспечением конкретного драйвера устройства.

                                 - 7-3 -

     После того, как установлен конструктор связей и изучена ин-
струкция по установке, можно приступить к следующим шагам по ус-
тановке драйвера,  которые зависят от того как, много работы уже
было сделано поставщиком драйвера.
     Многие поставщики драйверов  компонуют  драйверы  утилитами
автоматической   установки   драйвера,  совместимыми  с  custom.
Вставьте гибкий диск,  полученный от поставщика драйвера, в дис-
ковод и введите :
     custom
 sysadmsh выбор пользователя: Система->Программное обеспечение
     Выберите опцию   добавления   поддерживаемых  продуктов,  и
следуйте инструкциям,  появляющимся на экране.  Custom  запустит
поставляемое  вместе  с  драйвером V-совместимое с системой UNIX
программное обеспечение автоматической установки. Оно устанавли-
вает программное обеспечение драйвера устройства и устанавливает
связи с версией ядра UNIXa,  которое содержит новый драйвер уст-
ройства. После того как custom завершит свою работу, следует пе-
рейти к следующему шагу установки, обычно заключающемся в тести-
ровании созданного   ядра.  Для  получения  детального  описания
обратитесь к документации устанавливаемого драйвера устройства.
     Если драйвер имеет предварительную конфигурацию следует вы-
полнить инструкции, описанные в "Установке драйверов с предвари-
тельной конфигурацией".  Если  это  не так,  следуйте "Установке
драйверов без  процедуры  настройки  оболочки",  где  определены
действия, необходимые для включения драйвера в конфигурацию сис-
темы.

     Установка драйверов с предварительной конфигурацией

     Гибкий диск установки драйвера может поставляться с  проце-
дурой установки  оболочки,  используемой  для  включения  нового
драйвера в систему.  Если такая процедура присутствует на диске,
запустите ее, введя:
     ./<имя процедуры>

                              - 7-3a -

     где имя  процедуры  есть  имя процедуры установки оболочки.
Большинство процедур установки оболочки также создает все специ-
альные  файлы  необходимые для работы устройства;  если это так,
перезагрузите ядро,  которое теперь включает новый драйвер. Если
процедура  установки  оболочки не создала соответствующие специ-
альные файлы в /dev,  Вы должны создать  их  с  помощью  команды
mknod(C).  Для  получения более подробной информации по созданию
специальных файлов смотрите шаг 10 в  "Установка  драйверов  без
процедуры  настройки  оболочки"  или обратитесь к руководству по
команде mknod(C).

     Установка драйверов без процедуры настройки оболочки

     Если на гибком диске,  поставляемом с драйвером, не сущест-
вует процедуры установки оболочки,  следуйте действиям описанным
ниже (если у Вас возникнут  проблемы,  обратитесь  к  поставщику
драйвера для получения помощи):

                                 - 7-4 -

     1. Создайте резервную копию ядра с помощью следующей коман-
        ды:
     cp/unix/unix.old

     2. Введите имя программы драйвера из модуля  драйвера.  Мо-
        дуль  драйвера  является  .o  файл  (обычно  Driver.o) в
        инсталяционной области. Введите команду :
     ./routines Driver.o

________________________________________________________________
Примечание
     Если Вы видите несколько .о  файлов,  то  это  значит,  что
установочная область содержит более чем один драйвер.  Каждый .о
файл является модулем драйвера.  Имена этих файлов  для  каждого
драйвера обычно  содержат  некоторый  префикс,  который является
именем соответствующего устройства.  Например,  модуль  драйвера
для   серийного   устройства   ввода/вывода   может   иметь  имя
sioDriver.o. Вы должны повторить шаги  2-10  процедуры,  которая
описывается в данном разделе,  для каждого драйвера,  который Вы
хотите установить.
________________________________________________________________

     3. Определите уровень приоритета прерываний.  Уровень прио-
        ритета драйвера имеет имя,  состоящее из строки spl,  за
        которым следует номер от 0 до 7. Наибольший номер следу-
        ющий за spl и есть уровень приоритета прерываний. Напри-
        мер, если имя spl6 является наибольшим уровнем приорите-
        та,  то уровень приоритета прерываний устройства есть 6.
        Затем вычеркните все spl программы из списка.
     4. Найдите  соответствующие  имена  программ драйвера.  Все
        программы драйвера с перестраиваемой конфигурацией имеют
        общий префикс,  такой как sio. За каждым префиксом сле-
        дует один из суффиксов:open,  сlose, read, write, ioctl,
     startup,  exit,  fork, exec, init, halt, poll, strategy,

     print,  _tty, или intr. Если имя программы образовано не

        по этому правилу вычеркните его из списка. Например, ес-
        ли Ъ3routines для  sioDriver.o  порождает  большой  список
        программ,  начинающихся с sio,  и одну ttinit программу,
        то Вы должны вычеркнуть ее из списка, так как имя ее на-
        чинается не с sio. Sio драйвер содержит несколько других
        программ,  которые также должны быть  вычеркнуты,  такие
        как  siopinit - из-за "p".  Sio - исключительный случай:
        большинство драйверов не имеют такие  неправильные имена
        программ.

                                 - 7-5 -

     5. Определите являются ли периферийные устройства блок-ориен-
     тированными  или  символ-ориентированными  устройствами.

        Если  существует  программа  с  суффиксом  strategy  или
     print, то устройство является блок-ориентированным. Если

        суффикс  -  read,  write  или ioctl,  то устройство сим-
        вол-ориентированное. Если нет программ ни с одним из вы-
        шеперечисленных суффиксов, то считайте, что устройство -
        символ-ориентированное.
     6. Создайте подкаталог в /etc/conf/pack.d , в который  надо
        поместить набор файлов устанавливаемого драйвера. В
        качестве имени подкаталога  примите общий префикс  фай-
        лов.
        Ъ2mkdir /etc/conf/pack.d/prefix
        Если вы планируете использовать имя драйвера отличное от
        общего префикса (см.  использование опции -h  в  команде
     configure,  описанной  дальше),  используйте это имя для

        имени подкаталога вместо префикса.
        Поместите файлы,  связанные с драйвером в этот новый под-
        каталог. Список файлов будет по крайней мере включать
        файл Driver.o. Если набор файлов драйвера также содержит
        файлы space.c и stub.c, поместите эти файлы также в соз-
        данный подкаталог.
        Ъ2mv Driver.o space.c stubs.c /etc/conf/pack.d/prefix
_______________________________________________________________
Примечание
     Если выбранные Вами файлы из установочной области относятся
более чем к одному драйверу (несколько .о файлов), то имена этих
файлов начинаются с имени соответствующего драйвера  для каждого
драйвера   из   установочной   области  (например,  sioDriver.o,
siospace.c и siostubs.c). Когда Вы разместите файлы в  подката-
логе  каталога /etc/conf/pack.d,  удалите префикс из имен фай-
лов таким образом,  чтобы имена их были просто Driver.o, space.c
и stubs.c. Например :
     mv sioDriver.o /etc/conf/pack.d/sio/Driver.o
     mv space.c /etc/conf/pack.d/sio/space.c
     mv stubs.c /etc/conf/pack.d/sio/stubs.c
     Не забудьте создать подкаталог  и поместить в  него файлы
для каждого драйвера, который Вы устанавливаете.
_______________________________________________________________

                                 - 7-6 -

     7. Получите  главный  номер  устройства с помощью следующей
        команды и запомните его для дальнейшего  использования :
     ./configure -j NEXTMAJOR

     8. Выберите вектор прерываний для  конкретного  устройства.
        Если  существует  программа с именем intr,  обратитесь к
        руководству по техническому обеспечению для  того, чтобы
        найти  какие вектор или вектора доступны для использова-
        ния конкретным устройством для прерывания.  Чтобы  полу-
        чить  список уже активизированных векторов,  введите ко-
        манду :
         ./vectorsinuse
        Некоторые драйверы написаны таким образом, что позволяют
        разделение векторов, однако для наилучшего использования
        системы рекомендуется каждому  устройству  предоставлять
        свой собственный вектор или вектора,  если это возможно.
        Выберите подходящие вектор или вектора для данного  уст-
        ройства и запишите их.
     9. Используйте команду configure для занесения информации о
        новом  драйвере в файлы конфигурации системы.  Все опции
        команды configure подробно описаны в руководстве по этой
        команде (ADM). Команда configure имеет следующий синтак-
        сис и вводится в одной строке,  т.е. без нажатия клавиши
        Return до того, пока не будет полностью введена команда:
       ./configure -b -c -m <главный номер устройства> -с -m \
      <список векторов> -l <уровень приоритета прерываний>  -h \
      <имя  устройства>
        Эти опции имеют следующие назначения и  ограничения  ис-
        пользования :
           -b используется, если устанавливается блок-ориентиро-
              ванное устройство.
           -c используется,         если         устанавливается
              символ-ориентированное устройство.
           -m должна предшествовать главному  номеру устройства,
              определенному ранее.
           -s используется вместе с опцией -h, когда добавляется
              или удаляется некоторый последовательный  модуль и
              заменяет  -m,-b  и -c.  Для поток-ориентированного
              драйвера используется с опциями -m и -c.
           -v используется только если драйвер имеет intr  прог-
              рамму;  предшествует  списку векторов определенным
              ранее.
           -a предшествует списку имен программ драйвера,  опре-
              деленным  командой routines и вычеркиванием исклю-
              чительных элементов.

                                 - 7-7 -

           -l используется только если драйвер имеет  spl  прог-
              рамму;  предшествует уровню приоритета прерываний,
              определенному ранее.
           -h используется только для того,  чтобы  указать  имя
              устройства,  отличное от префикса программ драйве-
              ра,  или вместе со stream module когда  не  указан
              префикс; подкаталог каталога    /etc/conf/pack.d,
              предназначенный  для  хранения файлов  драйвера,
              должен иметь имя этого устройства.
        Например, для установки в конфигурацию серийного драйве-
        ра ввода/вывода, используется команда:
     ./configure -c -m 5 -v 3 4 -a sioopen sioread siowrite\

     sioioctl siopoll sioinit sio_tty -l 7

        Установка драйвера  виртуального  диска  является  более
        простым  примером,  для  внесения его в конфигурацию ис-
        пользуется команда:
     ./configure -b -m 31 -a ramopen ramclose  ramstrategy  \

     ramprint

        Используя опции -s и -h, Вы можете внести в конфигурацию
        поток-ориентированный модуль:
     ./configure -a nmi_init -s -h nmi

     10. Для того, чтобы программы могли получить доступ к вновь
         установленному  устройству,  создайте  специальный файл
         устройства в /dev. Специальные инструкции по установке,
         поставляемые вместе с устройством,  содержат более точ-
         ные сведения по имени специального файла и другим пара-
         метрам, связанным с ним. Для создания специального фай-
         ла устройства используется  команда  mknod.  Определите
         имя специального файла, тип устройства( "b" - для блок-
         ориентированного,  "c" - для  символ-ориентированного),
         главный  номер  устройства  и  младший номер устройства
         (показывающий номер устройства,  драйвера или  линейный
         номер).  Например,  для  того чтобы создать специальный
         файл для серийного драйвера ввода/вывода, введите :
         /etc/mknod /dev/ttyla c 5 1
         Далее приводятся примеры  создания  специальных  файлов
         устройств:
         /etc/mknod /dev/hcd0 b 1 0
         /etc/mknod /dev/rhcd0 c 1 0
         /etc/mknod /dev/hqp c 7 0
         Учитывайте соглашения  UNIX  по установке имен дисковых
         устройств. Вы можете присоединить цифру к мнемоническо-
         му коду для указания номера драйвера.  Имя специального
         символ-ориентированного устройства должно иметь префикс
         "r".

                                 - 7-8 -

     11. Постройте ядро,  содержащее новые  драйверы,  используя
         следующую команду:
         ./link_unix
         sysadmsh выбор пользователя: Система->Конфигурация->Яд-
         ро->Построение
         Установка связей займет некоторое время, поэтому следу-
         ет осуществлять эту операцию после того,  как будут ус-
         тановлены все драйверы.
     12. Загрузите новое ядро, используя следующую команду :
         /etc/shutdown
         sysadmsh выбор пользователя: Система->Завершение
         Появится сообщение   о  загрузке.  По  нажатию  клавиши
          активизируется перезагрузка системы  и  загру-
         зится новое ядро.
________________________________________________________________
Примечание
     Если  возникнут   проблемы  с  новым  ядром, перезагрузите
/unix.old

________________________________________________________________
     Глава 8
     Настройка работы системы
________________________________________________________________

     Введение                                               8-1
          Примеры специального распределения ресурсов       8-3
     Перераспределение ресурсов ядра с помощью утилиты
       конфигурации                                         8-4
          Использование командной строки configure          8-5
     Реконфигурация в случае постоянных сообщений об
       ошибках                                              8-7
     Реконфигурация для выполнения задач                    8-8
          Когда настраивать и что настраивать               8-8
          Специальные требования                            8-8
          Улучшение использования диска                     8-9a
          Что надо сделать когда добавляется память         8-10a
          Организация файловой системы                      8-11
     Определение эффективного способа использования системы 8-14
          Команда ps                                        8-14
          Переменные пользователя $PATH                     8-15
     Использование средств измерения производительности
       для  диагностирования неэффективности системы        8-16
          Использование памяти: Буферы и страницы           8-17
          Использование буферов: sar -b                     8-17
          Производительность  процесса: sar -q              8-18
          Использование процессора: sar -u                  8-19
          Системные таблицы: sar -v                         8-20
          Свопинг: sar -w                                   8-21
          Проверка работы системы по командам: timex        8-22
     Описание настраиваемых системных параметров            8-23
          Диски и буферы                                    8-23
          Символьные буферы                                 8-25
          Файлы, индексные дескрипторы файла и файловые
          системы                                           8-26
          Процессы, управление памятью и свопинг            8-29
          Часы                                              8-31
          Мультиэкраны                                      8-32
          Очередь сообщений                                 8-32
          Семафоры                                          8-33
          Разделенные данные                                8-34
          Имя системы                                       8-35
          Потоки данных                                     8-35
          Очеpеди событий и устpойства                      8-38
          Аппаpатно-зависимые паpаметpы                     8-38
          Паpаметpы pазделения удаленных файлов             8-38

                                  - 8-1 -

________________________________________________________________
     Введение

     Конструктор связей содержит утилиту configure(ADM), которая
используется для изменения числа параметров,  влияющих на работу
системы. В  этой  главе  объясняется  как изменить эти параметры
применительно требованиям Вашей системы.  Кроме  того,  включены
основные процедуры,  которые  помогут улучшить использование ре-
сурсов и работу системы.
     Система UNIX оптимизирована для использования с разнообраз-
ными конфигурациями технических средств  и  является  базой  для
различных применений.  Ядро, которое является сердцем операцион-
ной системы, управляет числом ресурсов постоянно использующихся,
освобождающихся и повторно подключающихся. Эти ресурсы включают:
        буферы
            некоторый набор блоков внутренней памяти, используе-
            мых для хранения в них используемых  данных. (Буферы
            увеличивают  эффективность,  так как данные хранятся
            во внутренней памяти,  что уменьшает число  операций
            чтения с диска).
        табличные элементы
            некоторая область в каких-либо таблицах, которая ис-
            пользуется ядром для хранения информации  о  текущих
            задачах, ресурсах и событиях.
        другие параметры
            Другие определяемые значения,  управляющие специаль-
            ными ресурсами (такие как число доступных  мультиэк-
            ранов или количество сигнальных устройств).
     Использование этих ресурсов определяется некоторыми  грани-
цами, которые можно сузить или расширить,  иногда за счет других
ресурсов.
     Настройка работы системы обязательно потребует внимания при
первичной установке системы UNIX. Когда Вы первый раз загружаете
систему, она  автоматически  настроена на стандартную конфигура-
цию, которая удовлетворяет большинству ситуаций.  Эта конфигура-
ция, однако,  не  может считаться образцом использования системы
для конкретного применения.  Поэтому структура системы позволяет
провести ее реконфигурацию для увеличения эффективности конкрет-
ного использования системы по сравнению со стандартной  конфигу-
рацией системы.

                                  - 8-2 -

________________________________________________________________
Примечание
     Хотя существуют средства, которые упрощают процесс настрой-
ки, мы   не  рекомендуем  изменять  параметры  ядра  без  особой
необходимости.
________________________________________________________________
     Существует несколько причин для  перераспределения ресурсов
системы :
     * Вы  устанавливаете дополнительную память и поэтому хотите
       распределить больше памяти.
     * Постоянно появляются сообщения об ошибках,  которые пока-
       зывают, что  заняты  определенные ресурсы,  такие как ин-
       дексные дескрипторы файла или элементы таблицы.
     * Время реакции системы постоянно слишком велико, а это оз-
       начает,  что  ресурсы  очень  малы для эффективной работы
       системы (например,  очень мало установлено физической па-
       мяти).
     * Ресурсы необходимо перестроить для того.  чтобы они отве-
       чали требованиям конкретного приложения.
     Кроме того,  важно определить,  какие из ресурсов оказались
излишними или неэффективно распределенными. Определенные настра-
иваемые параметры отвечают требованиям к системе, когда устанав-
ливается дополнительная память с целью поддержки системой  боль-
шего   количества   пользователей.   Однако,   для   компьютера,
используемого в качестве  высоко-производительного персонального
компьютера или специализированного процессора, нет необходимости
увеличивать настраиваемые параметры ядра,  когда устанавливается
дополнительная память.  Конечно, настройка определенных парамет-
ров обычно связана с установкой дополнительной памяти  для  под-
держки  большего  количества пользователей (NBUF,  NCLIST и др.)
может на самом деле уменьшить общую производительность,  так как
эти  параметры увеличивают размер требуемой области данных ядра,
что уменьшает доступный размер новой памяти для работы пользова-
телей. Проще говоря, ожидаемое использование Вашего компьютера и
Ваши планы,  как это делать, должны использоваться как руководс-
тво при определении требований по настройке параметров.
     Существуют другие  стороны  настройки конфигурации системы,
приводящие к отрицательному влиянию на работу системы. Например:
     * организация файловой системы
     * организация каталогов
     * эффективность использования $PATH

                                  - 8-3 -

     * использование ps,  sar, учета работы, профилирование ядра
       и  другие  системные  утилиты для определения степени ис-
       пользования системы.
     В этой главе также обсуждается вопрос о том, как убедиться,
что  система работает с максимальной эффективностью в конкретных
областях применения.

     Примеры специального распределения ресурсов

     Специальные приложения  зачастую  требуют перераспределения
ключевых ресурсов  системы  для  оптимизации  работы.  Например,
пользователи, работающие с большими базами данных, могут решить,
что необходимо увеличить число распределенных файлов по  отноше-
нию к текущему числу файлов,  установленных в системе. Пользова-
тели, которым не требуется специальных средств,  например, таких
как управление сообщениями,  могут решить, что они получат неко-
торое увеличение скорости работы системы при  отсоединении  этих
средств.
     Решение об оптимизации  использования  конкретных  ресурсов
рассматривается как решение о настройке ядра.  Каждый ресурс или
ограничение представляется отдельным  параметром  ядра.  Текущие
значения этих параметров изменяются с помощью утилиты configure.

                                  - 8-4 -

________________________________________________________________
     Перераспределение ресурсов ядра с помощью утилиты CONFIGURE

     Утилита configure является легко используемой меню-ориенти-
рованной программой, которая представляет каждый ресурс и запрос
на модификацию,  устанавливает распределение соответствующих ре-
сурсов,  редактирует  ядро,  включая  процедуры  установки среды
link_unix, копирует ядро в корневой каталог,   перезагружает и
тестирует новое ядро.
     Чтобы изменить какой-либо параметр ядра  необходимо  выпол-
нить следующие действия:
     1. Перезагрузите систему  и  выберите  однопользовательский
        режим(режим сопровождения).
     2. Используйте команду custom (ADM) для того, чтобы опреде-
        лить установлен ли пакет конструктора связей (LINK). Ес-
        ли нет, - установите его с помощью команды custom.
     3. После того, как Вы убедитесь, что конструктор связей ус-
        тановлен, введите следующие команды:
             cd /etc/conf/cf.d
             ./configure
     sysadmsh выбор  пользователя:  Система->  Конфигурация->

        Ядро-> Параметры
     4. На экране отобразится меню утилиты configure:
+---------------------------------------------------------------+
|       1.  Дисковые буферы                                     |
|       2.  Символьные буферы                                   |
|       3.  Файлы, индексные дескрипторы  и файловые системы    |
|       4.  Процессы, управление памятью и своппинг             |
|       5.  Часы                                                |
|       6.  Мультиэкраны                                        |
|       7.  Очередь сообщений                                   |
|       8.  Семафоры                                            |
|       9.  Разделенные данные                                  |
|       10. Имя системы                                         |
|       11. Потоки данных                                       |
|       12. Очередь событий и устройства                        |
|       13. Аппаратно-зависимые параметры                       |
|       14. Параметры разделенных удаленных файлов              |
|                                                               |
|    Выберите категорию  параметров,  подлежащих реконфигура-   |
|    ции, набрав ее номер от "1" до "14" или "q" для выхода:    |
+---------------------------------------------------------------+

                                  - 8-5 -

        Выберите категорию  с помощью ввода соответствующего но-
        мера. Тогда на экране отобразятся один за другим ресурсы
        этой категории,  каждый со своим текущим значением. Вве-
        дите новое значение для этого ресурса или  оставьте  его
        текущее значение простым нажатием клавиши . Пос-
        ле того как будут отображены все ресурсы выбранной кате-
        гории,  утилита configure возвращается к меню со списком
        категорий параметров. Выберите другую категорию парамет-
        ров  для изменения или покиньте утилиту нажатием клавиши
        "q".
________________________________________________________________
Примечание
     Следует отметить,  что  программный пакет,  соответствующий
изменяемому параметру,  должен существовать, чтобы действительно
использовать ресурс соответствующий параметру.  Например,  пакет
Stream должен быть установлен для параметров потоков,  чтобы был
эффект.
________________________________________________________________
     5. После того,  как Вы закончите изменять  параметры,  надо
        включить их в новое ядро. Введите следующую команду:
     ./link_unix

     sysadmsh выбор  пользователя:  Система->  Конфигурация->

        Ядро-> Построение
        Эта команда  собирает каждый из модулей ядра в новое яд-
        ро, которое должно быть теперь установлено. Следуйте ин-
        струкциям  раздела  "Тестирование и установка нового яд-
        ра" в главе "Добавление драйверов  устройств  с  помощью
        конструктора связей".

     Использование командной строки configure

     Утилита configure имеет также интерфейс  командной  строки,
используемый для разработчиков программных приложений. Например,
разработчик баз данных решает, что ему необходимо разместить од-
новременно 70 файлов вместо 50, тогда он может использовать про-
цедуру установки среды для того, чтобы выполнить реконфигурацию.
Для того,  чтобы  определить текущее значение некоторого ресурса
конфигурации, используя  интерфейс  командной  строки,   следует
ввести:

                                  - 8-6 -

     Ъ2./configure -y RESOURCE
     где RESOURCE  -  имя  настраиваемого  параметра (набирается
прописными буквами). Для того чтобы изменить значение некоторого
ресурса, используя командную строку, введите:
     Ъ2./configure  RESOURCE=<значение>
     Этот интерфейс  является дополнением к интерактивному; одни
и те же ресурсы могут включаться в конфигурацию с  помощью обоих
интерфейсов.
     Следующий раздел описывает действия необходимые для  рекон-
фигурации ресурсов ядра.

                                  - 8-7 -

________________________________________________________________
     Реконфигурация в случае постоянных сообщений об ошибках

     Бывают ситуации,  когда операционная система выдает сообще-
ния, что превышены системные ограничения. Эти сообщения выдаются
в виде строк на экране консоли.  Некоторые из них являются чисто
информационными. Другие предшествуют аварийному состоянию систе-
мы, в этом случае выводятся дополнительные диагностические сооб-
щения и  система "подвисает",  требуя вмешательства для перезаг-
рузки. Не следует изменять  конфигурацию  ядра,  если  сообщение
получено один раз,  или даже несколько раз,  а только в том слу-
чае, когда одно и тоже сообщение появляется постоянно.
     Если Вы встречаете одно из сообщений перечисленных в табли-
це 8.1, обратите внимание на соответствующие параметры настройки
для получения дополнительной информации. Если возникла необходи-
мость в регулировке ресурса, попробуйте увеличить для начала его
значение на небольшую величину,  если проблема остается, то сле-
дует  увеличить значение ресурса на 100%  или более относительно
его первоначального значения. Если проблема все еще не будет ре-
шена,  то  следует более детально исследовать ситуацию и опреде-
лить,  какая программа или последовательность приводят к ошибке.

                                  - 8-7a -

                   Таблица 8.1
 Сообщения об ошибках и связанные с ними настраиваемые параметры
+-----------------------------------------------+--------------+
|  Сообщения об ошибках ядра                    | Параметры    |
+-----------------------------------------------+--------------+
|iget-inode table overflow                      |   NINODE     |
|(переполнение таблицы iget-inode)              |              |
+-----------------------------------------------+--------------+
|timeout table overflow                         |   NCALL      |
|(переполнение таблицы таймаутов)               |              |
+-----------------------------------------------+--------------+
|file table overflow                            |   NFILE      |
|(переполнение таблицы файлов)                  |              |
+-----------------------------------------------+--------------+
|mfree map overflow n(*)                        |   SPTMAP     |
|(переполнение плана mfree)                     |              |
+-----------------------------------------------+--------------+
|Region table overflow                          |   NREGION    |
|(переполнение таблицы регионов)                |              |
+-----------------------------------------------+--------------+
|configured value of NOFILES n(*) is less than  |   NOFILES    |
|minimum(greater of the maximum)                |              |
|[значение NOFILES в конфигурации меньше        |              |
|минимального(больше максимального)]            |              |
+-----------------------------------------------+--------------+
|stropen: out of streams                        |   NSTREAM    |
|(выход за возможное число открытых потоков)    |              |
+-----------------------------------------------+--------------+
|swapdel - too few free pages                   |   MINASMEM   |
|(удален свопинг - очень мало свободных страниц)|              |
+-----------------------------------------------+--------------+
|stropen: out of stream                         |   NSTREAM    |
|(выход за возможное число открытых потоков)    |              |
+-----------------------------------------------+--------------+
|stropen: out of queues                         |   NQUEUE     |
|(выход за число возможных очередей             |              |
|открытых потоков)                              |              |
+-----------------------------------------------+--------------+
     (*) Значение  n указывает действительное значение в сообще-
нии об ошибке.

                                  - 8-8 -

________________________________________________________________
     Реконфигурация для оптимальной работы системы

     Система сконфигурирована таким образом, чтобы большое коли-
чество  ресурсов ядра было предназначено для решения большинства
общих задач,  таких как чтение и запись на диск, однако выполне-
ние  большинства специальных задач (таких как связь между проме-
жуточными процессами) не должно игнорироваться.  Этот баланс мо-
жет   быть   установлен   в   соответствии   с   индивидуальными
требованиями.

     Когда настраивать и что настраивать

     Некоторые системы поддерживают  одновременную  работу  мно-
жества пользователей.  При добавлении пользователей в такую сис-
тему обычно добавляется дополнительная  память  и  настраиваются
системные параметры таким образом, чтобы ядро работало более эф-
фективно.  В основном это заключается в том,  что распределяется
больше памяти под область данных ядра увеличением размера струк-
туры данных ядра.  Это в основном позволяет системе поддерживать
работу большего числа пользователей.  Однако,  так как структуры
данных увеличились, то уходит больше времени для их просмотра, и
действительное увеличение определенных параметров может на самом
деле замедлить работу системы.  Например,  увеличение  параметра
NPROC позволит системе поддерживать больший список (таблица про-
цессов) активных процессов.  Это может  оказать  неблагоприятное
влияние на планировщик ядра, так как он теперь вынужден просмат-
ривать этот большой список каждый раз,  когда устанавливает, ка-
кой процесс должен идти следующим. Кроме того, так как увеличена
область данных ядра за счет увеличения размера таблицы, остается
меньше  памяти  для пользовательских процессов,  что может также
снизить общую производительность.

     Требования в исключительных ситуациях

     Часто использование  Вашей системы ставит Вас перед необхо-
димостью настраивать определенные параметры в отдельных случаях.
Типичным случаем  является  требование  создавать  очень большие
файлы. Это может быть совершено посредством создания  привелеги-
рованного пользователя  или  модификации "ulimit" для отдельного
процесса, который Вы выполняете как суперпользователь. Альтерна-
тивным решением  данного вопроса может быть изменение системного
значения ULIMIT для всех пользователей. Параметр ULIMIT и другие
часто встречающиеся  ограничения  собраны в таблице 8.2.  Прежде
чем сделать конкретные шаги по перестройке конфигурации, следует
обратиться к разделу "Описание настраиваемых параметров" для по-
лучения более подробной информации.

                                  - 8-9 -

                   Таблица 8.2
           Настройка для особых случаев
+------------------------------------------+-------------------+
|    Ожидаемое улучшение                   |   Параметры       |
+------------------------------------------+-------------------+
|Улучшение работы  системы*  при установке |  NBUF,NHBUF       |
|дополнительной памяти                     |                   |
+------------------------------------------+-------------------+
|Другие параметры  связанные  с  производи-|  NAUTOUP,MAXSLICE,|
|тельностью системы                        |  BDFLUSHR,        |
|                                          |  AGEINTERVAL      |
|                                          |  (см. также стра- |
|                                          |   ничные парамет- |
|                                          |   ры)             |
+------------------------------------------+-------------------+
|Расширение системных  ограничений в случае|  NCALL,NINODE,    |
|установки дополнительной памяти (обеспече-|  NSINODE,NFILE,   |
|ние большего числа пользователей; уменьше-|  NPROC,NREGIONS,  |
|ние возможности системных ошибок  в случае|  NCLIST (см.так-  |
|сильной загрузки и др.)                   |  же сообщения,    |
|                                          |  средства синхро- |
|                                          | низации и парамет-|
|                                          | ры разделенной па-|
|                                          | мяти)             |
+------------------------------------------+-------------------+
|Пользователю необходимо  создавать большие|  ULIMIT           |
|файлы                                     |                   |
+------------------------------------------+-------------------+
|Каждому пользователю  необходимо открывать|  NOFILES          |
|больше файлов                             |                   |
+------------------------------------------+-------------------+
|Каждому пользователю  необходимо запускать|  MAXUP            |
|большее число процессов                   |                   |
+------------------------------------------+-------------------+
|Другие системные ограничения,  которые мо-|  SHLBMAX,FLCKREC, |
|гут встретиться                           |  SPTMAP,NUMXT,    |
|                                          |  NUMSXT,PRFMAX,   |
|                                          |  (см. также       |
|                                          |  STREAMS и пара-  |
|                                          |  метры  RFS)      |
+------------------------------------------+-------------------+
|Разное                                    |  PUTBUFSIZE,      |
|                                          |  DO387CR3         |
+------------------------------------------+-------------------+

                                  - 8-9a -

     * Учтите,  что  увеличение  размера  кэш-буфера увеличивает
возможность того, что часто используемые данные будут вызываться
из памяти, а не считываться с диска. В зависимости от конкретно-
го использования системы,  увеличение случаев повторного исполь-
зования  блоков данных может не вести к общему увеличению произ-
водительности системы.  Для некоторых же сценариев использования
системы  это  может  дать значительное улучшение работы.  Смотри
"Установление размеров кэш-буфера".

     Улучшение использования диска

     Ввод/вывод с диска может стать узким местом в работе систе-
мы. Существует  три  ступени в настройке дисковой подсистемы для
ее лучшего использования.
     * Выбор надлежащего число буферов.
     * Организация файловой системы с минимизацией работы диска.

                                  - 8-10 -

     Установка размеров кэш-буфера

     Параметр NBUF определяет количество буферов по 1К в систем-
ном кэш-буфере.  В эти  буфера помещаются недавно использованные
данные на тот случай,  если эти данные снова  понадобятся.  Если
запрос на  чтение или запись может быть удовлетворен использова-
нием кэш-буфера, а не диска, производительность системы увеличи-
вается за  счет  того,  что операции с памятью проводятся значи-
тельно быстрее,  чем дисковые операции.  NHBUF  указывает  число
хэшированных областей  памяти в кэш-буфере.  Чем больше буферов,
тем больше случаев,  когда данные могут быть найдены в буфере, а
не считывались с диска,  что занимает много времени. Соотношения
удачных попыток чтения и записи в кэш,  отображаемые  с  помощью
sar-b показывают  насколько  эффективно работают буфера системы.
Значение параметра NHBUF должно быть порядка 2; кроме того, зна-
чение NBUF деленное на значение NHBUF должно приблизительно рав-
няться 4.
     Значения NBUF  и  NHBUF в файле mtune являются хорошей отп-
равной точкой для кэш-буфера. Эти значения тесно связаны с опти-
мизацией наибольшей рабочей нагрузки системы.  Увеличивая NBUF и
NHBUF до некоторой точки, можно улучшить производительность сис-
темы.  Система с 2 мегабайтами памяти может, как правило, отдать
около 250 К памяти ,  тогда как система с 4 мегабайтами -  около
400  К памяти под буфера.  Однако,  если размещено слишком много
буферов,  то не хватает памяти для эффективной работы  пользова-
тельских  процессов и увеличивается свопинг,  выполняемый систе-
мой.  Свопинг  обычно стоит больше для  эффективности  системы,
чем  выделение  большего  буферного  пространства.  Если команда
sar-b, показывает,  что в Вашей системе swpot/s больше чем  1.0,
то добавление буферов нерационально.  Кроме того, при увеличении
числа буферов, обслуживаемых ядром, увеличивается время на выпол-
нение программ ядра,  отвечающих за распределение и освобождение
буферов.
     Если Вы решили изменить число буферов,  то после того,  как
система проработала день или около  того,  проверьте  производи-
тельность системы,  особенно чрезмерную активность операций сво-
пинга. Если такая активность имеет место, то уменьшите число бу-
феров.

                                  - 8-10a -

     Что делать при добавлении памяти

     В прошлом,  администраторы  системы UNIX с помощью программ
увеличивали все параметры настройки при добавлении памяти на ми-
ни- и суперминикомпьютеры. Это обычно давало возможность системе
поддерживать большее число пользователей без столкновения с  ог-
раничениями системы  во время интенсивной нагрузки системы.  Для
однопользовательской среды персонального компьютера,  однако, не
может появиться  потребность в увеличении настраиваемых парамет-
ров ядра.  И по причинам,  указанным выше,  сохранение начальных
ограничений системы  может обеспечить оптимальную производитель-
ность, даже когда устанавливается дополнительная память.

                                  - 8-11 -

     Как показано  в таблице 8.1,  значения параметров, принятые
по умолчанию,  определены в файле mtune базовой системы примени-
тельно к системе с 2 мегабайтами памяти,  для которой рекоменду-
ется минимальные значения размеров памяти. Если Ваша система ис-
пользует конфигурацию с большим числом пользователей,  5 и более
пользователей, Вы можете добавить дополнительную память и увели-
чить некоторые параметры так, чтобы системные ограничения не бы-
ли превышены, и пропорционально увеличить размер кэш-буфера.Зна-
чения некоторых  параметров  даны  для  3-х-  и  4-х-мегабайтной
конфигурации памяти.  Вы можете попробовать установить  основной
режим работы системы перед тем, как производить изменения, затем
модифицировать системные параметры,  а потом снова проверить ра-
боту системы. Это наилучший подход к определению того, улучшает-
ся или ухудшается работа системы в результате изменения парамет-
ров.
                          Таблица 8.3
       Зависимость ключевых параметров от размера памяти
+----------------+--------------------------------------------+
|    Параметр    |               Размер памяти                |
|                +------------+----------------+--------------+
|                |    2 M     |      3 M       |      4 M     |
+----------------+------------+----------------+--------------+
|NBUF            |    250     |      300       |      400     |
|NHBUF           |     64     |       64       |      128     |
|NCALL           |     30     |       40       |       50     |
|NINODE          |    150     |      200       |      300     |
|NS5INODE        |    150     |      200       |      300     |
|NFILE           |    150     |      200       |      300     |
|NREGION         |    210     |      250       |      300     |
|NCLIST          |    120     |      140       |      170     |
|NPROC           |    100     |      120       |      150     |
+----------------+------------+----------------+--------------+

     Организация файловой системы

     В этом разделе описываются  действия,  предпринимаемые  для
уменьшения числа обращений к файлам.  При использовании файловой
системы блоки отдельных файлов имеют  тенденцию распространяться
по всему диску,  и следовательно ввод/вывод становится менее эф-
фективным. Из-за этого распространения образуется плохой порядок
блоков и плохая организация каталога.

                                  - 8-12 -

     Организация списка свободных областей в файловой структуре

     Свободные блоки размещаются файловой структурой таким обра-
зом,  чтобы обеспечить эффективное проведение операций чтения  и
записи файлов.  Список свободных областей создается тогда, когда
создается файловая система с помощью команды  mkfs(ADM). Однако,
когда Вы начинаете изменять файлы(т.е. менять их размеры или пе-
ремещать их), эффективность работы уменьшается. Когда файлы соз-
даются первый раз,  они состоят из блоков, взятых из списка сво-
бодных областей. Некоторые из блоков распределяются файлам не по
порядку.  Как Вы можете видеть,  список свободных областей также
распространяется по всему диску, как и блоки распределенные фай-
лам и освобожденные блоки.

     Организация каталога

     Организация каталогов  также влияют на производительность
операций ввода/вывода.  Проблема возникает во время  перемещения
пользователем своих файлов.  Когда файл удаляется из каталога,
тогда индексный дескриптор этого файла аннулируется. Из-за этого
образуется неиспользуемое место для этого дескриптора; через неко-
торое время число таких пустых  мест становится слишком большим.
Если Вы  имеете  каталог   для 100 файлов и удаляете первые 99
файлов, то этот каталог содержит 99 пустых неиспользуемых мест, по
16 байтов каждое,  которые предшествуют активному индексному дес-
криптору файла. Разумеется, пока каталог не реорганизован на диске,
он будет сохранять тот максимальный размер, который когда-то получил.

     Восстановление хорошей организации файловой системы

     Не существует  автоматических  путей  решения этих проблем;
однако,  Вы можете вручную реорганизовать файловую систему.  Су-
ществует несколько путей реорганизации.  Учтите, что в случаях 1
и 3 ,  приведенных ниже, файловая система(ы) должна(ы) быть раз-
монтирована(ы).
     1. Для  реорганизации списка свободных участков,  активизи-
        руйте команду fsck(ADM), используя опцию -s
________________________________________________________________
Примечание
     Реорганизация списка  свободных  участков  не  поддерживает
файловые системы AFS.
________________________________________________________________
                                 - 8-13 -

     2. Для реорганизации отдельных структур каталога, исполь-
        зуйте команду cpio(C) -pdm для копирования их во времен-
        ное  новое  место,  удалите  эти первичные структуры,  а
        затем используйте команду cpio -pdm для  копирования  их
        обратно на первоначальное место.
        Используйте следующую командную строку:

        Ъ2find Ъ1sourcedirЪ2 -print | cpio -pdm destdir

        где sourcedir - имя исходного каталога;  destdir - имя
        каталога, в который Вы перемещаете конкретную структу-
        ру. После получения подтверждения того, что вся структу-
        ра полностью скопирована, удалите полностью исходный ка-
        талог.   Наконец,   произведите   обмен  указанных  в
        командной строке,  описанной выше,  имени каталога,  в
        который было проведено перемещение исходного   каталога,
        на имя исходного каталога,  и  выполните  эту  команду
        снова.  После  удаления временного каталога,  структура
        Вашего исходного каталога будет реорганизована.

     3. Для реорганизации файловой системы полностью использует-
        ся  выбор  sysadmsh  "Backups(Создание резервных копий)"
        для выполнения незапланированного дублирования с нулевым
        уровнем  файловой  системы.  (Подробное  описание дано в
        разделе "Создание резервных копий файловых систем" этого
        руководства).  Когда  операция  создания резервной копии
        будет завершена,  следуйте инструкциям по восстановлению
        всей файловой системы.

     4. Если Вы имеете более одного диска, установите равновесие
        распределения файловых систем.

                                  - 8-14 -
________________________________________________________________

     Определение эффективного способа использования системы

     После того, как произведена настройка ядра и функций систе-
мы, и организована файловая система,  следующим шагом в увеличе-
нии производительности  системы будет выполнение служебных функ-
ций и  проверка  того,  уменьшилось  ли   время   первоначальной
загрузки. Ответственный  администратор  системы должен проверять
следующее :
     * не смешиваются менее важные работы с более важными
     * устранены ли ненужные действия
     * спланированы ли определенные работы  для  времени,  когда
       система не занята
     * эффективны ли определенные пользователем  элементы, такие
       как Ъ1profileЪ3 и $PATH

     Команда ps

     Команда ps(C) используется для получения информации об  ак-
тивных процессах.  Команда дает "моментальную" картину того, что
сейчас происходит, которая бывает очень полезна, когда Вы пытае-
тесь понять,  какие процессы происходят в системе.  Она вероятно
изменится к тому времени,  когда появится вывод команды; однако,
Вас  могут заинтересовать значения TIME (минуты и секунды работы
процессора для этих процессов) и STIME (время  начала процесса).
     Когда Вы определите "ворующий" процесс (тот, который захва-
тывает все больше ресурсов системы за период времени,  в течение
которого Вы  наблюдаете за ним),  Вы должны определить,  кто его
запускает. Возможно,  что такой процесс должен  быть  немедленно
остановлен командой kill(C). Если это действительно выходящий из
под контроля процесс, то он будет продолжать поглощать системные
ресурсы, пока  система  не  зависнет.  Для такого "неубиваемого"
процесса единственным средством прекратить его является перезаг-
рузка.
     Когда Вы заметите процесс, который выполняется слишком дол-
го, Вы  можете использовать команду cron(C) для того,  чтобы вы-
полнить задание в течение превышающего времени.

                                  - 8-15 -

     Переменные пользователя $PATH

     $PATH просматривается при каждом выполнении  команды. Перед
отображением на  экран сообщения "not found(не найдено)" система
должна просмотреть каждый каталог $PATH. Этот просмотр требу-
ет времени как процессора,  так и диска. Если диск или процессор
являются узким местом в работе системы, то изменения связанные с
ними, могут улучшить производительность системы.
     Вы должны проверить среди пользовательских переменных:

     * Эффективность пути

       $PATH читается слева направо, так чтобы определить место-
       нахождение  команды в первом из перечисленных путей (/bin
       и /usr/bin).  Сделать так,  чтобы некоторые каталоги не
       повторялись больше одного раза для некоторой команды.

     * Удобство и человеческий фактор

       Пользователи могут  отдать предпочтение просмотру текущего
       каталога перед тем как просматривать их из  перечислен-
       ных путей (:/bin).

     * Длину пути

       В основном, переменная $PATH должна иметь как можно мень-
       ше элементов.

     * Ъ1Просмотр больших Ъ3каталогов

       По возможности большие каталоги должны  быть  обойдены.
       Поместите большие каталоги в конец переменной $PATH.

                                  - 8-16 -
________________________________________________________________

     Использование средств  измерения производительности для ди-
агностирования эффективности системы

     Операционная система содержит  ряд  средств  для  измерения
производительности системы.  Администратор системы может исполь-
зовать эти средства для локализации  области  проблемы.  В  этом
разделе описаны следующие средства измерения продуктивности:

     sar   работает с внутренними системными регистрами совокуп-
           ной деятельности системы и подготавливает  отчеты  по
           различным аспектам работы системы.
     timex подготавливает отчеты  по работе системы и по процес-
           сам во время выполнения команды или программы.

     Внутренняя активность измеряется числом содержащихся в ядре
счетчиков. Каждый раз при выполнении операции наращивается соот-
ветствующий счетчик.  Утилита sar(ADM) используется для диагнос-
тирования системных проблем. Двумя наиболее критическими для те-
кущего   контроля  областями  являются  использование  памяти  и
центрального процессора.  Это средство позволяет  Вам  проверить
значение этих счетчиков.  В следующих разделах приведены примеры
использования этих средств.  В следующих разделах также обсужда-
ются функции,  которыми можно управлять с помощью утилиты sar. В
этом разделе описываются опции sar c анализом выходной  информа-
ции  по измерениям,  полученных с помощью этих опций.  Sar можно
использовать для того, чтобы собирать данные о работе системы, а
также для выбора того,  что было накоплено в информационных фай-
лах,  созданных sa1 и sa2 .  sa1 и sa2 инициируются  элементами,
помещенными в файл crontab sys.
     Основной синтаксис команды sar имеет следующий вид:

     Ъ2 sar <опция> t

     где
     <опция>   одна из опций, описанных в следующих разделах.

         t        выбранный интервал в секундах, может принимать
                  значения 5 и более.

     Вы должны  обеспечить  работу системы в течении выбранного
интервала времени,  если Вы хотите видеть данные в реальном вре-
мени; в противном случае будут отображены ранее собранные данные
из каталога /usr/adm/sa.  Для получения большей информации  по
более полному  об'ему  собираемых данных смотрите руководство по
команде sar(ADM).

                                  - 8-17 -

     Эти примеры даны для системы с 2 мегабайтами основной памя-
ти и жестким диском емкостью 30  мегабайт.  Выходная  информация
команды имеет  типичные  значения  для пользовательской загрузки
системы. Значения,  которые Вы получаете,  могут  отличаться  от
значений в примерах, в зависимости от Вашего программного прило-
жения или контрольной задачи.  Во время настройки системы  реко-
мендуется использовать  контрольную  задачу  или ставить систему
под стандартную нагрузку,  чтобы настраивать систему  непосредс-
твенно на Ваше конкретное применение.

     Использование памяти: буферы и страницы

     Определяя число  системных  дисковых  буферов (или явно ис-
пользуя утилиту configure,  или неявно,  используя  значения  по
умолчанию),  эффективно  разделите  доступную память между двумя
пулами:  дисковым буферным пулом и страничным пулом.  Страничный
пул содержит программы,  которые должны выполняться, и кэш-копии
недавно использованных страниц  программ.  Если  страничный  пул
слишком мал для загрузки, возложенной на систему, то система бу-
дет постоянно обменивать страницы туда и обратно,  чтобы  только
поддержать текущие процессы.
     Если страничный пул только слегка занижен в размере, эффект
будет виден  не в увеличенном обмене,  а в уменьшении работоспо-
собности кэша при повторном прогоне одних и тех же программ. Это
означает, что страниц достаточно для эффективной обработки теку-
щих программ, но их не хватает для сохранения часто используемых
страниц в  памяти для того,  чтобы имелся потенциальный доступ к
ним.
     При использовании команды sar Вы можете определить, сколько
программ должны участвовать в обмене в течении данного интервала
времени. Если очевиден чрезмерный свопинг, Вы можете перераспре-
делить память так,  чтобы увеличить страничный пул.  (См.  "Сво-
пинг: sar -w" для информации о текущем контроле свопинга).

     Использование буферов: sar -b

     Опция -b позволяет получить отчет о работе буферов:

     bread/s    Среднее число  физических блоков,  считываемых в
                системные буфера с диска (или другого  блок-ори-
                ентированного устройства) в секунду.
     lread/s    Среднее число логических блоков,  считываемых из
                системных буферов в секунду.
     %rcache    Доля логического чтения из системного кэш-буфера
                (100% минус отношение breads/lreads).

                                  - 8-18 -

     bwrit/s    Среднее число физических блоков, записываемых из
                системных буферов на диск (или другое  блок-ори-
                ентированное устройство) в секунду.
     lwrit/s    Среднее число логических блоков, записываемых в
                системные буфера в секунду.
     %wcache    Доля  операций  логической записи  в  кэш-буфер
                (100% минус отношение bwrit/s к lwrit/s).
     pread/s    Среднее число запросов физического чтения в  се-
                кунду.
     pwrit/s    Среднее число запросов физической записи в   се-
                кунду.
     Наиболее интересным  значением является удачное соотношение
%rcache и %wcache,  которое показывает эффективность работы сис-
темных буферов.  Если  %rcache  опускается ниже 90,  или %wcache
опускается ниже 65,  то возможно улучшить работоспособность сис-
темы за счет увеличения числа буферов.

     Пример выходной информации sar -b:
+---------------------------------------------------------------
|   unix unix 3.2 2 386i        02/18/89
|16:32:57 bread/s lread/s %rcache bwrit/s lwrit/s %wcache pread/s pwrit/s
|16:33:07    3       39     93     1       16      91       0       0
|16:33:17    4       40     90     2       16      87       0       0
|16:33:27    4       41     90     3        7      64       0       0
| Average    4       40     91     2       13      84       0       0
|(среднее)

     Этот пример показывает что буфера не являются узким местом,
так как все данные находятся в приемлемых пределах.

     Производительность процесса: sar -q

     Опция sar  -q  позволяет  определить среднее значение длины
очереди в то время как она существует и процент времени, в тече-
нии которого она существует.
     runq-sz   Прохождение очереди  процессов  в памяти;  обычно
               это значение должно быть меньше 2.  Если это зна-
               чение постоянно больше, то это означает, что про-
               цессор работает на пределе.
     %runocc   Процент времени,  занимаемого  очередью процессов;
               чем больше это значение, тем лучше.
     swpq-sz   Обмен очереди  процессов  на свопинг;  чем меньше
               это значение, тем лучше.
     %swpocc   Процент времени занятости очереди на свопинг; чем
               меньше это значение, тем лучше.

                                 - 8-19 -

     Пример выходной информации sar -q:
+---------------------------------------------------------------
|   unix unix 3.2 2 386i        02/18/89
| 11:00:56  runq-sz  %runocc  swpq-sz  %swpocc
| 11:01:07    1.7       98      1.5      36
| 11:01:17    1.0       63      1.0      31
| 11:01:27    1.0       58      1.0      49
| Average     1.3       74      1.2      39
|(среднее)

     В этом примере использование процессора  (%runocc) меняется
в пределах от 58%  до 98%, во время того, как очередь на свопинг
не является пустой (%swpocc) и колеблется от 31% до 49%. Это оз-
начает,  что память не является узким местом в системе,  однако,
увеличение памяти поможет уменьшить активность страничного обме-
на.
     Если %runocc принимает значение больше 90% и runq-sz больше
2, то процессор сильно загружен, и время ответа системы  увеличи-
вается. В этом случае может потребоваться установка дополнитель-
ного процессора для получения удовлетворительной реакции  систе-
мы. Если %swpocc больше 20%, то добавление памяти или нескольких
буферов поможет уменьшить активность страничного обмена.

     Использование процессора: sar -u

     Использование процессора проверяется с помощью команды sar-
u (значение задано по умолчанию). В каждый данный момент процес-
сор может быть либо занят работой,  либо простаивать.  В рабочем
состоянии  процессор  может  находиться либо в пользовательском,
либо в системном режиме.  В нерабочем состоянии процессор  может
либо ожидать завершения ввода/вывода, либо просто не иметь рабо-
ты для выполнения.  Опция -u команды sar показывает процент вре-
мени,  в течение которого процессор находится в системном режиме
(%sys),  пользовательском режиме (%user),  в состоянии  ожидания
завершения ввода/вывода (%wio) и в состоянии простоя(%idle).
     При обычном использовании разделения времени  %sys  и  %usr
имеют примерно равные значения.  Для специальных приложений каж-
дый из этих параметров может быть больше других,  и это не гово-
рит о какой-либо ненормальности в работе системы.  Большая вели-
чина %wio обычно означает,  что диск  является  узким  местом  в
работе. Большое значение %idle, наряду с ухудшением реакции сис-
темы, может означать стесненные  рамки  памяти;  время,  которое
тратится на ожидание освобождения памяти, отражено в %idle.
     Колонка "idle" (процент простоя) может также обеспечить не-
которое понимание сущности работы системы. Значения, находящиеся
в этой колонке, обычно колеблются между 40 и 100 процентами, да-

                                  - 8-20 -

же  при большом числе активных пользователей.  Если это значение
постоянно опускается ниже 30%,  то основное соревнование за  ре-
сурсы не подразумевает соревнование за память вообще;  критичес-
ким ресурсом является мощность  процессора.  (Выполните  команду
ps(C) для того,  чтобы определить,  что чрезмерное использование
процессора не вызвано процессом-захватчиком, который захватывает
каждый резервный цикл процессора.)
     Если работает большое количество  пользователей,  то  может
помочь переход на серийные логические платы, если Вы используете
более общие платы ввода/вывода.  Логические платы берут нагрузку
процессора больше на себя, чем добавляют ему работу.
     Кроме того, Вы должны просмотреть /usr/spool/crontab, чтобы
определить  не  стоят ли задания в очереди во время пиковой наг-
рузки,  когда они могли бы выполняться при свободном процессоре.
Используйте команду ps для определения того, какой процесс силь-
но загружает систему.  Поощряйте пользователя запускать большие,
не-интерактивные  команды  (такие  как  nroff(CT) или troff(CT))
только во время небольшой загрузки системы.  Возможно также  за-
пускать  такие команды с меньшим приоритетом посредством исполь-
зования команд nice(C) или batch(C). Пример использования коман-
ды sar-u:
+---------------------------------------------------------------
|   unix unix 3.2 2 386i        02/18/89
| 09:20:08    %usr   %sys   %wio  %idle
| 09:40:12     6      7       2     86
| 10:00:03     7      9       3     80
| 10:20:07    14     16      10     61
| Average      9     11       5     76
|(среднее)

     Системные таблицы: sar - v

     Опция -v сообщает о статусе процесса,  индексного дескрип-
тора файла, файла, записи разделенной памяти и файловых таблиц
разделенной памяти. Из этого сообщения Вы можете узнать, нужда-
ются ли в модификации системные таблицы.
     proc-sz  Число элементов таблицы процессов, которые в насто-
          ящее время используются или распределены в ядро  систе-
          мы.
     inod-sz  Число элементов таблицы индексных дескрипторов фай-
              лов, которые в настоящее время используются или рас-
              пределены в ядро системы.
     file-sz  Число элементов таблицы файлов, которые в настоящее
          время используются или распределены в ядро системы.
     ov       Число случаев переполнения.  (Одна колонка для каж-
          дого из выше перечисленных понятий).

                                  - 8-21 -

     lock-sz  Число элементов таблицы разделенной памяти, которая
          в  настоящее время используются или распределено в ядре
          системы.
     fhdr-sz  Больше не применяется.
     Значения даны    как    уровень/размер    таблицы.   Пример
использования команды sar -v:
+---------------------------------------------------------------
|   unix unix 3.2 2 386i        02/18/89
| 17:36:05  proc-sz ov  inod-sz ov  file-sz ov  lock-sz  fhdr-sz
| 17:36:35   17/40   0   39/80   0   29/80   0    0/50     0/0
| 17:37:05   19/40   0   46/80   0   35/80   0    0/50     0/0
| 17:37:35   18/40   0   43/80   0   34/80   0    0/50     0/0

     Этот пример показывает,  что все таблицы достаточно велики,
чтобы не  иметь переполнений.  Размеры можно уменьшить для того,
чтобы оставить больше памяти,  если эти значения являются макси-
мальными.

     Свопинг: sar -w

     Опция -w  предоставляет отчет о свопингах и действии перек-
лючения.  Далее следует некоторые целевые значения параметров  и
пояснения.
     swpin/s  Число перемещений в память за секунду.
     bswin/s  Число 512-байтовых блоковых единиц (блоков),  пере-
          мещаемых  во время свопинга в память (включая начальную
          загрузку некоторых программ) в секунду.
     swpot/s  Число перемещений  из  памяти в область свопинга на
          диске в секунду.  Если это число больше 1, то надо уве-
          личить память или уменьшить буфера.
     bswot/s  Число блоков,  перемещаемых в секунду при  свопинге
          из памяти.
     pswch/s  Переключения процесса в секунду. Это значение долж-
          но быть от 30 до 50 при работе 4-6 пользователей систе-
          мы.

                                  - 8-22 -

     Пример вывода команды sar -w:
+---------------------------------------------------------------
|   unix unix 3.2 2 386i        02/18/89
| 09:20:08    swpin/s   bswin/s   swpot/s   bswot/s   pswch/s
| 09:40:12     0.0       0.0       0.0       0.0        37
| 10:00:03     0.0       0.0       0.0       0.0        39
| 10:20:07     0.0       0.0       0.0       0.0        39
| Average      0.0       0.0       0.0       0.0        38
|(среднее)

     Этот пример показывает,  что памяти достаточно для  текущей
работы пользователей, так как свопинга нет.

     Проверка работы системы по командам: timex

     Команда timex хронометрирует команду и сообщает о действиях
системы,  которые отмечены во время выполнения команды.  Если  в
это время не выполнялись другие программы,  то timex поможет вы-
яснить,  какие ресурсы использует данная команда во время своего
выполнения.  Потребление системных ресурсов для каждой программы
приложения может быть накоплено и использовано для перенастройки
слишком  перегруженных  ресурсов.  timex может быть использована
следующим путем:
     $ timex -s  <программа приложения>
     Ваша программа приложения будет работать  нормально.  Когда
Вы завершите и выйдете из нее, то результат работы timex появит-
ся на Вашем экране. Вы можете получить ясную картину того, какие
системные ресурсы использовала Ваша программа.

                                  - 8-23 -
________________________________________________________________
     Описание настраиваемых системных параметров

     Следующий раздел посвящен анализу  настраиваемых  системных
параметров, определенных в файле /etc/conf/cf.d/mtune. Категории
параметров следующие:
          Диски и буферы
          Символьные буферы
          Файлы, индексные дескрипторы файлов и файловые системы
          Процессы, управление памятью и свопинг
          Часы
          Мультиэкраны
          Очередь сообщений
          Сигнальные устройства
          Разделенные данные
          Имя системы
          Потоки данных
          Очереди событий и устройства
          Аппаратно-зависимые параметры
          Разделенные параметры удаленных файлов

     Диски и буферы

     NDISK   Число дисковых драйверов, присоединенных к системе.
             Этот параметр устанавливается во время загрузки.
     NBUF    Определяет, сколько  распределять системных буферов
             размером 1К. Кэш данных является матрицей памяти  и
             содержит информацию  о  файлах на диске.  Кэш имеет
             тенденцию к увеличению с увеличением числа буферов.
             Кэш уменьшается  с увеличением числа доступных дис-
             ков и поэтому может улучшить  общую  продуктивность
             системы. Эти  значения  обычно находятся в пределах
             от 100 до 600. Каждый буфер содержит 1076 байт. Ко-
             личество хэш-буферов по 1К (NHBUF) должно быть уве-
             личено наряду с количеством системных буферов (NBUF)
             для достижения оптимальной продуктивности.
     NPBUF   Определяет, число буферов физического ввода/вывода,
             которые  надо  распределить.  Требуется  один буфер
             ввода/вывода для каждой операции физического чтения
             или записи.  Каждый элемент содержит 52 байта. Зна-
             чение по умолчанию - 20.

                                  - 8-24 -

     NHBUF   Определяет сколько "корзин для мусора" распределить
             для буферов в 1К.  Это используется для преимущест-
             венного поиска буфера по заданному номеру  устройс-
             тва или номеру блока перед прямолинейным просмотром
             всего списка буферов. Это значение должно быть сте-
             пенью 2.  Каждый элемент содержит 12 байтов. Значе-
             ние NHBUF должно быть выбрано таким  образом, чтобы
             NBUF, разделенное на NHBUF, равнялось приблизитель-
             но 4.
     MAXBUF  Максимально возможное число кэш-буферов.  Это число
             буферных описательных заголовков в ядре.  Число бу-
             феров меньшее этого может быть автоматически внесе-
             но в конфигурацию ядра во время загрузки, в зависи-
             мости  от  того,  сколько  имеется  в  распоряжении
             ферритовой памяти.  Если число NBUF не нулевое,  то
             именно NBUF буферов должно стоять в конфигурации, и
             не имеет смысла MAXBUF делать больше, чем NBUF. Ес-
             ли NBUF равно нулю, то ядро будет конфигурировано с
             ненулевым числом MAXBUF автоматически.
     NREGION Определяет сколько  элементов таблицы регионов надо
             распределить.  Каждый элемент NREGION  содержит  36
             байтов.  Большинство  процессов  имеет три региона:
             текстовый, регион данных и стек. Дополнительные об-
             ласти нужны для каждого из присоединенных разделен-
             ного  сегмента  памяти  и  разделенной   библиотеки
             (текстовой или с данными). Однако, элементы таблицы
             регионов для текста программы с "разделенным  текс-
             том" будут разделяться всеми процессами, обращающи-
             мися к этой программе.  Каждый разделенный  сегмент
             памяти принадлежит одному или более процессам,  ко-
             торые используют другие элементы  таблицы регионов.
             Хорошее начальное  значение  для  этого параметра -
             это примерно в 3,5  раза  превышающее  NPROC.  Если
             система выходит  за  рамки таблицы регионов,  то на
             системной отображается следующее сообщение:
                Region table overflow
     NAUTOUP Определяет время  существования  буфера  в секундах
             для  автоматического  изменения  файловой  системы.
             Системный  буфер  записывается  на  жесткий диск во
             время размещения резидентной программы в  памяти  в
             течение  интервала  времени,  заданного  параметром
             NAUTOUP.  При этом указание меньшего предела увели-
             чивает надежность системы, так как буфера записыва-
             ются на диск более часто, а производительность сис-
             темы  при  этом уменьшается.  При указании большего
             предела увеличивается производительность системы за
             счет надежности. Этот параметр управляет поведением
             процесса bdflush.

                                  - 8-25 -

     BDFLUSHR Определяет время в секундах проверки необходимости
             записи  системных буферов файлов на диск.  Значение
             по умолчанию - 1 секунда.  Этот параметр  управляет
             поведением процесса bdflush.
     PUTBUFSZ Определяет размер циклического буфера, putbuf, ко-
             торый используется для размещения  копии  последних
             символов PUTBUFSZ, выданных на консоль операционной
             системой.  Содержание putbuf можно посмотреть,  ис-
             пользуя команду crash.
     PIOMAP  Задает размер массива элементов карты ядра, исполь-
             зуемого программой разбивки программируемого ввода/
             вывода  (PIO)  ядра.  Эта  программа  позволяет для
             драйверов  устройств  осуществлять  программируемый
             ввод/вывод больших блоков данных на уровне прерыва-
             ний, разбивая эти блоки на маленькие части. Пользо-
             ватели не должны менять этот параметр.
     PIOMAXSZ Максимальное число страниц,  используемое одновре-
             менно программируемым  вводом/выводом. Пользователи
             не должны менять этот параметр.
     DO387CR3 Управляет установкой  битов высшего разряда в тре-
             тьем управляющем  регистре  (CR3)   при   установке
             математического сопроцессора 80387.
     NUMTRW  Число структур  данных  ввода/вывода  транспортного
             интерфейса библиотек(TLI), которые должны распреде-
             ляться в области данных ядра. Пользователи не долж-
             ны менять этот параметр.

     Символьные буферы

     Следующие параметры  управляют  размерами структур данных и
другими ограничениями драйверов устройств базовой системы.
     PRFMAX     Максимальное количество символов текста, которые
                система построения профиля ядра (/dev/prf) будет
                способна обработать соответствующим образом.
     NCLIST     Определяет, сколько может быть распределено сим-
                вольных буферов.  Каждый буфер  содержит  до  64
                байтов.  Эти  буфера динамически связываются для
                образования очередей ввода и  вывода  для  линий
                терминалов  и  других низкоскоростных устройств.
                Среднее значение числа буферов,  необходимых для
                каждого терминала, находится в диапазоне от 5 до
                10.  Каждый элемент (область буфера плюс заголо-
                вок) содержит 72 байта. При переполнении символы
                ввода/вывода,  относящиеся к терминалам, теряют-
                ся, хотя отражение продолжается.

                                  - 8-26 -

     NEMAP      Определяет максимальное  число операций управле-
                ния памятью при вводе/выводе.
     NUMXT      Задает число уровней подчиненных устройств,  ко-
                торые могут входить в конфигурацию для обеспече-
                ния дисплейных устройств  с  поразрядной  картой
                отображения информации,  таких как BLIT или AT&T
                5620.
     NUMSXT     Задает число уровней командного процессора,  ко-
                торыми обеспечивается  вхождение  в конфигурацию
                подчиненных устройств.  Значение по умолчанию  -
                16.
     NKDVTTY    Задает число виртуальных терминалов (ttys), под-
                держиваемых драйвером клавиатуры консоли.  Поль-
                зователи не должны изменять этот параметр.
     NCPYRIGHT  Определяет размер структуры данных ядра, исполь-
                зуемой для  вывода  сообщений  об  инициализации
                консоли. Пользователи  не должны менять этот па-
                раметр.

     Файлы, индексные дескрипторы файлов и файловые системы

     NINODE      Определяет  количество  элементов  таблицы ин-
                 дексных дескрипторов файлов для  распределения.
                 Каждый элемент  таблицы  представляет индексный
                 дескриптор файла,  который  является активным
                 файлом.  Например,  активным файлом может  быть
                 текущий каталог, открытый  файл или точка ус-
                 тановки. Структура управления файлами модифици-
                 руется при изменении этой переменной. Число ис-
                 пользуемых элементов зависит от  числа открытых
                 файлов. Обычно  это число находится в диапазоне
                 от 100 до 400. Значение NINODE прямо связано со
                 значением NFILE. (NINODE всегда больше или рав-
                 но NFILE). NINODE всегда должно быть меньше или
                 равно NS5INODE.   Превышение   NINODE  значения
                 NS5INODE ведет к  неработоспособности  системы.
                 При переполнении таблицы индексных дескрипторов
                 на системной консоли появляется  следующее  пре-
                 дупреждающее сообщение:
ваться всегда или не контролироваться вообще.   Это  имеет  силу

                                  - 8-26a -

     NFILE       Определяет количество элементов  таблицы файлов
                 для распределения.  Каждый элемент представляет
                 открытый файл.  Этих элементов обычно бывает от
                 100 до 400.  Каждый элемент содержит 12 байтов.
                 Значение NFILE  прямо  связано   со   значением
                 NINODE. (NFILE  должно  быть  меньше  или равно
                 NINODE). Управляющая структура  NFILE действует
                 таким же образом,  как и структура NINODE.  При
                 переполнении таблицы файлов на системной консо-
                 ли появляется предупреждающее сообщение:
                   NOTICE: file table overflow
                 В качестве памятки: этот параметр не влияет  на
                 число открытых для процесса файлов.  (см. пара-
                 метр NOFILES).

                                  - 8-27 -

     NMOUNT      Определяет количество  элементов   установочной
                 таблицы для   распределения.   Каждый   элемент
                 представляет установленную  файловую   систему.
                 Корневая (/)  файловая  система всегда является
                 первым элементом.  При переполнении таблицы сис-
                 тема установки   вызывает   возврат  по  ошибке
                 EBUSY. Так как таблица установки просматривает-
                 ся линейно,  то  это  значение  должно быть как
                 можно меньше.
     CMASK       Маска, используемая при создании файла.
     NS5INODE    Это значение  должно  быть  больше  или   равно
                 NINODE.
     NOFILES     Определяет максимальное   количество   открытых
                 файлов на каждый процесс. Значение по умолчанию
                 -  60.  Хотя  предполагается,  что  для пакетов
                 программных приложений это число будет  менять-
                 ся,  лучше  оставить это значение так,  как оно
                 было задано по умолчанию,  то есть 60.  /bin/sh
                 использует  три элемента таблицы файлов:  стан-
                 дартный ввод,  стандартный вывод и  стандартная
                 ошибка  (0,1,2  обычно резервируются для stdin,
                 stdout,stderr  соответственно).  Это  уменьшает
                 значение NOFILES на три,  как число других отк-
                 рытых файлов,  доступных процессу. Если процесс
                 требует  до  трех  открытых  файлов сверх этого
                 числа, то в этом случае стандартные файлы могут
                 быть закрыты. Такая практика не рекомендуется и
                 должна использоваться с осторожностью,  в край-
                 нем  случае.  Если  же  заданное в конфигурации
                 значение NOFILES превышает  максимальное  (100)
                 или  меньше  минимального  (20),  то значение в
                 конфигурации автоматически устанавливается рав-
                 ным  20  и  на консоль выдается предупреждающее
                 сообщение.
     SHLBMAX     Определяет максимальное число разделенных  биб-
                 лиотек, которые  могут быть присоединены к про-
                 цессу одновременно.
     FLCKREC     Определяет количество физических записей, кото-
                 рые может   блокировать  система.  Значение  по
                 умолчанию 100.  Каждый элемент содержит 28 бай-
                 тов.

                                  - 8-28 -

     S52KNBUF    Определяет количество  системных буферов по 2К,
                 которые могут быть распределены.  Этот параметр
                 выполняет ту же функцию для 2К файловых систем,
                 что и NBUF для 1К файловых систем. Эти значения
                 обычно находятся  в  диапазоне  от  100 до 400.
                 Каждый буфер содержит 2100 байт.  Хэш-буфера по
                 2К (S52KNHBUF)  должны  быть увеличены наряду с
                 S52KNBUF для  оптимизации   производительности.
                 Если Вы  включаете в конфигурацию Вашей системы
                 буфера по 2К, то нужно уменьшить число 1К буфе-
                 ров (NBUF) для того,  чтобы сохранить доступную
                 память на приемлемом уровне.
     S52KNHBUF   Определяет количество хэш-блоков для  распреде-
                 ления  2К буферов.  Это используется для поиска
                 буфера по заданному номеру устройства  и номеру
                 блока вместо того,  чтобы линейно просматривать
                 содержимое списка буферов.  Это значение должно
                 быть  степенью  2.  Каждый  элемент содержит 12
                 байтов.  Значение S52KNHBUF должно быть выбрано
                 так,  чтобы отношение S52KNBUF к S52KNHBUF рав-
                 нялось приблизительно 4.
     NMPBUF      NMPBUF - число буферов перемещения, принадлежа-
                 щих ядру  системы  Acer  Fast File System.  Они
                 используются для  того,  чтобы  собрать  вместе
                 большие запросы на диск перед пересылкой содер-
                 жимого либо  в  пользовательское  пространство,
                 либо в   буферный   кэш.  Эти  буфера  (mpbufs)
                 достаточно велики (обычно 8К  каждый). Значение
                 NMPBUF должно быть от 2 до 16, причем последнее
                 значение предназначено только для машин с  16 М
                 памятью и многочисленными пользователями.
     BFREEMIN    BFREEMIN - это число  буферов,  которые  должны
                 быть в списке свободных буферов перед ожидаемым
                 буфером.  Это число обычно равно 0. Для тех ма-
                 шин, которые используются в основном для работы
                 средств копирования,  пересылки uucp  и  других
                 программных приложений, которые являются однов-
                 ременно квази-однопользовательскими  и получают

                                  - 8-28a -

                 доступ к множеству файлов,  то для таких машин,
                 очевидно,  увеличивается производительность ра-
                 боты,  если значение BFREEMIN установить равным
                 приблизительно NBUF/10.
     NGROUPS     Размер дополнительного к GID  массива. Значение
                 по умолчанию 8.
     NSPTTYS     Число псевдо-ttys в системе.  Значение по умол-
                 чанию 16. Максимальное значение может быть 32.

                                  - 8-29 -

     Процессы, управление памятью и свопинг

     Процедура обмена страниц,  vhand,  отвечает за освобождение
памяти,  когда возникает в этом необходимость. Эта процедура ис-
пользует алгоритм "только что  используемый"  для  аппроксимации
рабочих наборов процесса, и записывает на диск те страницы, ко-
торые не были изменены за некоторый период времени. Размер такой
страницы составляет 4096 байт. Когда памяти совсем недостаточно,
рабочие наборы всех процессов подлежат свопингу.
     Следующие настраиваемые  параметры  определяют  как часто и
при каких условиях процедуры vhand и bmapflush должны запускать-
ся. Значение  по умолчанию соответствуют большинству программных
приложений.
     NPROC       Указывает сколько элементов таблицы процессов
                 надо распределить.   Каждый   элемент   таблицы
                 представляет активный процесс.  Программа  сво-
                 пинга  всегда  является  первым   элементом,  а
                 /etc/init всегда  является  вторым   элементом.
                 Число элементов зависит от числа доступных тер-
                 минальных линий и числа процессов, активизируе-
                 мых каждым пользователем. Среднее число процес-
                 сов каждого пользователя находится  в интервале
                 от 2 до 5 (см. также MAXUP, значение по умолча-
                 нию 25). При переполнении система fork вызывает
                 возврат по ошибке EAGAIN.  Значение NPROC нахо-
                 дится в диапазоне от 50 до 200.
     MAXUP       Определяет сколько конкурентных процессов может
                 запустить непривилегированный пользователь. Это
                 значение обычно находится в диапазоне от  15 до
                 40. Это  значение  не должно превышать значения
                 NPROC (NPROC должно быть по крайней мере на 10%
                 больше, чем  MAXUP).  Это  значение для каждого
                 идентификационного номера пользователя, а не для
                 терминала. Например,  если  12  человек вошли в
                 систему с одинаковой идентификацией пользовате-
                 ля, то  предел значения по умолчанию будет дос-
                 тигнут очень быстро.
     MAXPMEM     Определяет максимальное  количество  физической
                 памяти, используемой  для страниц.  Значение по
                 умолчанию 0 означает, что используется вся дос-
                 тупная физическая память.

                                  - 8-29a -

     ULIMIT      Определяет количество 512-байтовых блоков в на-
                 ибольшем  файле,  который  может  быть  записан
                 обычным  пользователем.  Значение  по умолчанию
                 2048;  то есть наибольший файл,  который  может
                 записать  обычный пользователь,  имеет размер 1
                 мегабайт.  Привилегированный пользователь может
                 записать настолько большой файл, насколько поз-
                 воляет система.  Параметр ULIMIT не относится к
                 чтению:  каждый  пользователь может читать файл
                 любого размера.

                                  - 8-30 -
     SPTMAP      Задает размер массива элементов карты ядра, ко-
                 торый  используется  для управления виртуальным
                 адресным пространством  ядра.  Пользователи  не
                 должны менять этот параметр.
     VHNDFRAC    Задает начальное  значение  для системной пере-
                 менной VHANDL. VHANDL устанавливается следующим
                 образом: максимальная  память доступная пользо-
                 вателем делится на VHNDFRAC или  на  GPGSHI,  в
                 зависимости от того,  какое из них больше. Зна-
                 чение  VHANDL  задается  при  работе  программы
                 vhand.  Количество  свободной  доступной памяти
                 сравнивается со значением VHANDL.  Если свобод-
                 ной памяти меньше чем VHANDL, то активизируется
                 процедура обмена страниц vhand.
                 Значение по умолчанию для VHNDFRAC 16. Уменьше-
                 ние этого значения приводит к большей активнос-
                 ти процедуры  обмена страниц;  увеличение этого
                 значения приводит к уменьшению активности  про-
                 цедуры обмена страниц. (Значение этого парамет-
                 ра должно быть больше 0% и меньше 25% доступной
                 памяти).
     AGEINTERVAL Определяет число  тактовых  импульсов  таймера,
                 которое проходит до того как  страница  идущего
                 процесса устареет.
     GPGSLO      Определяет нижнюю  границу  свободной  памяти в
                 страницах для того,  чтобы vhand  начала  обмен
                 страниц для процесса. Значение по умолчанию 25.
                 Увеличение этого значения приводит  к повышению
                 активности  этой  процедуры;  уменьшение  этого
                 значения приводит к уменьшению  активности этой
                 процедуры (это значение должно быть целочислен-
                 ным и больше или равно 0 и меньше GPGSHI).
     GPGSHI      Определяет верхнюю границу свободной  памяти  в
                 страницах для того,  чтобы vhand остановила об-
                 мен страниц для процесса. Значение по умолчанию
                 40.  Увеличение этого значения приводит к повы-
                 шению  активности  этой  процедуры;  уменьшение
                 этого значения приводит к уменьшению активности
                 этой процедуры. (Это значение должно быть цело-
                 численным  и  больше  0, больше GPGSLO и меньше
                 25% числа страниц доступной памяти).

                                  - 8-30a -

     GPGSMSK     Маска, используемая для  процедуры  страничного
                 обмена. Значение  по умолчанию 0x00000420.  Это
                 значение не должно изменяться.
     MAXSC       Определяет максимальное число  страниц, которые
                 участвуют в  одной операции свопинга.  Значение
                 по умолчанию 1.
     MAXFC       Определяет максимальное число  страниц, которые
                 добавляются в список свободных в одной операции
                 свопинга. Значение по умолчанию 1.

                                  - 8-31 -

     MAXUMEM     Определяет максимальный размер в страницах вир-
                 туального адресного  пространства пользователя.
                 Это значение не может быть больше 8192.  Значе-
                 ние по умолчанию 2560.
     MINARMEM    Определяет минимальное  число  страниц  памяти,
                 резервируемой для текстовых сегментов и сегмен-
                 тов данных пользовательских процессов.
     MINASMEM    Определяет предел  значения,  которое указывает
                 количество памяти и число страниц свопинга, ре-
                 зервируемых для системных целей (недоступно для
                 текстовых сегментов и сегментов данных  пользо-
                 вательских процессов).
     MINHIDUSTK  Определяет минимальное   значение   перемещения
                 данных такое,  что стек и  данные  пользователя
                 могут разделять  таблицу страниц.  Это значение
                 не должно изменяться.
     MINUSTKGAP  Смотрите MINHIDUSTK, определенное выше.
     MAXSLICE    Указывает в тактовых импульсах максимальный вы-
                 деляемый    квант    времени    для   процессов
                 пользователя. После того, как процесс исчерпает
                 распределенный  для  него  квант времени,  этот
                 процесс  откладывается.  Операционная  система,
                 затем  выбирает процесс наивысшего приоритета и
                 распределяет для него MAXSLICE тактовых импуль-
                 сов. Обычно MAXSLICE - одна секунда (100 такто-
                 вых импульсов на генераторе WGS 6836).

     Часы

     NCALL       Определяет сколько  распределять элементов таб-
                 лицы вызовов. Каждый элемент представляет функ-
                 цию, вызываемую  в последнее время блоком ядра,
                 отвечающим за управление часами.  Это  значение
                 должно быть больше 2, и обычно находится в диа-
                 пазоне от 10 до 70.  Значение по умолчанию  30.
                 Каждый элемент содержит 16 байт.

                                  - 8-31a -

                 Драйверы программного обеспечения могут исполь-
                 зовать элементы таблицы  вызовов  для  проверки
                 статуса устройств  оборудования.  Когда таблица
                 вызовов переполняется,  система аварийно  оста-
                 навливается и на системную консоль выдается со-
                 общение:
                 PANIC:  Timeout table overflow

                                  - 8-32 -

     TIMEZONE    Определяет установку  timezone,  относящуюся  к
                 системному вызову ftime(S).  Учтите, что значе-
                 ние параметра  timezone является системным зна-
                 чение по умолчанию и не зависит от величины пе-
                 ременной среды TZ.
     DSTFLAG     Определяет dstflag,  описанный  для  системного
                 вызова ftime(S).

     Мультиэкраны

     NSCRN       Определяет максимальное  число виртуальных тер-
                 миналов, которыми могут  пользоваться  драйверы
                 VT и консоли.
     SCRNMEM     Число 1024-байтовых блоков для сохранения экра-
                 на консоли.

     Очереди сообщений

     Следующие настраиваемые параметры относятся  к  взаимодейс-
твию процессов с помощью сообщений:
     MSGMAP      Определяет размер управляющей карты, используе-
                 мой для   управления   сегментами    сообщений.
                 Значение по  умолчанию 100.  Каждый элемент со-
                 держит 8 байт.
     MSGMAX      Определяет максимальный размер сообщений.  Зна-
                 чение по умолчанию 2048. Хотя максимальный раз-
                 мер сообщения, которое может обработать ядро 64
                 килобайта   минус   1,  существует  ограничение
                 mtune, равное 8192.
     MSGMNB      Определяет максимальную длину  очереди  сообще-
                 ний. Значение по умолчанию 4096.
     MSGMNI      Определяет максимальное  число системных очере-
                 дей сообщений (id структура). Значение по умол-
                 чанию 50.

                                  - 8-32a -

     MSGTQL      Определяет число заголовков сообщений в системе
                 и, таким образом,  число ожидающих вывода сооб-
                 щений. Значение по умолчанию 40. Каждый элемент
                 содержит 12 байт.
     MSGSSZ      Определяет размер сегмента сообщений  в байтах.
                 Сообщения  состоят из множества смежных сегмен-
                 тов сообщений,  достаточно большого чтобы можно
                 было составить текст.  Значение по умолчанию 8.
                 Значение MSGSSZ, умноженное на значение MSGSEG,
                 должно быть меньше или равно 131072 байтам (128
                 килобайт).

                                  - 8-33 -

     MSGSEG      Определяет число сегментов сообщений в системе.
                 Значение  по  умолчанию 1024.  Значение MSGSSZ,
                 умноженное  на  значение  MSGSEG,  должно  быть
                 меньше  или равно 131072 байтам (128 килобайт).

     Семафоры

     Следующие настраиваемые  параметры  относятся к взаимодейс-
твию процессов с помощью семафоров:
     SEMMAP      Определяет размер  управляющей  карты,  которая
                 используется  для управления совокупностями се-
                 мафоров.  Значение по умолчанию 10. Каждый эле-
                 мент содержит 8 байт.
     SEMMNI      Определяет число  идентификаторов  семафоров  в
                 ядре. Это число уникальных совокупностей  сема-
                 форов, которые  могут быть активны в любое дан-
                 ное время.  Значение по  умолчанию  10.  Каждый
                 элемент содержит 32 байта.
     SEMMNU      Определяет число  структур  отмены  в  системе.
                 Значение по умолчанию  30.  Этот  размер  равен
                 8x(SEMUME+2) байт.
     SEMMSL      Определяет максимальное   число  семафоров  для
                 каждого соответствующего идентификатора. Значе-
                 ние по умолчанию 25.
     SEMOPM      Определяет максимальное  число операций семафо-
                 ра, которые могут быть выполнены за  один  сис-
                 темный вызов  semop.  Значение по умолчанию 10.
                 Каждый элемент содержит 8 байт.
     SEMUME      Определяет максимальное число  элементов отмены
                 для каждой структуры отмены.  Значение по умол-
                 чанию 10. Эта величина равна  8x(SEMMNU) байт.
     SEMVMX      Определяет максимальное значение, которое может
                 принимать семафор. Значение по умолчанию 32767,
                 которое является  максимальным  значением   для
                 этого параметра.

                                  - 8-34 -

     SEMAEM      Определяет регулировку  на выход для максималь-
                 ного значения, псевдоним semadj. Это значение ис-
                 пользуется когда  значение семафора становится
                 больше или равно  абсолютного  значения  semop,
                 если только  программа  не установит свое собс-
                 твенное значение.  Значение по умолчанию 16384.
                 Это значение  является  максимальным  для этого
                 параметра.
     SEMMNS      Определяет число семафоров в  системе. Значение
                 по умолчанию 60. Каждый элемент содержит 8 бай-
                 тов.
     XSEMMAX     Определяет максимальное число специальных сема-
                 форов XENIX,  допустимое в системе. Минимальное
                 значение XSEMMAX 20 , максимальное 60, значение
                 по умолчанию 60.

     Разделенные данные

     Следующие настраиваемые  параметры  относятся к взаимодейс-
твию процессов с помощью разделенной памяти:
     SHMMAX      Определяет максимальный размер сегмента  разде-
                 ленной памяти. Значение по умолчанию 524288.
     SHMMIN      Определяет минимальный  размер  сегмента разде-
                 ленной памяти. Значение по умолчанию 1.
     SHMMNI      Определяет максимальное  число  идентификаторов
                 разделенной памяти в системе. Значение по умол-
                 чанию 100. Каждый элемент содержит 52 байта.
     SHMSEG      Определяет число сегментов  разделенной памяти,
                 подключаемых к  каждому  процессу.  Значение по
                 умолчанию 6. Максимальное значение 15.
     SHMALL      Определяет максимальное   число    используемых
                 текстовых сегментов разделенной памяти.  Значе-
                 ние по умолчанию 512.
     XSDSEGS     Определяет максимальное число специальных  сег-
                 ментов разделенных данных XENIX, доступных рас-
                 ширению системы.  Минимальное значение  XSDSEGS
                 1, максимальное - 25, значение по умолчанию 25.
     XSDSLOTS    Максимальное число специальных сегментов разде-
                 ленных  данных,  присоединенных  к   расширению
                 системы,  равно XSDSEGS x XSDSLOTS. Минимальное
                 значение для XSDSLOTS  1,максимальное  значение
                 3, значение по умолчанию тоже 3.

                                  - 8-35 -

     Имя системы

     NODE        Определяет имя узла системы.

     Потоки данных

     Следующие настраиваемые параметры относятся к обработке по-
токов данных.
     NQUEUE      Задает число  очередей  потоков в конфигурации.
                 Очереди всегда распределяются  попарно, поэтому
                 число должно быть четным. Минимальный поток со-
                 держит 4 места в очереди (2 на заголовок  пото-
                 ка,  2 - для драйвера). Каждый модуль, помещен-
                 ный в поток данных,  требует два дополнительных
                 места в очереди. Значения для типичной конфигу-
                 рации равняется 4*NSTREAM.
     NSTREAM     Число структур "заголовков потока"  (stdata)  в
                 конфигурации. Необходимо  по  одной  на  каждый
                 открытый поток,  включая текущий  поток  данных
                 пользовательских процессов и поток канала пере-
                 дачи данных мультиплексоров. Рекомендуемое зна-
                 чение сильно  зависит  от программного приложе-
                 ния, но  значение  32-40  обычно  удовлетворяет
                 требованиям компьютера  для  работы  по  одному
                 транспортному протоколу со средней нагрузкой.
     NBLKn       Параметры с NBLK4 до NBLK4096  управляют числом
                 блоков потоков данных и буферов, распределяемых
                 для каждого класса.  Заголовки блоков сообщений
                 распределяются,  основываясь  на  этих  цифрах:
                 число блоков сообщений, умноженное на 1.25, да-
                 ет  общее распределение всех блоков данных. Это
                 обеспечивает каждый блок данных блоком  сообще-
                 ний,  а также несколько дополнительных для дуб-
                 лирующих  сообщений   (функции   ядра   dupb(),
                 dupmsg()).  Оптимальная конфигурация зависит от
                 количества доступной основной памяти и от пред-
                 полагаемого применения. Значение по умолчанию в
                 пакете NSU применяются для поддержки среднезаг-
                 руженной конфигурации,  использующей разделение
                 удаленных файлов (RFS) и UUCP под STARLAN.
     NMUXLINK    Максимальное число    мультиплексных  каналов,
                 включаемых в конфигурацию.  Одна структура
                 связи требуется  для каждого активного мультип-
                 лексного канала  (STREAMS  I_LINK  ioctl).  Это
                 число зависит от программного приложения;  зна-
                 чение по умолчанию гарантирует доступность связи.

                                  - 8-36 -

     NSTRPUSH    Максимальное число модулей,  которые помещаются
                 в поток.  Это используется  для  предупреждения
                 того, чтобы блуждающие пользовательские процес-
                 сы не забивали все доступные очереди этого  по-
                 тока. По умолчанию этот параметр имеет значение
                 9, но на практике существующие программные при-
                 ложения  могут помещать максимум 4 модуля в по-
                 ток.
     NSTREVENT   Начальное число секций очереди событий, включа-
                 емых в конфигурацию. Секции очереди событий ис-
                 пользуются  для  записи  специальной информации
                 процесса при вызове системного опроса poll. Они
                 используются   также   в   обеспечении  STREAMS
                 I_SETSIG ioctl и механизма  ядра  bufcall().  В
                 грубом  приближении  минимальное значение этого
                 параметра для конфигурации вычисляется  следую-
                 щим  образом:  предполагаемое  число процессов,
                 одновременно использующих poll,  умножается  на
                 предполагаемое  число потоков,  опрашиваемых во
                 время процесса,  плюс предполагаемое число про-
                 цессов, которые возможно будут использовать по-
                 токи в конкурентном режиме. Значение по умолча-
                 нию 256.  Учтите,  что это число не обязательно
                 задает верхний предел числа секций событий, ко-
                 торые    будут    доступны   в   системе   (см.
                 MAXSEPGCNT).
     MAXSEPGCNT  Число дополнительных страниц памяти, динамичес-
                 ки распределяемых для секций событий.  Если это
                 значение равно 0,  то применимо  распределение,
                 только  определенное параметром NSTREVENT. Если
                 это значение не равно 0, и если ядро выходит за
                 рамки секций событий, то при некоторых условиях
                 делается  попытка  распределить  дополнительные
                 страницы памяти,  на которых могут быть созданы
                 новые секции событий.  MAXSEPGCNT задает предел
                 числа страниц,  которые могут быть распределены
                 для этих  целей.  Если  страница  однажды  была
                 распределена для секций событий, то позже в лю-
                 бом случае она не  может  быть  возвращена  для
                 другого использования.  Рекомендуется устанав-

                                  - 8-36a -

                 ливать значение NSTREVENT в соответствии с  ус-
                 ловиями максимальной загрузки так, чтобы значе-
                 ние MAXSEPGCNT можно было установить  равным  1
                 для обработки особых случаев, если они возникнут.
     STRMSGSZ    Максимальный допустимый раздел части  данных  в
                 каждом  сообщении  потока.  Это значение обычно
                 принимается достаточно большим, чтобы соответс-
                 твовать максимальным ограничениям размера паке-
                 тов модулей потоков, включенных в конфигурацию.
                 Если же это значение больше, чем необходимо, то
                 одна операция write или putmsg  будет  захваты-
                 вать  чрезмерное число блоков сообщения.  Реко-
                 мендуемое значение 4096 достаточно для удовлет-
                 ворения  потребностей  существующих программных
                 приложений.

                                  - 8-37 -

     STRCTLSZ    Максимальный допустимый размер управляющей час-
                 ти в каждом сообщении потока. Управляющая часть
                 сообщения putmsg не подлежит ограничениям мини-
                 мального/максимального размеров пакета,  поэто-
                 му значение,  указанное здесь,  является единс-
                 твенным способом   указания   ограничений   для
                 управляющей части сообщения. Рекомендуемое зна-
                 чение 1024  более чем достаточно для существую-
                 щих программных приложений.
     STRLOFRAC   Процент блоков данных определенного класса, для
                 которых  автоматически отвергается низкоприори-
                 тетный запрос на распределение  блоков.  Напри-
                 мер, если STRLOFRAC принимает значение 40 и су-
                 ществует   48   блоков   по   256   байт,    то
                 низкоприоритетный  запрос на распределение бло-
                 ков будет отвергаться,  если  уже  распределено
                 более 19 блоков по 256 байт.  Этот параметр ис-
                 пользуется, чтобы помочь избежать возникновения
                 безвыходных ситуаций из-за выполнения низкопри-
                 оритетных действий.  Рекомендуемое значение  40
                 хорошо  работает для обычных программных прило-
                 жений.  Значение STRLOFRAC всегда должно  нахо-
                 диться в диапазоне от 0 до STRMEDFRAC.
     STRMEDFRAC  Процент отсечки, для которого отвергается сред-
                 неприоритетный запрос на  распределение блоков.
                 (см. выше STRLOFRAC). Рекомендуемое значение 90
                 хорошо работает для обычных программных  прило-
                 жений.  Значение STRMEDFRAC всегда должно нахо-
                 диться в диапазоне от STRLOFRAC до 100. Для вы-
                 сокоприоритетных запросов  на распределение нет
                 отсечки, они имеют силу на 100%.
     NLOG        Число второстепенных  устройств,  включаемых  в
                 конфигурацию для регистрирующего драйвера;  ак-
                 тивных второстепенных устройств может быть от 0
                 до (NLOG-1).  Рекомендуемое значение 3 обслужи-
                 вает  регистрацию ошибок (strerr) и трассировку
                 команд (strace),  с одним запасным для  другого
                 использования.   Если  должны  быть  обеспечены
                 только средства регистрации ошибок и трассиров-
                 ки, то это значение может быть установлено рав-
                 ным 2. Если еще какие-нибудь специальные проце-
                 дуры   Вашего   программного  приложения  могут
                 выдавать сообщения,  подлежащие регистрации, то
                 это  число должно быть увеличено в соответствии
                 с дополнительным использованием драйвера.

                                  - 8-38 -

     NUMSP       Задает   число   канальных   устройств  потоков
                 (/dev/sp), которые   поддерживаются   системой.
                 Пользователи не должны менять этот параметр.
     NUMTIM      Максимальное число  модулей  потоков,   которые
                 пропускает транспортный   интерфейс   библиотек
                 (TLI). Это значение управляет  числом  структур
                 данных, которое  используется для задержки при-
                 нятых интерфейсом данных,  принадлежащих конфи-
                 гурации модулей потоков. Пользователи не должны
                 менять этот параметр.

     Очереди событий и устройства

     EVQUEUES    Максимальное число  открытых  очередей  событий
                 системного расширения.
     EVDEVS      Максимальное число устройств,  прикрепленных  к
                 очередям событий системного расширения.
     EVDEVSPERQ  Максимальное число  устройств на каждую очередь
                 событий.

     Аппаратно-зависимые параметры

     DMAEXCL     Определяет, допустимы  ли одновременные запросы
                 DMA. В некоторых компьютерах микросхемы DMA да-
                 ют сбой,  когда одновременно используется более
                 одного канала распределения.  Для всех инсталя-
                 ций на таких компьютерах DMAEXCL принимает зна-
                 чение 1 по умолчанию. Для компьютеров, не имею-
                 щих  такой  проблемы,  DMAEXCL  устанавливается
                 равным 0 для того,  чтобы разрешить одновремен-
                 ную работу DMA на нескольких каналах.
     KBTYPE      Принимает значение 0 для клавишных пультов типа
                 XT  и значение 1 для клавишных пультов PC-АТ.

     Параметры разделения удаленных файлов

     Существуют некоторые параметры, которые Вы можете настроить
наиболее подходящим образом при использовании разделения удален-
ных файлов (RFS).  Параметры RFS управляют той частью  системных
ресурсов, которая отводится обслуживанию RFS. Каждый сетевой ис-
точник передачи данных может также иметь некоторые настраиваемые
параметры,  которые влияют на характеристики работы этой отдель-
ной сети.  Обратитесь к сетевой документации для получения более
подробной информации.

                                  - 8-39 -

     Все параметры имеют значения по умолчанию, которые способны
обеспечивать  хорошую работу для средней системы;  однако,  если
значение слишком малы,  то Вы не сможете предоставить достаточно
ресурсов для должной обработки загруженной RFS.  Запросы на мон-
тирование,  об'явление и даже на файлы могут быть отвергнуты при
достижении каким-либо из этих параметров максимального значения,
допустимого для Вашей машины. Если эти параметры слишком велики,
то Вы будете распределять больше системных ресурсов, чем это не-
обходимо.
     Учтите, что эти параметры не оказывают влияния на Вашу сис-
тему, пока не установлен дополнительный пакет RFS.
     NLOCAL (буферы локального доступа)
                 Этот параметр определяет минимальное число  ло-
                 кальных буферов, доступных общему буферному пу-
                 лу, который резервируется для локального досту-
                 па. Пользователь  RFS использует кэш,  разделяя
                 общий буферный пул с локальным доступом (обычно
                 диск или лента).  Это значение,  таким образом,
                 защищает локальные данные от нежелательных пос-
                 ледствий соревнования  за  использование буфера
                 RFS.
                 Когда это  пороговое  значение отключено (уста-
                 новлено равным 0),  то принимается значение  по
                 умолчанию, величина которого рекомендуется рав-
                 ным 1/3 всего буферного пула  (NBUF). Ненулевое
                 значение NLOCAL перекрывает значение по умолча-
                 нию.
                 Учтите, что  если  RFS не работает в данный мо-
                 мент или работа не закончена только что,  то  в
                 этом случае буферный пул будет полностью досту-
                 пен для локального доступа.
     NREMOTE (буферы удаленного доступа)
                 Этот параметр   определяет   минимальное  число
                 локальных буферов,  из общего  буферного  пула,
                 которые  резервируются  как  ресурсы для чтения
                 удаленных данных.  Когда это пороговое значение
                 отключено (установлено равным 0), то принимает-
                 ся значение по умолчанию, величина которого ре-
                 комендуется  равным  1/3  всего  буферного пула
                 (NBUF).  Ненулевое значение NREMOTE перекрывает
                 значение по умолчанию.

                                  - 8-39a -

                 Учтите, что сумма NREMOTE и  NLOCAL  не  должна
                 превышать NBUF. Если это условие нарушается, то
                 на консоли появляется предупреждающее сообщение
                 и для  обоих  параметров (NREMOTE и NLOCAL) ис-
                 пользуются значения по умолчанию,  то есть  1/3
                 NBUF.
     RCACHETIME (нерабочее время кэша)
                 Этот параметр может  быть  использован  двояким
                 образом: для отключения использования кэш в Ва-
                 шей машине или для определения  количества  се-
                 кунд, во  время  которых сеть не пользуется кэ-
                 шем, пока модифицируется файл.
                 Для отключения  кэширования для всей машины па-
                 раметр устанавливается равным -1.
                 Второй путь  использования параметра RCACHETIME
                 требует некоторых пояснений.  Если  обнаружится
                 операция записи в файл сервера, то машина-сер-
                 вер посылает  сообщения  об  отказе  на  все
                 пользовательские машины,   которые  имеют  этот
                 файл открытым. Эти пользовательские машины уда-
                 ляют данные,  запорченные этой операцией записи,
                 из своего кэша.  Кэширование данных этого файла
                 не производится до того,  как записывающие про-
                 цессы закроют этот файл, или до того, как исте-
                 чет время, указанное в этом параметре.
                 Предполагается, что записываемый поток является
                 "пульсирующим" и  что  за  первой записью могут
                 непосредственно следовать другие записи. Отклю-
                 чение кэширования  позволяет избежать накладных
                 расходов посылки сообщений об отказе для после-
                 дующих записей.

                                  - 8-40 -

     RFS_VHIGH
                 Наивысший номер  версии  RFS,  с  которой может
                 быть связана Ваша машина.
     RFS_LOW
                 Наинизший номер версии  RFS,  с  которой  может
                 быть связана Ваша машина.
     NRCVD (максимальное число дескрипторов приема данных)
                 Ваша система создает по одному дескриптору прие-
                 ма на каждый файл или каталог, на который
                 ссылаются удаленные  пользователи,  и по одному
                 дескриптору на каждый процесс Вашей машины,  ожи-
                 дающей ответа на удаленный запрос.  Если Вы ог-
                 раничите число дескрипторов приема, то тем са-
                 мым, Вы  ограничите  число  локальных  файлов и
                 каталогов, одновременно  доступных  удаленным
                 пользователям. Результатом превышения этого ог-
                 раничения будет сообщение об ошибке  для команд
                 удаленных пользователей.
     NSNDD (максимальное число дескрипторов передачи данных)
                 Для каждого  удаленного ресурса ( файла или ди-
                 ректория), к которому обращаются Ваши пользова-
                 тели,  Вашей системой создается дескриптор пере-
                 дачи. Он распределяется также для  каждого про-
                 цесса сервера и каждого сообщения, ждущего в
                 очереди принятых сообщений.  Вы можете изменить
                 это значение,  чтобы ограничить число одновреме-
                 нно доступных  Вашей  машине удаленных файлов и
                 каталогов. Это будет действительно ограничивать
                 объем  RFS-активности Ваших пользователей. Резу-
                 льтатом превышения этого ограничения будут сооб-
                 щения об ошибке  для команд пользователей.

                                  - 8-41 -

     NSRMOUNT (элементы таблицы монтирования сервера)
                 Каждый раз,  когда удаленная  машина  монтирует
                 один из  Ваших ресурсов,  добавляется элемент в
                 таблицу монтирования Вашего сервера. Это значе-
                 ние ограничивает  общее  число  Ваших ресурсов,
                 которые могут одновременно  монтироваться  уда-
                 ленными машинами.
     NADVERTISE (таблица об'явлений)
                 В Вашу таблицу об'явлений помещается элемент на
                 каждый об'явленный Вами ресурс.  Этот  параметр
                 устанавливает максимум ресурсов, которые Вы мо-
                 жете об'явить.
     MAXGDP (виртуальные цепи)
                 Может быть установлено до двух соединений (вир-
                 туальных цепей)  в сети между Вами и каждой ма-
                 шиной, с которой Вы в данный  момент разделяете
                 ресурсы. Одна цепь на каждый компьютер, чьи ре-
                 сурсы Вы  монтируете  и  одна  цепь  на  каждый
                 компьютер, который монтирует Ваши ресурсы. Вир-
                 туальная цепь создается,  когда компьютер впер-
                 вые монтирует ресурс другого, и эта цепь разру-
                 шается, когда размонтируется последний ресурс.
                 Этот параметр  ограничивает  число  виртуальных
                 цепей RFS, которые может открывать одновременно
                 в сети  Ваш  компьютер.  Это ограничивает число
                 удаленных компьютеров,  с  которыми  Вы  можете
                 разделять ресурсы   одновременно.  Учтите,  что
                 конкретная сеть может иметь  ограниченное число
                 цепей на один компьютер,  поэтому этот параметр
                 влияет на  максимальный  процент  использования
                 RFS.
     MINSERVE (минимальное число процессов сервера)
                 Ваша система использует  процессы  сервера  для
                 обработки удаленных  запросов  на Ваши ресурсы.
                 Этот параметр  определяет,  сколько   процессов
                 сервера постоянно  активно на Вашем компьютере.
                 (см. команду sar -S для получения информации по
                 управлению процессами сервера).

                                  - 8-41a -

     MAXSERVE (максимальное число процессов сервера)
                 Если удаленных запросов на Ваши ресурсы больше,
                 чем может быть  обработано  минимальным  числом
                 серверов,  то Ваш компьютер может временно соз-
                 дать их  больше.  Этот  параметр  устанавливает
                 максимум общего числа процессов сервера в Вашей
                 системе (MINSERVE+число  динамически  создавае-
                 мых).
     NRDUSER
                 Это значение определяет  число  элементов  user
                 дескрипторов приема  данных, которые могут быть
                 распределены.  Каждый элемент представляет расп-
                 ределение одного из Ваших файлов или каталогов
                 в  пользовательской машине.  В то время как су-
                 ществует   один дескриптор  приема   данных,
                 распределенный для каждого файла  и каталога,
                 к   которым   осуществляется  удаленный  доступ
                 (NRCVD),  может быть несколько  элементов  user
                 дескриптора приема данных для каждого клиента,
                 использующего эти файл и  каталог  (NRDUSER).
                 Эти  элементы используются для возврата,  когда
                 сеть или пользователь закрываются. Это значение
                 должно  быть  примерно  в 1.5 раза больше,  чем
                 значение NRCVD.

                                  - 8-42 -

     RFHEAP
                 Это значение определяет размер в байтах области
                 памяти, отведенной для информации RFS.  Эта об-
                 ласть содержит следующую информацию:
                 * Таблицы соответствий  пользователя  и  группы
                   идентификаторов  ID и имя области определения
                   для каждой машины,  разделяющей ресурсы с Ва-
                   шей машиной.
                 * Список имен машин,  воспринимаемый как список
                   клиентов при об'явлении ресурсов.
                   Подходящий размер  для RFHEAP зависит от сле-
                   дующего:
                 - UID/GID таблицы (размер и число).
                       Здесь всегда должны быть  две  глобальные
                       таблицы, одна UID и одна GID. Также любая
                       машина  с   элементом   host   в   файлах
                       uid.rules или gid.rules будет иметь  таб-
                       лицу, соответствующую   каждому  из  этих
                       элементов, когда они подсоединены  к этой
                       машине. Машины,  которые не имеют отдель-
                       ных элементов в одном из этих  файлов, не
                       занимают дополнительное место.
                       Для того, чтобы оценить размер конкретной
                       таблицы, наберите   idload  -n.  Получите
                       один 4-байтовый элемент таблицы на строку
                       выходной информации, полученной после ра-
                       боты idload,  плюс  дополнительно  до  24
                       байт на таблицу.
                 - Список клиентов об'явленных  ресурсов (размер
                       и число).
                       Каждое об'явление может иметь список  ав-
                       торизованных пользователей, прикрепленных
                       к нему.  Этот список хранится в этой  об-
                       ласти, с  неизменяемым размером,  до того
                       как этот ресурс будет снят.

                                  - 8-43 -

                 - Ресурсы, присоединенные в настоящее время.
                       Каждое подсоединение  будет  использовать
                       максимум 64 байта для хранения имени при-
                       соединенного ресурса.  Эта память распре-
                       деляется динамически,  поэтому, требуется
                       некоторая дополнительная память для учета
                       возможной фрагментации  при распределении
                       и освобождении памяти. Хотя общий размер,
                       вероятно, должен  быть относительно неве-
                       лик, от 1 до 4 килобайт,  лучше предоста-
                       вить ему больше  места, чем занизить его
                       величину.
     В добавление к вышесказанному, причастность к RFS имеет па-
раметр NHBUF.  Значение NHBUF используется для определения коли-
чества "корзин хэширования" для распределения удаленных данных в
буферном пуле,  также, как и для локальных данных. Корзины хэши-
рования используются для просмотра буфера по заданному  ID  уда-
ленной машины-сервера и ID файла вместо того, чтобы последова-
тельно просматривать  полный   список   буферов.   (см.   раздел
"Основные параметры  ядра",  где более подробно рассмотрен пара-
метр NHBUF).
     Таблица 8.4 содержит список ключевых параметров RFS и реко-
мендованные значения для различных применений RFS. "Только поль-
зователь"  означает,  что  Ваша машина будет пользоваться только
удаленными ресурсами,  не  разделяя  свои  собственные  ресурсы.
"Только  сервер" означает,  что Вы будете только предлагать свои
ресурсы для других машин,  без монтирования некоторых  удаленных
ресурсов.  "Пользователь+Сервер"  означает,  что  Вы  можете как
предлагать свои собственные ресурсы,  так и использовать удален-
ные ресурсы.

                                  - 8-44 -

                          Таблица 8.4
             Установка настраиваемых параметров RFS
+------------+-------+---------+---------+---------+-----------+
| Параметр   |Только | Только  | Пользо- | Значения| Размер    |
|            |пользо-| сервер  | ватель+ | по умол-| элементов |
|            |ватель |         | Сервер  | чанию   | в байтах  |
+------------+-------+---------+---------+---------+-----------+
| NSRMOUNT   |  0    |   50    |   50    |   24    |           |
| MAXGDP     |  10   |   24    |   24    |   24    |   104     |
| NADVERTISE |  0    |   25    |   25    |   25    |   32      |
| NRCVD      |  40   |   300   |   150   |   150   |   48      |
| NRDUSER    |  0    |   450   |   255   |   225   |   24      |
| NSNDD      |  150  |   30    |   150   |   150   |   44      |
| MINSERVE   |  0    |   3     |   3     |   3     |   9К      |
| MAXSERVE   |  0    |   6     |   6     |   6     |   -       |
| RFHEAP     |  2048 |   3072  |   3072  |   3072  |   1       |
| NREMOTE    |  0    |   0     |   0     |   0     |   -       |
| NLOCAL     |  0    |   0     |   0     |   0     |   -       |
| RCACHETIME |  10   |   10    |   10    |   10    |   -       |
+------------+-------+---------+---------+---------+-----------+
     Глава 9

     Использование операционных систем DOS и OS/2
________________________________________________________________

     Введение                                               9-1
     Совместимость с OS/2                                   9-2
     Разбивка жесткого диска командой fdisk                 9-3
         Переключение операционных систем                   9-5
     Установка раздела UNIX в систему DOS                   9-7
     Использование систем  UNIX  и  DOS  на компьютере
     с двумя жесткими дисками                               9-9
     Удаление операционной системы с жесткого диска         9-11
     Утилиты, обеспечивающие доступ к DOS                   9-12
         Аргументы файлов и каталогов                       9-13
         Пользовательский, принимаемый по умолчанию файл
            с перестраиваемой конфигурацией                 9-13
     Организация файловой системы DOS в UNIX системе        9-15
         Поддержка процесса создания конфигурации для
            организованных файловых систем DOS              9-15
         Как организуется доступ в файловые системы DOS     9-15
         Использование команды mount                        9-16
         Восстановление и проверка файловой системы DOS     9-17
         Кто может получить доступ к файловой системе DOS   9-17
         Просмотр файлов DOS                                9-18
         Ограничения                                        9-18
     Операционные системы UNIX и DOS на нестандартных
       дисках                                               9-20

                                - 9-1 -

_______________________________________________________________

     Введение

     Многие пользователи   обеспечены   операционной    системой
MS-DOS,  или другими операционными системами совместимыми с DOS.
Эта глава описывает использование утилит,  файлов и  программных
приложений операционной системы DOS после установки операционной
системы UNIX. Вы можете даже получить доступ к файлам и директо-
риям DOS в Вашей системе UNIX, или сформировать файловую систему
DOS и получить непосредственно  доступ  к  файлам.  Операционная
система  обеспечивает  эту возможность таким образом,  что Вы не
будете нуждаться пересматривать свое программное обеспечение для
DOS,  или покупать другой компьютер для того, чтобы использовать
систему UNIX.
     Несколько программ делают эту совместимость возможной. Ути-
литы  dos(C)  позволяет  получить доступ к файлам DOS на дискете
или в разделе DOS на жестком диске.  Эти утилиты обсуждаются да-
лее в этой главе.  Утилита, разбивающая диск на разделы, называ-
ется fdisk(ADM) и доступна в версиях DOS и UNIX.  Следующий раз-
дел описывает использование fdisk с целью разбивки одного и того
же жесткого диска на разделы DOS и UNIX.  Еще один раздел обсуж-
дает  установку  раздела  UNIX  в жесткий диск наряду с разделом
DOS.  Существуют также разделы, которые описывают различные кон-
фигурации загрузки системы, для пользователей, использующих чаще
систему UNIX, и пользователей, использующих чаще систему DOS.
________________________________________________________________
Примечание
     Вы должны  иметь  установленную  DOS  3.3 или более раннюю.
Разделы extended (расширения) не поддерживаются
________________________________________________________________

                                - 9-2 -
________________________________________________________________
     Совместимость с OS/2

     Хотя OS/2  может  быть  успешно установлена,  OS/2 может не
быть загружаемой на Вашей машине, в зависимости от того существу-
ет или нет раздел UNIX;  мы не гарантируем, что OS/2 будет рабо-
тать с Вашей системой UNIX.  Обратитесь к техническому  описанию
Вашего компьютера,  чтобы определить, поддерживается ли Ваша ма-
шина для запуска на ней OS/2. Если Вы хотите использовать OS/2 и
или DOS на том же жестком диске совместно с Вашей системой UNIX,
Вы должны загрузить их в следующем порядке:

     1. DOS (раздел 32 М или менее)
     2. программное обеспечение UNIX
     3. OS/2

     Не существует доступных средств для OS/2 ( таких как утили-
ты DOS,  описываемые в данной главе).  Кроме того, Вы должны ис-
пользовать fdisk(ADM) чтобы переключится на OS/2  или  выйти  из
нее.
     Утилита fdisk(ADM) системы UNIX отображает разделы OS/2 как
разделы DOS.

                                - 9-3 -
________________________________________________________________
     Разбивка жесткого диска командой fdisk

     Каждая версия  команды fdisk документирована в соответствии
с руководством по операционной системе.  Если это специально  не
указано, эта глава ссылается на команду fdisk(ADM) версии UNIX.
     Команда fdisk является интерактивной и использует  меню для
отображения своих функций. Здесь приводится главное меню команды
fdisk:
  +----------------------------------------------------------
  |  1. Display Partition Table (отобразить таблицу разделов)
  |  2. Use  Entire  Disk  For  UNIX (использовать весь диск под
  |     UNIX)
  |  3. Use Rest of Disk for UNIX (использовать оставшуюся часть
  |     диска под UNIX)
  |  4. Create UNIX Partition (создать раздел UNIX)
  |  5. Activate Partition (активизировать раздел)
  |  6. Delete UNIX Partition (удалить раздел UNIX)
  |
  |  Enter your choice or 'q' to quit:
  |  (Введите Ваш выбор или введите 'q' для выхода:)

     Утилита fdisk  позволяет  устанавливать  отдельные  области
(разделы) на Вашем жестком диске для Вашей операционной системы.
Жесткий диск разделен на треки.  Число треков зависит от размера
конкретного жесткого диска.
     Раздел состоит из группы треков.  Один жесткий  диск  может
содержать до 4 разделов. Каждый раздел может иметь свою операци-
онную систему и соответствующие каталоги и файловые системы.
     Команда fdisk позволяет Вам отметить какой-либо раздел дис-
ка как "активный".  Это позволяет  Вам  при  включении(загрузке)
компьютера загружать  операционную систему из активного раздела.
Раздел UNIX должен быть активным,  когда Вы хотите  использовать
Вашу систему UNIX.
     Команда fdisk позволяет Вам указать число треков для каждо-
го раздела.  Число  доступных  треков  сильно зависит от размера
Вашего жесткого диска.  Мы рекомендуем использовать жесткий диск
емкостью не менее 50 мегабайт. Размер раздела UNIX также зависит
от числа пакетов программного обеспечения, которые Вы хотите ус-
тановить. Обратитесь  к руководству по команде custom(ADM), чтобы
получить информацию как установить или удалить из двух дистрибу-
тивных систем  UNIX.  Вам необходимо по крайней мере 40 мегабайт
для каждого раздела UNIX.  Вы можете установить конкретный пакет
операционной системы  в  это дисковое пространство,  а остальное
использовать для хранения пользовательских файлов и  других паке-
тов програмного обеспечения.

                                - 9-4 -

     Команда fdisk позволяет Вам указывать где начинается  и где
кончается конкретный  раздел.  Ъ1fdiskЪ3 не позволит Вам создать пе-
рекрывающиеся разделы.  Вы не должны устанавливать систему UNIX в
первый раздел.
     Вы всегда должны устанавливать начало Вашего раздела DOS на
начало диска,  начиная с первого цилиндра, но не с нулевого. Так
как DOS записывает загрузочный блок на цилиндр 0 очень  близко к
концу главного  загрузочного блока,  то установка начала раздела
DOS на нулевой цилиндр приведет к тому,  что раздел  DOS  станет
недоступным после его установки.
     Если Вы устанавливаете раздел UNIX на один тот же диск пос-
ле раздела DOS,  установите начало раздела UNIX на следующий ци-
линдр этого диска.  Для того, чтобы определить начало следующего
цилиндра, заметьте  номер  последнего трека Вашего раздела DOS и
определите начало раздела UNIX как следующий номер трека,  крат-
ный  числу считывающих головок Вашего диска. Например, если
у Вашего жесткого диска 5 считывающих головок и раздел DOS  кон-
чается на треке с номером 103, то установите начало раздела UNIX
на трек с номером 105.
     Когда Вы запускаете Вашу систему UNIX,  имя устройства раз-
дела UNIX - /dev/hd0a.  Для получения более подробной информации
обратитесь к руководству по команде hd(HW).
     Одна из опций fdisk формирует  таблицу  текущего  состояния
разделов ( опция отображения таблицы разделов). Эта опция указы-
вает для каждого раздела его активность,  первый трек, последний
трек, число  используемых  треков и соответствующую операционную
систему. Если Вы выберите эту опцию и нажмете  клавишу ,
то результат будет выглядеть следующим образом :
+----------------------------------------------------------------
|    Current Hard Disk Drive: /dev/hd00
|    (текущий драйвер жесткого диска : /dev/hd00)
|________________________________________________________________
|| Partition  |  Status   |  Type  |   Start  |  End  |  Size   |
|| (раздел)   | (статус)  | (тип ) |  (начало)|(конец)| (размер)|
|================================================================
||    1       | Inactive  |  DOS   |    005   |   398 |   393   |
|________________________________________________________________
||    2       |  Active   |  UNIX  |    400   |  1219 |   819   |
|________________________________________________________________
|
| Total disk size : 1229 tracks (9 tracks reserved for
| masterboot  and diagnostics).
| [Общий размер диска : 1229 треков (9 треков резервировано
|  под блок основной загрузки и диагностику)]

                                - 9-5 -

     Пеpеключение опеpационных систем

     Существует 3  пути  переключения в DOS,  если Вы установили
разделы DOS и UNIX разделы :

     * указать DOS в запросе на выбор загрузки,

     * использовать дискету,  которая содержит файлы, необходимые
       для загрузки операционной системы DOS, или

     * использовать fdisk для изменения активности текущего раз-
       дела.

     Мы рекомендуем Вам использовать загрузку с  дискеты   или
ввод ответа  DOS  на запрос выбора операционной системы для заг-
рузки. Загрузка с дискеты или выбор ответа на запрос в основном
легче, быстрее  и  сохраняет активность разделов,  установленных
командой fdisk.
     Когда Вы  используете выбор ответа на запрос или дискету для
загрузки DOS, раздел UNIX остается активным хотя Вы и переключи-
ли операционную систему. Когда Вы используете fdisk, раздел UNIX
становится неактивным до тех пор,  пока Вы  не  вернете  обратно
значение активности этой же командой.
     Для того,  чтобы использовать способ выбора ответа на  зап-
рос, введите :
     dos
     когда появится запрос :
+---------------------------------------------------------------
|    Boot
|    :
|
     Для того,  чтобы использовать загрузку с дискеты,  следуйте
следующей процедуре :
     1. Отключите всех пользователей системы.
     2. Запустите shutdown(ADM) для разгрузки системы  UNIX. Эта
        команда  обеспечивает  то,  что все пользователи узнают,
        что система разгружается,  все  процессы  заканчиваются,
        затем система останавливается.
     3. После того, как система UNIX разгружена, вставьте загру-
        зочную дискету DOS в основной(загрузочный) дисковод.
     4. Загрузите DOS.

                                - 9-6 -

     5. Для того,  чтобы вернуться опять в UNIX, удалите дискету
        из дисковода и нажмите клавиши , или
        кнопку ,  или выключите,  а затем включите компь-
        ютер.
     Запомните, что  активный  раздел - раздел UNIX,  а когда Вы
загружаете систему с дискеты Вы можете перейти на диск С: для того,
чтобы работать с файлами DOS.
     Другой путь сменить операционную систему - запустить утили-
ту  fdisk  и  установить  неактивность раздела UNIX и активность
раздела DOS. Затем, после того как Вы разгрузите текущую систему
(см.  выше) DOS загрузится с жесткого диска. Вы не должны в этом
случае ставить на дисковод загрузочную дискету  DOS,  так как DOS
помещен в раздел DOS на жесткий диск.
     Чтобы переключится  обратно  на  систему  UNIX,   запустите
fdisk под системой DOS,  и сделайте активным раздел UNIX.  Чтобы
перезагрузиться из     раздела     UNIX,     нажмите     клавиши
, или  кнопку  ,  или выключите,  а затем
включите компьютер.
     Так как  раздел  UNIX должен быть активным для того,  чтобы
работать с этой системой,  Вы не обязательно должны использовать
загрузочную дискету для загрузки системы.  Этот метод применим для
редкой смены операционной системы.
                     Таблица 9.1
            Устройства жестких дисков для DOS
           +-----------------+-------------------+
           |  соглашение     |       соглашение  |
           |по устройствам   |     по устройствам|
           |    XENIX        |         UNIX      |
           +-----------------+-------------------+
           |/dev/hd0d        |     /dev/dsk/0sd  |
           |/dev/rhd0d       |     /dev/rdsk/0sd |
           |/dev/hdld        |     /dev/dsk/lsd  |
           |/dev/rdld        |     /dev/rdsklsd  |
           +-----------------+-------------------+
     Имена устройств  для  жестких дисков,  показанные в таблице
9.1, похожи на /dev/hd0a (активный раздел диска),  тогда,  когда
драйвер диска определяет определяет какой раздел является разде-
лом DOS, он использует их как hd0d и hdld. ( Вы можете использо-
вать соглашение по именам устройств как XENIX,  так и UNIX,  они
эквивалентны). Это значит, что программное обеспечение запускае-
мое из  раздела  UNIX  и использующее раздел DOS необязано знать
какой раздел - раздел DOS (драйвер диска сделает это сам).

                                - 9-7 -
________________________________________________________________

     Установка раздела UNIX в систему DOS

     Если Вы хотите установить систему UNIX на жесткий диск, ко-
торый перед этим содержал только DOS, выполните следующую после-
довательность действий :
     1. Скопируйте (сделайте резервную копию) всех файлов и  ди-
        ректориев  с  жесткого  диска на дискету или в какую-либо
        желаемую область.
     2. Запустите команду fdisk под управлением системы DOS. Ес-
        ли  существует свободная область под раздел UNIX (не ме-
        нее 40 мегабайт) на Вашем жестком  диске,  перейдите  на
        шаг  4.  Иначе,  удалите раздел DOS,  затем создайте его
        снова,  оставляя достаточно места на диске для установки
        UNIX  и  другого  программного  обеспечения,  которое Вы
        должны установить.
     3. Возвратите из резервной копии файлы DOS в заново создан-
        ный раздел.  Сохраните резервную копию на случай ошибок,
        чтобы не потерять данные.
     4.  Выключите Ваш компьютер.
     5. Следуйте последовательности действий процедуры  установ-
        ки,  описанной  в руководстве по установке Вашей системы
        UNIX.
        Вы увидите сообщение,  предупреждающее о том, что содер-
        жимое  жесткого  диска будет разрушено.  Это не является
        причиной для беспокойства,  так как Вы уже  создали  ре-
        зервную  копию  файлов DOS и загрузили их в новый раздел
        DOS.  Создаваемый новый раздел будет  содержать  систему
        UNIX,  и процесс установки этой системы будет писать ин-
        формацию только в раздел UNIX.
      6. В течение процедуры установки будет  вызван  fdisk  для
        создания раздела на жестком диске. Используйте fdisk для
        выделения раздела размером не менее 40 мегабайт под раз-
        дел UNIX.
      7. Назначьте  UNIX активной операционной системой,  выбрав
        опцию команды fdisk - "Активизация раздела".
      8. Завершите установку системы UNIX.

                                - 9-8 -
________________________________________________________________
Пpимечание
     Команда fdisk системы UNIX отображает разделы DOS  как DOS,
тогда как  команда fdisk системы DOS отображает разделы UNIX как
Other (отличные от системы DOS).
     С помощью команды fdisk системы DOS Вы можете создать толь-
ко разделы DOS, используя fdisk UNIX - только разделы UNIX.
     Учтите, что команда fdisk DOS сообщает размеры в цилиндрах,
а fdisk UNIX - в треках.  Определите число и размер цилиндров на
Вашем жестком диске.
________________________________________________________________

                                - 9-9 -
________________________________________________________________
   Использование систем  UNIX  и  DOS  на компьютере с двумя
   жесткими дисками

     Ваш компьютер загружает операционную систему  из  активного
раздела на первом жестком диске. Система UNIX должна загружаться
с первого жесткого диска. Существует несколько путей конфигурации
системы, в  случае,  если  Вы  имеете два жестких диска и хотите
загружать DOS. В этом разделе описываются только два.
     Первый состоит в том,  что Вы назначаете весь диск под раз-
дел UNIX. А для запуска DOS используете дискету и указываете:
     A> A: C:
     для перехода в область DOS на втором жестком диске,  где  С
есть обозначение   второго   диска.  Этот  способ  работает  для
некоторых версий DOS. Ранние версии DOS распознают только первый
жесткий диск в системе.
________________________________________________________________
Пpимечание
     Если Вы используете жесткий диск  под  системой  DOS,  этот
диск должен быть сконфигурирован под системой DOS. Для получения
подробной информации по конфигурации жесткого диска обратитесь к
главе  "Установка дополнительных жестких дисков" этого руководс-
тва.
________________________________________________________________
     Другой метод состоит в выделении раздела DOS малого размера
на первом жестком диске. Этот раздел DOS создается как активный.
В этом случае компьютер всегда загружает DOS.  Для загрузки UNIX
с жесткого диска требуется изменить активный раздел.
     Если Вы полностью используете второй жесткий диск, вы долж-
ны запустить команду mkdev hd для того, чтобы создать файлы уст-
ройства для второго диска, в случае если Вы планируете использо-
вать утилиты DOS системы UNIX (doscp,  dosls, doscat и др.) Если
Вы не  хотите использовать эти утилиты для того,  чтобы получить
доступ к файлам DOS на втором жестком диске,  можно не использо-
вать команду mkdev hd.

                                - 9-10 -
________________________________________________________________
Пpимечание
     Непременно сделайте резервную копию Вашей загрузочной  дис-
кеты,  если Вы используете ее для загрузки Вашей второй операци-
онной системы.
________________________________________________________________

                                - 9-11 -
________________________________________________________________

     Удаление операционной системы с жесткого диска

     Вы можете  решить,  что  Вам  больше  не  нужна   одна   из
операционных систем,  установленных на Вашем жестком диске. Если
Вы хотите удалить некоторую  операционную  систему,  используйте
соответствующую версию fdisk. Для удаления раздела UNIX Вы долж-
ны использовать версию fdisk системы UNIX.  Чтобы удалить раздел
DOS, используйте fdisk под системой DOS. Удаление раздела удаля-
ет содержимое  этого  раздела  и  освобождает   нераспределенное
пространство.
     Вы можете затем перераспределить это пространство  добавле-
нием другого  раздела UNIX или DOS или расширением существующих.
Расширение какого-либо раздела требует переустановки  операцион-
ной системы и (для раздела UNIX) переорганизации файловой систе-
мы в этом разделе,  используя команду divvy(ADМ).  Обратитесь  к
главе "установка дополнительного жесткого диска" этого руководс-
тва, если Вы добавляете второй раздел UNIX и  желаете  использо-
вать этот раздел как сформированную файловую систему.

                                - 9-12 -
________________________________________________________________
     Утилиты, обеспечивающие доступ к DOS

     Утилиты, обеспечивающие доступ к DOS подробно описаны в ру-
ководстве пользователя в "Использовании  утилит,  обеспечивающих
доступ к DOS".  Заметим, что Вы должны иметь загружаемый, хотя и
не активный,  раздел DOS на жестком диске или дискете DOS. Для то-
го, чтобы использовать эти команды.  Например, Вы можете переме-
щать файлы только из раздела UNIX на  жестком  диске  на  дискете
DOS, если  или эта дискета является загрузочной,  или существует
раздел DOS на этом жестком диске.  Для получения  дополнительной
информации об утилитах,  обеспечивающих доступ к DOS, обратитесь
к руководству пользователя.
     Вы можете   также  использовать  команды  UNIX  -  dd(C)  и
diskcp(C) для копирования и сравнения дискет DOS. Команда систе-
мы UNIX dtype(С) какой тип дискеты Вы используете (DOS или UNIX).
     Также, файл  /etc/default/msdos  описывает  какие  файловые
системы DOS соответствуют каким устройствам UNIX (т.е.  A:,  B:,
C: ...).
________________________________________________________________
Примечание
     Вы не  должны выполнять программы  или программные при-
ложения DOS из Вашей системы UNIX.
________________________________________________________________
     Операционная система не использует плохие треки  в  области
DOS на жестком диске. Если появляется плохой трек в области DOS,
то операция,  такая как doscp,  которая делает попытку доступа к
испорченной области,  может закончиться ошибочно. В таком случае
появится сообщение "Ошибка на жестком диске".
     Если файлы небольшого размера,  то можно скопировать их  на
другое место  под  управлением DOS,  и затем обращаться к копиям
этих файлов.

                                - 9-13 -
________________________________________________________________
Примечание
     При попытке использовать утилиты DOS для доступа к файлам в
Вашем  разделе DOS,  Вы можете получить сообщение об ошибке "bad
media byte (плохой байт в области)". Это сообщение означает, что
раздел  DOS на жестком диске не является загрузочным.  Вы можете
сделать Ваш раздел DOS загрузочным, для этого сначала необходимо
создать  резервную копию файлов этого раздела DOS,  затем загру-
зить DOS с дискеты и отформатировать этот раздел,  используя  ко-
манду :
     format /s c:
     Теперь Вы должны переписать обратно Ваши файлы DOS.
________________________________________________________________

     Аргументы файлов и каталогов

     Аргументы файлов и каталогов имеют формат:
     device:name
     где device - имя пути формата UNIX для  специального  файла
устройства, содержащего имя дискеты или раздела DOS,  name - имя
пути файла или каталога DOS. Например:
     /dev/fd0:/john/memos
     означает, что файл memos содержится в каталоге  /john,  и
они оба  размещаются  в  файле устройства /dev/fd0 ( специальный
файл устройства UNIX для основной дискеты  драйвера).  Аргументы
без указания device: воспринимаются как файлы UNIX.

     Пользовательский, принимаемый по умолчанию файл
     с перестраиваемой конфигурацией

     По соглашению, пользовательский, принимаемый  по  умолчанию
файл с  перестраиваемой  конфигурацией  /etc/default/msdos может
определять имена драйверов DOS,  которые Вы можете  использовать
вместо имен  пути специального файла устройства UNIX.  Например,
Вы можете включить следующие элементы в описанный выше файл:
     A=/dev/fd048ds9
     B=/dev/fd096ds15
     C=/dev/hd0d
     D=/dev/hdld

                                - 9-14 -

     Как только Вы определили эти переменные,  Вы можете исполь-
зовать букву "A" для обозначения  драйвера  вместо  специального
файла устройства  /dev/fd0  (48ds9 по умолчанию) при обращении к
файлам или каталогам DOS. Например :
     /dev/fd0:/john/memos
     можно заменить следующим:
     A:/john/memos
     Буква "B" для обозначения драйвера  ссылается  на  основной
дискете драйвер  высокой  плотности  (96ds15),  а буквы "C" и "D"
ссылаются на разделы DOS основного  и  дополнительного  жесткого
диска.
________________________________________________________________
Примечание
     Если Вы получили сообщение " cannot open /dev/hd0d (не  мо-
жет  быть  открыто  устройство  /dev/hd0d)" или похожее на него,
проверьте установлено ли разрешение пользователю на этот  специ-
альный файл устройства. Привелигированный пользователь может из-
менить эти разрешения с помощью команды chmod.  Например, коман-
да:
     chmod 666/dev/hd0d
     устанавливает разрешение на полные чтение и запись для всех
пользователей специального файла устройства "/dev/hd0d", которое
является разделом DOS на основном жестком диске.
________________________________________________________________

                                - 9-15 -
________________________________________________________________
     Организация файловой системы DOS в UNIX системе

     В дополнение к DOS-утилитам обеспеченным описываемой опера-
ционной системой для работы с файлами DOS (описанным в руководс-
тве пользователя),  возможно также организовать файловую систему
DOS и получить свободный доступ к ее файлам во  время работы Ва-
шей системы UNIX.
     Это означает,  что файлы DOS можно редактировать или прове-
рять на месте без предварительного  копирования  их  в  файловую
систему UNIX.  Основным  ограничением  является то,  что файлы и
программные приложения DOS не могут быть выполнены по этому сог-
лашению; это требует использования VP/ix (при работе в Вашей сис-
теме UNIX) или загрузки из раздела DOS.  Однако, текстовые и ин-
формационные файлы  могут быть просмотрены,скопированы или отре-
дактированы.

     Поддержка процесса создания конфигурации для организованных
     файловых систем DOS

     В соответствие с тем как были организованы файловые системы
DOS, поддержка этих средств должна присутствовать и в ядре. Если
это не  так,  Вы  должны первым делом добавить это в Ваше ядро с
помощью команды mkdev(ADM). Удостоверьтесь, что Вы зарегистриро-
ваны как root(основной пользователь), и введите команду:
     mkdev dos
     sysadmsh выбор пользователя: Система-> Конфигурация->
              Ядро-> DOS
     Эта команда добавляет необходимые функциональные возможнос-
ти и  запрашивает  редактирование  ядра. (Если  не установлен
конструктор связей, Вы будете запрошены на его установку). После
перезагрузки, Вы  можете  организовать  файловые системы DOS как
описано в следующем разделе.

     Как организуется доступ в файловые системы DOS

     Операционная система работает  с  файловыми  системами  DOS
посредством наложения  некоторых свойств файловых систем UNIX на
файловые системы DOS.  Файловые  системы  UNIX  являются  высоко
структурированными и работают в многопользовательской среде. Поэ-
тому они имеют многие отличительные черты, которые не имеют зна-
чения при работе в DOS, такие как:

                                - 9-16 -

     * монопольное использование файлов
     * разрешение доступа
     * специальные файлы (такие как каналы,  файлы  устройств  и
       др.)
     * связи данных
________________________________________________________________
Примечание
     Другие прикладные/операционные  системы позволяют организо-
вывать и обращаться к файловым системам DOS  таким  же  образом.
Однако,  большинство из них изменяют файловые системы DOS,  усо-
вершенствуя их.  Не существует соответствующих  модификаций  или
расширений файловой системы DOS, имеющих целью увеличение ее мо-
бильности.  Возможность организации таких файловых систем вполне
успешно  достигается  посредством  переключателя файловых систем
(FSS).
________________________________________________________________
     Для того, чтобы сделать файлы DOS доступными для чтения, на
файловую систему DOS налагаются функции разрешения доступа и мо-
нопольного использования, когда она организуется.

      Использование команды mount

     Команда для  организации файловой системы DOS имеет следую-
щий формат:
     Ъ2mount -r -f DOS /dev/hdxy /mountpoint
     где
     x           номер  жесткого диска
     y           номер раздела диска
     mountpoint  имя каталога в корневой файловой системе, где
                 организуется файловая система DOS.
     Используя команду mount, Вы должны указать определенные но-
мера жесткого диска и раздела (чтобы  предотвратить  несоответс-
твие).

                                - 9-17 -

     Организация  дискеты

     Вы можете  также организовать дискету  DOS,  в следующем
примере используется дискета 96tpi  организованный  в  каталог
/mnt :
     mount -r -f DOS /dev/fd096 /mnt

     Восстановление и проверка файловой системы DOS

     Операционная система содержит версию DOS утилиты fsck(ADM),
которая работает в файловой системе DOS.  Эта утилита согласовы-
вает таблицу FAT (таблицу размещения файлов) DOS с файлами,  на-
ходящимися в файловой системе DOS.  Когда активизирована команда
fsck, автоматически определяет файловую систему DOS и устанавли-
вает соответствующий двоичный код.

     Кто может получить доступ к файловой системе DOS

     Только основной пользователь  может  организовать  файловую
систему. Доступ  пользователей  к файлам устанавливается в соот-
ветствии с требованиями его разрешения и  собственности, которые
основной пользователь накладывает на использование файловой сис-
темы DOS.  Из-за ограничений, описанных ранее, DOS не распознает
разрешение на доступ и собственность на файлы. Файлы DOS, будучи
организованными в системе UNIX,  обладают следующими свойствами:
   * Разрешение на доступ и право собственности на файл устанав-
     ливаются в mount point (специальный указатель, устанавлива-
     емый при загрузке).  Например,  если основной  пользователь
     создает mount point /x c разрешением на доступ 777,  то все
     пользователи имеют доступ на чтение и запись в этой  файло-
     вой  системе.  Если  основной  пользователь  установил mount
     point с правом на собственность, все файлы внутри этой фай-
     ловой системы,  и некоторые другие, созданные другими поль-
     зователями, являются собственностью основного пользователя.
   * Разрешение  на  доступ для регулярных файлов может быть или
     0777 - чтение/запись,  или 0555 - только чтение. Это сохра-
     няет согласованность с файловой системы DOS. Если пользова-
     тель имеет доступ к файловой системе,  то он ограничен раз-
     решением  на  доступ  к  файлам,  установленном в структуре

                               - 9-17a -

     каталога DOS.  Это право может быть - только  чтение  или
     чтение/запись.  Когда файл создан,  то разрешение на доступ
     для него определяется,  исходя из маски пользователя umask,
     который его создает.  Например, допустим, что umask пользо-
     вателя - 022,  тогда файл, сгенерированный этим пользовате-
     лям, будет разрешением на доступ 777. Далее идут примеры:

     Пример 1: Вы создаете файл: Разрешения на доступ базируются
     на секции описания права собственности  маски пользователя.
     Значение  маски пользователя 022 приведет к тому,  что файл
     создастся с разрешением на доступ с маской 777 в этом  раз-
     деле  DOS.  Так как у пользователя не снят размаскированный
     бит на запись.

                                - 9-18 -

     Пример 2:  Вы просматриваете файл, который уже существует в
     разделе DOS.  Как Вы можете увидеть, разрешение на доступ у
     этого  файла  определяется  как логическое "и" разрешения в
     mountpoint UNIX и разрешение этого файла в DOS. Таким обра-
     зом, если mountpoint UNIX - 750, а разрешение файла в DOS -
     555, то разрешение на доступ к файлу будет 550. Таким обра-
     зом, ничего не нужно делать командой umask.
   * Может существовать только один  элемент  link  для  каждого
     файла в файловой системе DOS. "." и ".." - специальный слу-
     чай по этому соглашению и для них  не  существует элементов
     link в отличие от системы UNIX.
   * В системе UNIX,  средства такие  как  блокировка  управляют
     тем,  каким  образом  в конкретных программах и программных
     приложениях осуществляется  доступ  к  файлам  одновременно
     различными пользователями.  Эти средства работают одинаково
     в организованной файловой системе DOS. Два пользователя мо-
     гут  редактировать один и тот же файл и осуществлять запись
     в него так, как разрешено используемым механизмом блокиров-
     ки.

     Просмотр файлов DOS

     Так как содержимое файла не менялось, символ возврат карет-
ки (^M) может быть виден при редактировании файла DOS  в системе
UNIX. (В  системе  UNIX используется только символ новой строки,
тогда как в DOS используется наряду с ним символ возврат  карет-
ки). Для  переключения способа обозначения конца строки применя-
ются команды dtox(C) и xtod(C).  Команда  dtox  применяется  для
приведения формата DOS в формат UNIX, а команда xtod - наоборот.
Эти средства подробно описываются в разделе "Утилиты  доступа  к
файлам DOS" в руководстве пользователя.

     Ограничения

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

     Имена файлов

     Для создания имен файлов и их  преобразования  используются
правила, описанные  руководстве  по  команде  dos  в справочнике
пользователя. Кроме того применяются стандартные ограничения DOS
по неиспользуемым  символам.  Однако,  могут  быть  использованы
специальные символами также как и системе UNIX.

                                - 9-19 -

     Изменение времени

     Когда происходит доступ к файлам DOS из раздела  UNIX,уста-
новка времени создания,  изменения и доступа всегда одинаковая и
при этом используется GMT,  т.е.  среднее время по  гринвичскому
меридиану.  (Система  использует GMT врутренне и преобразует его
для конкретного пользователя).  Это значит, что файлы, созданные
в  файловой  системе DOS под управлением DOS или UNIX,  не будут
иметь совместимое время в этих операционных системах.

     Утилиты создания резервных копий UNIX

     Утилиты backup(ADM) или xbackup(ADM) не могут быть  исполь-
зованы для  создания резервной копии для организованной файловой
системы DOS. Утилиты DOS и другие программы копирования подобные
tar(C) будут работать соответствующим образом.
     Для получения подробной информации, включая технические ас-
пекты использования  DOS,  обратитесь  к  руководству  по dos(C)
справочника пользователя.

                                - 9-20 -
________________________________________________________________
     Операционные системы UNIX и DOS на нестандартных дисках

     Операционная система UNIX обеспечивает  поддержку  "нестан-
дартных" жестких дисков.  Термин "нестандартный" относится к та-
ким дискам, для которых не существует стандартных значений пара-
метров в ROM Вашего компьютера.
     Правильные параметры,    которые    Вы    указываете    для
нестандартного диска(ов),  запоминаются  в  главном  загрузочном
блоке, который  является  первым  сектором  Вашего  загрузочного
жесткого диска.  Вы можете указать характеристики этого жесткого
диска в процессе установки,  и эти  характеристики  затем  будут
считываться оставшейся частью главного загрузочного блока.  Спе-
циальный главный загрузочный блок,  который устанавливается  при
установке UNIX,  переустанавливает  параметры диска на указанные
значения вне зависимости от того, какая операционная система яв-
ляется "активной".  Этот механизм обеспечивает поддержку нестан-
дартных дисков как для UNIX,так и для DOS операционных систем.
     Хотя специальный главный загрузочный блок поддерживает нес-
тандартные диски под DOS, Вы не можете использовать Вашу систему
UNIX, для  того  чтобы установить DOS на Ваш жесткий диск.  Если
используется нестандартный диск, предполагается, что Вы уже име-
ете способ передачи Ваших файлов DOS  на этот жесткий диск.
     Пока Вы не изменили активный раздел,  Вы должны  использо-
вать fdisk  только системы UNIX для управления таблицей разделов
Вашего жесткого диска. Использование fdisk DOS или пользователь-
ских команд  fdisk,  поставляемых производителем жесткого диска,
может сделать  неиспользуемыми   характеристики   нестандартного
жесткого диска,  что может привести к тому,  что Ваш диск нельзя
будет использовать.
     Глава 10

     Ведение учета пользователей
________________________________________________________________

     Введение                                               10-1
     Управление учетом                                      10-3
      Добавление пользователя                               10-3
      Изменение/Назначение прав пользователя                10-8
      Удаление учетной информации пользователя              10-9
      Блокировка учетной информации пользователя            10-9
      Изменение группы пользователей                        10-10
      Изменение пароля пользователя или
            параметров пароля                               10-11a
      Определение/изменение параметров контроля
            пользователя                                    10-13
      Добавление/изменение групп                            10-14
     Конфигурация учета по умолчанию                        10-15
      Выбор сниженной защиты по умолчанию                   10-16
      Динамическое изменение параметров защиты              10-17
      Изменение ограничений входа в систему,
            принятого по умолчанию                          10-17
      Изменение ограничений по паролю,
            принятого по умолчанию                          10-19
      Изменение прав, принимаемых по умолчанию              10-21
      Авторизованные администраторы и привилегированный
            пользователь                                    10-24
      Права для работы с ядром                              10-24
     Управление входом в систему с терминала                10-26
      Просмотр входа терминала                              10-26
      Переопределение ограничений входа в систему           10-27
      Блокировка/разблокировка терминала                    10-28
      Установка базы данных эквивалентных устройств         10-28
     Генерация отчетов                                      10-29
      Отчет по статусу пароля                               10-29
      Отчет по работе терминала                             10-31
      Отчет по входам в систему                             10-32

                                  - 10-1 -
________________________________________________________________
     Введение

     Учет пользователей  помогает  администратору системы сохра-
нять треки пользователей системы  и  управлять  правами  доступа
пользователей к ресурсам системы.  Учетная информация состоит из
уникального имени для входа в систему и пароля для каждого поль-
зователя, с которыми он входит в систему, а также из имени собс-
твенного каталога,  где пользователь может работать. Кроме то-
го,   система   имеет   определенные  значения,  принимаемые  по
умолчанию, которые определяют как долго имеет силу пользователь-
ский пароль, может ли пользователь выбирать свой собственный па-
роль,  как много попыток неправильного ввода имени для  входа  в
систему разрешено до блокировки ввода.
     На администратора  возлагается  деятельность  по   созданию
учетной информации для всех пользователей системы и по поддержке
этой учетной информации - изменение пароля  пользователей, групп
для входа, и пользовательских идентификаторов, когда это необхо-
димо.
     Вы можете также определить число администраторов системы, в
случае нескольких администраторов,  каждый из них будет отвечать
за определенные операции системы, в случае одного - он определя-
ется как основной пользователь и на него возлагаются все аспекты
работы администратора (основной пользователь наделен всеми  пра-
вами  привелигированного  пользователя,  принимаемыми по умолча-
нию).
     В этой главе описываются следующие функции:
   Управление учетом    Добавление, изменение и удаление учетной
   ресурсов             информации пользователей  плюс  создание
                        групп пользователей
   Конфигурация учета   Конфигурация параметров  входа в сис-
   ресурсов  по умол-   тему  и   паролей,   принимаемых   по
   чанию                умолчанию
   Управление входами   Управление входом  в систему с терми-
   в систему с терми-   нала с помощью базовых компонент тер-
   налов                минала
   Генерация отчетов    Генерация отчетов  по входу в систему
                        пользователей, по использованию  тер-
                        миналов пользователями, и статусу па-
                        ролей пользователей
     Важно проверить ограничения по учету,  принимаемые по умол-
чанию,  сразу же после создания учетной информации пользователя.
Эти ограничения обобщены в "Конфигурации учета по умолчанию". Вы
должны определить, удовлетворяют ли эти значения требованиям Ва-
шей системы или нет.

                                  - 10-2 -
________________________________________________________________
Примечание
     Ни при  каких   условиях   Вы   не   должны   редактировать
/etc/passwd текстовым редактором. Это приведет к тому, что отоб-
разится сообщение об ошибке и система больше не  будет принимать
далее запросов на вход в нее. Используйте выбор учетной информа-
ции sysadmsh для изменения  или  добавления  учетной  информации
пользователя.  База данных /etc/passwd помещена в дополнительную
защищенную паролем базу данных,  которая содержит скрытую версию
пароля и другие параметры защиты для каждого пользователя.
________________________________________________________________

                                  - 10-3 -
________________________________________________________________
     Управление учетом использования ресурсов

     Этот раздел описывает процесс создания  учетной  информации
пользователя и управления ей.

     Добавление пользователя

     Вы можете  добавить  пользователя  в  список пользователей,
имеющих право входа в систему, с помощью программы sysadmsh. Эта
программа  создает  новый элемент в базе данных учетной информа-
ции.  После этого база данных будет содержать информацию о новом
пользователе (имя для входа в систему и начальный пароль), кото-
рую система используют  для  предоставления  пользователю  права
войти  в  систему  и начать работу.  Sysadmsh также создает свой
собственный каталог  для каждого пользователя,  почтовый нако-
питель  для  команды mail и некоторый файл инициализации (напри-
мер,  .profile для среды Bourne, или .login для среды С), содер-
жащий  команды  UNIX,  которые  выполняются,  когда пользователь
входит в систему.
     Чтобы создать   учетную   информацию  пользователя  введите
sysadmsh и сделайте следующий выбор:
     Учетная информация-> Пользователь-> Создание
     Отобразится следующий экран:
+--------------------------------------------------------------+
|                                                   Create     |
|                                                  (создание)  |
|  Name of new user (once set, this can not be changed)        |
| (имя нового пользователя (задается один раз,  не может  быть |
|  изменено))                                                  |
|                                                              |
|  /tcb/files/auth                             03/23/89  10:57 |
|                                                              |
| +----------------Make a new user account--------------------+|
| |         (создание новой учетной информации пользователя)  ||
| |                                                           ||
| |Username : [        ]                                      ||
| |(Имя пользователя)                                         ||
| |                                                           ||
| |Comment  : [                                              ]||
| |(Комментарии)                                              ||
| |                                                           ||
| |Modify defaults ?  Yes  [No]                               ||
| |(Изменять значения, принимаемые по умолчанию ?  Да  [Нет]) ||
| +-----------------------------------------------------------+|
+--------------------------------------------------------------+

                                  - 10-4 -

     Осуществите следующую  последовательность  действий,  чтобы
добавить пользователя:
     1. Заполните  поля  имени пользователя и комментариев,  если
        потребуется.
     2. Если Вы хотите изменить значения, принимаемые по умолча-
        нию, выберите "Да" и определите поля как показано в "Из-
        менении значений,  принимаемых по умолчанию, для пользо-
        вателя".  Заполните необходимые  поля;  нажмите  клавишу
         для выбора значений из списка элементов меню. Когда
        Вы нажмете клавишу ,  поле заполнится  значением,
        которое Вы выбрали.
     3. Когда Вы покинете эту форму,  этот экран исчезнет, будет
        запрошено  подтверждение  Вашего  добавления.  Когда  Вы
        подтвердите добавление, на экране появится ряд сообщений
        по созданию нового пользователя, например:
  +-------------------------------------------------------------
  | Созданный собственный каталог: <имя каталога>
  | Созданный файл среды: <имя файла>
  | Почтовый адрес для передачи почты пользователю: <имя>

        Эти сообщения  показывают,  что  все необходимые файлы и
        каталоги созданы. ( Информация по умолчанию берется из
        файла /usr/lib/mkuser).
     4. Последнее  действие  -   создание   начального   пароля.
     Sysadmsh  запрашивает  Вас,  должен ли быть создан новый

        пароль. Если пароль не назначен, то никто не может войти
        с созданной учетной информацией. Выберите "Да" и следуй-
        те действиям процедуры назначения пароля:
  +-------------------------------------------------------------
  | Last succesful password change for user: date
  | (последнее успешное изменение пароля для пользователя: дата)
  | Last unsuccesful password change for auth: NEVER
  | (последнее неуспешное изменение пароля для пользователя:нет)
  |
  |                Choose password
  |               (выберите пароль)
  |  You can choose whether you pick your own passord,
  |  or have the system create one for you.
  |  (Вы можете выбрать,или Вы выбираете свой собственный пароль,
  |   или система сама создает его для Вас)
  |    1. Pick your own password(Выбираете сами свой пароль)
  |    2. Pronounceable password will be generated for you
  |       (Будет сгенерирован удобный пароль для Вас)
  |  Enter choice (default is 1):
  |  (Сделайте выбор(по умолчанию 1):)

                                  - 10-4a -

     5. Если  Вы выберите 1 ,  Вы будете опрошены на ввод пароля
        дважды:
  +-------------------------------------------------------------
  |    Password:
  |    (пароль)
  |
  |    Re-enter password:
  |    (Введите пароль еще один раз)

        Заметим, что пароль не отображается на экране,  когда Вы
        его набираете.

                                  - 10-5 -

     6. Если Вы выбираете "g",  на экране  появляется  следующая
        информация:
+---------------------------------------------------------------
|    Генерация случайного удобного пароля для пользователя.
|    Этот пароль вместе со своей дополнительной  версией,  напи-
|    санной через дефис, отображены на экране.
|    Нажимайте  или   пока  Вас  не  удовлетворит
|    сгенерированный пароль.
|    Когда Вы выберите пароль, который Вы хотите, наберите его.
|    Примечание: Нажмите  символ прерывания или 'quit' для прек-
|    ращения выбора.
|
|Пароль: xxxxxxxx Разбивка по слогам: xx-xx-xx Введите  пароль:
|
     Сгенерированный пароль отображается со своей версией, напи-
санной по  слогам  через  дефис.  Написанная  через дефис версия
пароля генерируется, чтобы помочь пользователю запомнить его.

     7. Присвойте новый пароль пользователю,  советуя ему  изме-
        нить этот пароль сразу после входа в систему.

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

     Изменение значений параметров пользователя,  принимаемых по
     умолчанию

     Для большинства  пользователей надо просто выбрать Identity
и определить значения, эти значения показаны ниже. Другие значе-
ния (ревизионный параметр, имя для входа в систему, пароль, пра-
ва) являются объектами системного подчинения  и  принимаются  по
умолчанию системой. Вы не должны выбирать эти значения без необ-
ходимости определить специфические возможности  пользователя или
ограничения.
     Значения, принимаемые по умолчанию сведены в следующую фор-
му:

                                  - 10-6 -

+--------------------------------------------------------------+
|                                                      Create  |
|                                                    (создание)|
|    Use the system default login group                        |
|   (Использование системной принятой по умолчанию группы      |
|    входов в систему)                                         |
|    7 dec 88 17:51                              /usr/auth     |
|+-----------------Make a new user account--------------------+|
||    (создание новой учетной информации пользователя)        ||
||                                                            ||
||+------------- New user account parameters ----------------+||
|||     (новые параметры учетной информации пользователя)    |||
|||                                                          |||
|||  Login group:    Specify [Default] of value,             |||
||| (группа входа     for list:                          |||
|||   в систему) (Укажите значение, значение по умолчанию,   |||
|||               или   для получения спиcка:)           |||
|||   Groups:         [...                      ]            |||
|||  (группы)                                                |||
|||  Login shell:    Specify [Default] of sh value,          |||
|||  (среда для        for list:                         |||
|||   входа)         (Укажите значения среды, по умолчанию sh,||
|||                   для получения списка:)             |||
|||  Home directory: Specify [Default] of /usr/sample value, |||
||| (собственный      for list:                          |||
|||  каталог)       (Укажите имя, по умолчанию /usr/sample,  |||
|||                  для получения списка:)              |||
|||  User ID number: Specify [Default] of 200 value:         |||
||| (номер идентифи-   (Укажите значение, по умолчанию 200)  |||
|||  катора пользова-                                        |||
|||  теля)                                                   |||
|||  CPU priority:   Specify [Default] of 0 value:           |||
||| (приоритет при    (Укажите значение, по умолчанию   0)   |||
|||  работе с про-                                           |||
|||  цессором)                                               |||
|||  Type of user:  Specify [Default] of individual value,   |||
||| (тип пользова-   for list:                           |||
|||  теля)         (Укажите значение, по умолчанию - индивидуум|
|||                 для получения списка:)               |||
|||                                                          |||
|||  Account that may su(C) tо this user:                    |||
|||  (Учетная информация может быть su(c) для этого          |||
|++   пользователя).                                         ++|
+-+                                                          +-+
  +----------------------------------------------------------+

                                  - 10-6a -

     Вначале курсор установлен на поле "Login group(группа входа
в систему)".  Некоторые отображаемые поля могут быть модифициро-
ваны  только  в  момент создания - в режиме Modify (Изменения),
эти поля являются информационными; их значение нельзя менять.

   Login group (группа входа в систему)
     Группа связанная с конкретной учетной информацией,  с кото-
     рыми  пользователь  входит в систему.  Это поле можно изме-
     нять,  но оно может и быть пустым.  Оно станет полем группы
     для конкретного пользователя в /etc/pesswd. Нажатие клавиши
      приводит к отображению списка меню из  существующих  в
     настоящее время в системе групп.  Заметим, что это приведет
     к потере предыдущего значения этого поля,  даже если ничего
     не выбрано из меню.
     Если пользователь в настоящее время не является членом выб-
     ранной группы, то пользователь будет добавлен в эту группу
     и на экране в поле "Группа" появится конкретное значение.
     Пользователь не может быть удален из уже существующей груп-
     пы;  удаляя пользователя из  группы,  администратор  должен
     удалить  эту группу из поля "Группа".  Когда выбрано первое
     имя группы,  открывается другое окно в середине экрана; это
     окно остается открытым, таким образом можно ввести несколь-
     ко групп. Для каждой несуществующей группы отображается вы-
     деленный прямоугольник, что запрашивает создание этой груп-
     пы.  Когда Вы закончите ввод групп,  нажмите  чтобы
     переместиться дальше.

                                  - 10-7 -

   Groups (группы)
     Список групп,  членами  которых является пользователь;  это
     поле не является заполняемым.  В нем отображаются  дополни-
     тельные  группы,  введенные в окне,  открытом полем "Группа
     входа".
   Login shell (cреда входа)
     Cреда, которую использует пользователь.  (Значение по умол-
     чанию определено как /etc/default/authsh). Если указан пол-
     ный путь ("bin/sh"),  то среда, описанная этим путем просто
     используется как среда входа в систему пользователя. Однако,
     если среда указана не как путь (как  "sh")  то  принимается
     имя "предварительно определенной среды",  среды, определен-
     ной в подкаталоге каталога  /usr/lib/mkuser.  Выбор пред-
     варительно  определенной  среды приводит к копированию фай-
     лов,  связанных со средой (например:  .profile для "sh"), в
     собственный  пользовательский  каталог,  когда создается
     учетной информации этого пользователя.
   Home directory (собственный каталог)
     Это поле определяет,  где будут размещаться файлы пользова-
     теля.  Нажмите  для того, чтобы получить место располо-
     жение файлов по умолчанию.
   User ID (идентификатор пользователя)
     Определяется системой. (Однажды установленная идентификация
     пользователя не может быть изменена,  иначе это спутает ве-
     дение контроля).  Это поле отображается только с информаци-
     онной целью.
   CPU priority (приоритет для работы процессора)
     Распределение процессора:  0 - по умолчанию, значение мень-
     шее 0 - больший приоритет.  Это значение отрицательное. Оно
     соответствует  значению  nice(C);  для  получения детальной
     смотрите руководство по этому значению.  Это поле может из-
     меняться, но не может быть пустым. Приоритет может быть из-
     менен для того чтобы  наказать  пользователей,  запускающих
     программы, которые используют чрезмерно время процессора.
   Type of user (тип пользователя)
     В большинстве случаев, это или "individual(индивидуум)" или
     "pseudo-user(псевдо-пользователь)". По умолчанию принимает-
     ся individual.  Пользователь с таким типом - реальный поль-
     зователь с конкретным именем.  Псевдо-пользователь не имеет
     имени  и  имеет  учетной  информации подобные mmdf.  Каждый
     псевдо-пользователь должен иметь "ответственного пользовате-
     ля", который ответственен по этой учетной информации.

                                  - 10-7a -

   Account that may su(C) to this user (учетная информация может
   быть su(c) для этого пользователя).
     Пользователь ответственный по этой учетной  информации. Это
     поле может быть изменено, только в том случае, если пользо-
     ватель имеет тип отличный от individual. Для пользователя с
     типом  individual  это  поле пустое,  но для пользователя с
     другим типом оно может и не быть пустым.  Это поле содержит
     имя  пользователя  с индивидуальной учетной информацией (не
     удаленной). Например основной пользователь должен иметь имя
     пользователя,  который отвечает по этой учетной информации.
     Это значит,  что учетная информация не должна быть  аноним-
     ной; каждый  комплект  учетной информации должен определять
     реальную личность.  Нажмите  чтобы получить список меню
     всех индивидуальных пользователей системы.

                                  - 10-8 -

     Добавление администраторов

     Кроме стандартной информации Identity, пользователям, кото-
рые работают как администраторы печати,  по учету и  др.,  может
быть назначена ответственность с помощью выбора Privileges.  Под-
системы обсуждаемые в разделе "Изменение прав, принятых по умол-
чанию" и назначающие права обсуждаются в следующем разделе.

     Изменение/назначение прав пользователей

     Подсистема назначения прав обсуждалась ранее в разделе "Из-
менение прав,  принимаемых по умолчанию" и в большей степени - в
главе "Поддержка защиты системы". Права поддерживаются для того,
чтобы быть присвоенными пользователям, на которых возложена мис-
сия администратора  некоторой подсистемы.  Для назначения нового
права некоторому пользователю, выберите:

     Права-> Пользователь-> Проверка:Привилегии

     после этого отобразится на экране следующая форма:
 +-------------------------------------------------------------+
 |                                               Authorizations|
 |                                                (права)      |
 |   Use default kernel autorizations                          |
 |   (используется права ядра, принимаемые по умолчанию)       |
 |   7 Dec 88  17:51                             /usr/auth     |
 |+-----------View/modify an existing user account------------+|
 ||(просмотр/изменение существующей учетной информации пользователя)
 ||+-------------------- Authorizations ---------------------+||
 |||                       (права)                           |||
 ||| Username : sample                                       |||
 ||| (имя пользователя)                                      |||
 ||| Kernel   : Specify  Default  authorizations: [...      ]|||
 ||| (ядро      указать по умолчанию  права)                 |||
 ||| Subsystem: Specify  Default  authorizations: [...      ]|||
 |||(подсистема указать по умолчанию  права)                 |||
 |||                                                         |||
 |||         When specifying authorizations                  |||
 |||          will list thos which may                   |||
 |||         be selected                                     |||
 |||      (Когда указываете права нажатие клавиши        |||
 |||       приведет к отображению меню пользователей,        |||
 ++|       которые могут быть выбраны)                       |++
  ++                                                         ++
   +---------------------------------------------------------+

                                  - 10-9 -

     Вы можете  выбрать "указать" и нажать  для того,  чтобы
открыть окно со списком доступных прав

________________________________________________________________
Примечание
     Если Вы перейдете с элемента по умолчанию на указание, зна-
чения, принимаемые по умолчанию разрушатся для этого пользовате-
ля;  и только права, которые Вы укажите, станут действительными.
________________________________________________________________

     Удаление учетной информации пользователя

     На самом деле,  пользователь никогда не удаляется из систе-
мы. Некоторый идентификатор однажды назначенный никогда не может
использоваться   снова.  Вместо  этого,пользователю  назначается
"удаленный", или пользователь удаляется из обслуживания. Для то-
го, чтобы вычеркнуть учетную информацию пользователя, осуществи-
те следующий выбор в sysadmsh:
     Учетная информация-> Пользователь-> Удаление
________________________________________________________________
Примечание
     Удаленную учетную информацию никогда  нельзя активизировать
заново. Это удаление постоянно.
________________________________________________________________

     Блокировка/разблокировка учетной информации пользователя

     Администратор может заблокировать по своему усмотрению  не-
которую учетную информацию. Кроме того, некоторая учетная инфор-
мация могут быть автоматически заблокированы при превышении  па-
раметров   входа   в  систему  (смотри  "Конфигурация  учета  по
умолчанию"). Если пользователь или терминал заблокированы, толь-
ко администратор может их разблокировать.  Некоторая учетная ин-
формация может быть заблокирована или  разблокирована  следующим
выбором из sysadmsh:
     Учетная информация-> Пользователь-> Проверка:Входы в систему
     На экране отобразится следующая форма:

                                  - 10-10 -

+-----------------------------------------------------------------+
|                                               Logins            |
|                                             (Входы в систему)   |
|  Use the system default limit on unsuccessful login attempt     |
| (используйте системные ограничения, принимаемые по умолчанию,   |
|  при неудачной попытке назначения входов в систему)             |
|                                                                 |
|   +-----View/modify an existing user account-----------+        |
|   |(просмотр/изменение существующей учетная информации |        |
|   |     пользователя)                                  |        |
|+--+----------Login history and locks-------------------+-------+|
||    (История назнaчения входов в систему и блокировка)         ||
||                                                               ||
|| Username            : sample                                  ||
||(имя пользователя)                                             ||
|| Last login attempt       Location      Date/time              ||
||(последняя попытка       (место-        (дата и                ||
|| входа в систему )        положение)     время)                ||
||                                                               ||
||     successful      :    tty01    Thu 3 jan 1989 08:22: 6 AM  ||
||    (успешная)                                                 ||
||   unsuccessful      :    tty2b    Mon 7 jan 1989 02:12: 9 AM  ||
||  (неуспешная)                                                 ||
|| Last logout         :    tty2b    Mon 7 jan 1989 03:19:24 AM  ||
||(последний выход                                               ||
|| из системы)                                                   ||
||                                                               ||
|| Number of  unsuccessful   login   attempts   since   last     ||
|| successful login: 1(Число неуспешных попыток войти в сис-     ||
|| тему с последнего успешного входа)                            ||
|| Maximum number of unsuccessful attempts before account is     ||
|| locked  (Максимальное количество неудачных попыток до то-     ||
|| го, как они будут заблокированы)                              ||
||            Specify    Default of 6    Value :                 ||
||           (укажите)  (по умолчанию   (значение)               ||
||                           6)                                  ||
|| Account locked : NO LOCKS                                     ||
||(Блокировка  учетной информации : не заблокирована)            ||
||                                                               ||
||Lock status[No change] Apply administrative lock Clear all lock||
||(статус               (применение административ- (общая разбло-||
||блокировки)            ной блокировки)            кировка)     ||
|+---------------------------------------------------------------+|
+-----------------------------------------------------------------+

                                  - 10-10a -

     Переместитесь вниз на поле "статус блокировки" и переключи-
тесь на применение административной блокировки или общая разбло-
кировка как потребуется.

     Изменение групп пользователей

     Для изменения группы входов в систему пользователей,  выбе-
рите:

     Учет-> Пользователь-> Просмотр:Идентификация

     На экране отобразится следующая форма:

                                  - 10-11 -

+--------------------------------------------------------------+
|                                                    Examine   |
|                                                   (просмотр) |
|Group associated with this account when the user  logs in     |
|(  for list) (Группа соответствующая этой учетной ин-     |
|формации,  когда пользователь вошел в систему  (  для     |
|получения списка))                                            |
|  +--------View/Modify an existing user account-------+       |
|  |(Просмотр/Изменение существующей учетной информации|       |
|  |пользователя)                                      |       |
|+-+----------------------Identity---------------------+------+|
||                    (Идентификация)                         ||
|| Username : sample                                          ||
||(имя пользователя)                                          ||
|| User ID  : 246      Type of user : Individual              ||
||(идентификатор      (Тип пользователя  Индивидуум)          ||
|| пользователя)                                              ||
|| Account that may su(C) to this user: NONE                  ||
||(Учетная информация,  которая  может  быть  su(C)  для этого||
|| пользователя)                                              ||
|| Login group   : [pub]                                      ||
||(группа входа в систему)                                    ||
|| Groups        : [adm]                                      ||
||(группы)                                                    ||
|| Login shell   : [/bin/sh]                                  ||
||(среда входа в систему)                                     ||
|| Home directory: [/usr/sample]                              ||
||(собственный каталог)                                       ||
|| Comment       : [Sample]                                   ||
||(комментарии)                                               ||
|| Priority      : Specify      [Default] of 0       Value:   ||
||(приоритет)     (указать)    (по умолчанию)      (значение) ||
|+------------------------------------------------------------+|
+--------------------------------------------------------------+
     Установите курсор  на поле,  которое Вы должны заполнить (в
этом случае - имя пользователя) до выбора клавиши Identity.  За-
тем Вы можете изменять поле группы входа в систему как Вам необ-
ходимо.

                                  - 10-11a -

     Изменение пароля пользователя или параметров пароля

     Администратор может изменить пароль пользователя в  некото-
рый  момент  времени.  Параметры генерации параметров могут быть
также изменены на индивидуальной основе,  как только  они  могут
быть расширением системы. Это определяет как должен быть изменен
пароль. Для того, чтобы это сделать, выберите:

     Учетные характеристики-> Пользователь-> Просмотр:Пароль

     На экране отобразится следующая форма:

                                  - 10-12 -

+-------------------------------------------------------------+
|                                                  Password   |
|                                                  (пароль)   |
|   Use the system default maximum password  length for       |
|   this  user  (Используйте максимальную длину пароля,       |
|   принимаемую по умолчанию, для этого пользователя)         |
|  10 Dec 88 19:33                              /usr/auth     |
|  +-------View/modify an existing user accounts--------+     |
|  |(просмотр/изменение существующей учетной информации |     |
|  |пользователя)                                       |     |
|+-+-----------------password selection-----------------+----+|
||                     (выбор пароля)                        ||
|| Username:  sample                                         ||
||(имя пользователя)                                         ||
|| Maximum password length: Specify  [Default] of 10  Value: ||
||(максимальная длины      (указать) (по умолчанию  (значение||
|| пароля)                            10)                    ||
|| User can run generator :   Yes    No    [Default] of Yes  ||
||(Может пользователь        (Да)  (Нет)  (по умолчанию Да)  ||
|| запустить генератор)                                      ||
|| User can choose own    :   Yes    No    [Default] of No   ||
||(Может ли пользователь     (Да)  (Нет)  (по умолчанию Нет) ||
|| выбирать сам)                                             ||
|| Checked for obviousness:   Yes    No    [Default] of Yes  ||
||(Проверка на нетpивиаль-   (Да)  (Нет)  (по умолчанию Да)  ||
|| ность)                                                    ||
|| Current password status:  [Keep]   Change   Disable       ||
||(Текущий статус пароля) (сохранить)(изменить)(недоступен)  ||
|+-----------------------------------------------------------+|
+-------------------------------------------------------------+
     Полное описание параметров пароля Вы можете найти в разделе
"Изменение ограничений по паролю, принимаемых по умолчанию".
     Вы можете изменить пароль пользователя,  выбрав "Изменение"
в текущем статусе пароля.  Это активизирует процедуру  изменения
пароля, описанную в конце раздела "Добавление нового пользовате-
ля".
     Вы можете также сделать "недоступным" пароль,  что на самом
деле заблокирует пользователя.

   Изменение параметров завершения действия пароля пользователя

     Иногда полезно  определить параметр завершения действия для
пользователя на значение отличное от значения,  принимаемое сис-
темой по умолчанию. Для того, чтобы это сделать, выберите:
     Учетная информация->   Пользователь->   Просмотр:Завершение
действия
     На экране отобразится следующая форма:

                                  - 10-13 -

+----------------------------------------------------------------+
|                                                 Expiration     |
|                                         (Завершение действия)  |
|     Use the system default  minimum  password  lifetime        |
|     (Используйте  минимальное время существования паро-        |
|     ля, устанавливаемое системой по умолчанию)                 |
|   10 Dec 88   19:33                                 /usr/auth  |
|       +-----View/Modify an existing user account-----+         |
|       | (просмотр/модификация существующей учетной   |         |
|       |  информации пользователя)                    |         |
|+------+-----------Password life and death------------+--------+|
||     (Время действия пароля и завершение его действия)        ||
||  Username               : Sample                             ||
|| (имя пользователя)                                           ||
||  Last password change     Date/Time                          ||
|| (последнее изменение пароля  Дата/Время)                     ||
||  successful               Wed  Feb 22 09:27:29 1989          ||
|| (успешное)                                                   ||
||  unsuccessful             NEVER                              ||
|| (неуспешное)                                                 ||
||Maximum days between changes:Specify [Default] of None Value: ||
||(максимальное число дней    (укажите)(по умолчанию (значение:)||
||между изменениями )                       Нет)                ||
||Expiration time (days)      :Specify [Default] of 20   Value: ||
||(время действия пароля)     (укажите)(по умолчанию (значение:)||
||                                          20)                 ||
||Lifetime (days)             :Specify [Default] of 26   Value: ||
||(время существования)       (укажите)(по умолчанию (значение:)||
||                                          26)                 ||
|+--------------------------------------------------------------+|
+----------------------------------------------------------------+
     Описатели параметра идентичны описателям в разделе по изме-
нению параметров  пароля при системном расширении "Изменение ог-
раничений на пароль, принятых по умолчанию".

     Определение/изменение контрольного параметра для  пользова-
     теля

     Вы можете определить контрольный параметр для  индивидуаль-
ных пользователей также как параметр расширения системы. Некото-
рая установка определенная для пользователя перекрывает  систем-
ные  значения  принимаемые  по  умолчанию.  Для  определения или
изменения параметров контроля, выберите:
     Учетная информация-> Пользователь-> Просмотр:Контроль

                                  - 10-14 -

+----------------------------------------------------------------------+
|                                                       Audit          |
|                                                     (контpоль)       |
|    System startup  (boots)  and shutdown (Запуск и за-               |
|    веpшение pаботы системы)                                          |
| 7 Dec 88   18:43                                  /usr/auth          |
|   +--------View/Modify an existing user account-------+              |
|   |(Просмотр/редактирование существующей  учетной  ин-|              |
|   |формации пользователя)                             |              |
|+--+-------------------Audites events------------------+-------------+|
||              (События, подлежащие контролю)                        ||
||Username: sample                                                    ||
||(имя пользователя)                                                  ||
||A.Startup/shutdown       [Default] B.Login/Logoff          [Default]||
|| (загрузка/завеpшение)               (вход/выход)                   ||
||C.Process Create/Delete  [Default] D.Make Object Available [Default]||
|| (создание/удаление процесса)        (сделать объект доступным)     ||
||E.Map Object to Subject  [Default] F.Object Modification   [Default]||
|| (перевести объект в субъект)        (изменение объекта)            ||
||G.Make Object Unavailable[Default] H.Object Creation       [Default]||
|| (сделать объект недоступным)        (создание объекта)             ||
||I.Object Deletion        [Default] J.DAC changes           [Default]||
|| (удаление объекта)                 (изменение DAC)                 ||
||K.DAC Denials            [Default] L.Admin/Operator Actions[Default]||
|| (отказ от DAC                    (функции администратора/оператора)||
||M.Insufficient Privilege [Default] N.Resource Denials      [Default]||
|| (недостаточные привилегии)          (отказ от ресурса)             ||
||O.IPC Functions          [Default] P.Process Modification  [Default]||
|| (функции IPC)                      (изменение процесса)            ||
||Q.Audit Subsystem Events [Default] R.Database Events       [Default]||
|| (события подсистемы контроля)     (события обращения к базе данных)||
||S.Subsystem Events       [Default] T.Use of Privilege      [Default]||
|| (события подсистемы)                (использование привилегии)     ||
|+--------------------------------------------------------------------+|
+----------------------------------------------------------------------+
     Детальное описание событий, подлежащих контролю, можно най-
ти в разделе "Использование подсистемы контроля" главы "Поддерж-
ка системной защиты" этого руководства.
     Существует три способа установки  "Default(по  умолчанию)",
"Always(всегда)" и "Never(никогда)". Вы можете использовать кла-
вишу  для выбора из списка значений или сами  набрать  вруч-
ную. Аббревиатура также распознается системой (например, "n","nev"
и "N" распознается как NEVER). Для того, чтобы выполнить это наз-
начение,  нажмите x. (Если Вы заполните последнее поле этой
формы,  назначения,  указанной в ней автоматически выполнятся).

                                  - 10-14a -

     Добавление/изменение групп

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

     Изменение максимального числа групп

     По умолчанию, максимальное число групп, в которые объединя-
ются пользователи,-  8.Это число управляется настраиваемым пара-
метром ядра  NGROUPS.   Это   значение   может   быть   изменено
активизацией configure и выбором третьей категории:  "Файлы, ин-
дексные дескрипторы файлов и файловая система" и изменением этого
значения.  Ядро должно быть отредактировано для того, чтобы новое
значение этого параметра имело эффект. Для получения полной инст-
рукции обратитесь к разделу  "Перераспределение ресурсов ядра с
помощью configure" в главе "Настройка работы системы" этого руко-
водства.

                                  - 10-15 -
________________________________________________________________
     Конфигурация защиты по умолчанию

     Этот раздел  посвящен вопросу как выбрать системную защиту,
параметры которой приняты по умолчанию,  что включает в себя
принятые по умолчанию схемы пароля, права на обращение к подсис-
темам и число попыток входа в систему, разрешенных пользователю.
     Поставка Вашей  операционной системы приходит к Вам с пред-
варительной конфигурацией,  которая включает в себя набор прини-
маемых по  умолчанию значений,  который определяет схему защиты,
используемую для организации учета.  Таблица  10.1  содержит  эти
значения, плюс значения определяющие "Relaxed (ослабленную)" за-
щиту (совместимую с другими,  менее защищенными UNIX системами),
которые могут быть выбраны как описано в "Выборе значений ослаб-
ленной защиты, принимаемых по умолчанию":

                              - 10-15a -

                          Таблица 10.1
     Системные параметры защиты, принимаемые по умолчанию.
+-----------------------------+---------------+----------------+
|    Параметры защиты         |    Relaxed    |       C2       |
Ф=============================Ь===============Ь================Э
| Пароли                      |               |                |
+-----------------------------+---------------+----------------+
| Минимальное число дней меж- |     0         |     14         |
| ду изменениями              |               |                |
| Время действия (дней)       |     0         |     42         |
| Время существования         |     0         |    365         |
| Максимальная длина пароля   |     8         |     10         |
+-----------------------------+---------------+----------------+
| Пользователь может   запус- |    Yes        |     Yes        |
| кать генератор              |               |                |
| Пользователь может выбирать |    Yes        |     Yes        |
| сам                         |               |                |
| Проверка пароля   на  неяв- |     No        |      No        |
| ность                       |               |                |
| Требуется один    пользова- |    Yes        |     Yes        |
| тельский пароль             |               |                |
Ф=============================Ь===============Ь================Э
| Входы в систему             |               |                |
+-----------------------------+---------------+----------------+
| Максимальное число  неудач- |    99         |       5        |
| ных попыток                 |               |                |
| Задержка между    попытками |     0         |       2        |
| входа                       |               |                |
|                             |               |                |
Ф=============================Ь===============Ь================Э
| Типы контролируемых событий |               | A,B,F,H,I,J,K, |
|                             |               | L,M,N,Q,R,S,T *|
Ф=============================О===============О================Э
| Права                                                        |
+-----------------------------+---------------+----------------+
| По подсистемам              | queryspace,   |  queryspace,   |
|                             | printerstat,  |  printerstat,  |
|                             | printqueue,   |  printqueue    |
|                             | su,mem,       |                |
|                             | terminal      |                |
+-----------------------------+---------------+----------------+
| По ядру                     | execsuid,     |  execsuid,     |
|                             | chmodsuguid,  |  chown,        |
|                             | chown,        |  nopromain     |
|                             | nopromain     |                |
+-----------------------------+---------------+----------------+
* Типы событий описаны в главе  "Поддержка системной защиты

                                  - 10-16 -

     Выбор значений  параметров ослабленной защиты,  принимаемых
     по умолчанию.

     Значения параметров  защиты  уровня  "С2",  принимаемые  по
умолчанию, автоматически устанавливаются во время установки. Ес-
ли Вы хотите понизить уровень Вашей системы для функционирования
ее как  отличной от других систем UNIX,  Вы можете это сделать с
помощью выбора в среде команды sysadmsh:
     Система-> Конфигурация-> Защита-> Снижение
     Это предоставит Вам возможность выбора альтернативного  на-
бора значений параметров, определяющих политику защиты, совмес-
тимую с менее надежными системами UNIX (см. таблицу 10.1). Когда
Вы сделаете этот выбор,  на экране появится следующее предупреж-
дение:
+--------------------------------------------------------------+
|                                                       Relax  |
|                                                    (снижение)|
|     Do not  change  the  current  level of security (Не      |
|     изменяйте текущий уровень защиты)                        |
|    /tcb/files/auth                            03/23/89 10:57 |
|   +------------------Configure default---------------------+ |
|   |             (конфигурация значений по умолчанию)       | |
|   |                                                        | |
|   | This options   will   change   the  system  default    | |
|   | authorizations for users to so that the system will    | |
|   | behave  in  a similar manner to a conventional UNIX    | |
|   | system.  It will also  disable  auditing  of  users    | |
|   | actions.(Этa опция изменит системные права по умол-    | |
|   | чанию для пользователей так,  что система будет ра-    | |
|   | ботать  в отличном режиме от обычного системы UNIX.    | |
|   | Это также приведет к тому,  что контроль по учетной    | |
|   | информации пользователей станет недоступным).          | |
|   | It may nоt be  possible  to  reliably  restore  the    | |
|   | current  level of system integrity at a later time.    | |
|   | (Достоверно восстановить  текущий  уровень  системы    | |
|   | позже не будет представляться возможным).              | |
|   |                                                        | |
|   |Are you absolutely sure you wish to do this? Yes [No]   | |
|   |(Вы абсолютно уверены в том,  что Вы хотите это сделать?| |
|   | Да [Нет])                                              | |
|   +--------------------------------------------------------+ |
+--------------------------------------------------------------+

                                  - 10-16a -

     Если Вы сделаете некоторые изменения в значениях параметров
защиты, принимаемых по умолчанию, то получите следующее дополни-
тельное предупреждение:
     +---------------------------------------------------+
     |The default  file  has  changed  since installation|
     |(Файл значений по умолчанию изменен по отношении ко|
     |времени установки)                                 |
     |Previous changes will be lost (Предыдущие изменения|
     |будут потеряны)                                    |
     |                                                   |
     |Press   to  continue,  or  to abort|
     |(Нажмите  для продолжения, или  для|
     |прерывания )                                       |
     +---------------------------------------------------+

                                  - 10-17 -

     Динамическое изменение параметров защиты

     Системные параметры учета доступны при следующем  выборе  в
     среде sysadmsh:
     Учет-> Значения по умолчанию
     Будут отображены следующие параметры учета:
     * Пароль
     * Входы в систему
     * Права
     Системные параметры защиты управляют тем,  как пользователи
входят в систему и, когда они устанавливают сессию, и как систе-
ма  предоставляет им терминал и авторизованную среду.  Здесь об-
суждается каждый параметр,  который Вы можете изменить в  интер-
фейсе команды sysadmsh.  Другие параметры, используемые с тем же
эффектом на работу системы, будут обсуждены дальше.
     Вы должны  использовать  системные функции для того,  чтобы
определить Ваши собственные значения,  принимаемые по умолчанию,
определяющие  поведение системы.  Затем используйте специфические
пользовательские функции для того,  чтобы  установить  поведение
системы для  некоторых  пользователей с различными требованиями.
Как Вы можете предполагать,  пользовательские специфические зна-
чения перекрывают системные значения,  принимаемые по умолчанию,
для некоторого данного пользователя.

     Изменение ограничений по входу в  систему,  принимаемыx  по
     умолчанию

     Большинство параметров,  которые  могут быть установлены по
умолчанию системой,  определяют как  система  создает  начальную
сессию. Это включает особенности входа в систему,  и как генери-
руется и используется пароль.  Параметры входа в систему опреде-
ляют особенности    учета    и   блокировки   терминала.   Когда
пользователь входит в систему,  он должен указать имя для входа в
систему и пароль.  Кроме того, пользователь может делать ограни-
ченное число попыток входа в систему.  Для каждой учетной инфор-
мации пользователя и терминала существует счетчик неуспешных по-
пыток входа,  который  накапливается  до   того,   как   учетная
информация или терминал будет заблокирован.  Если это число пре-
вышено, пользователь или терминал будут заблокированы против но-

                                 - 10-17a -

вых попыток входа в систему.  Это средство предотвращает попытки
проникновения с помощью ограничения числа раз, которое несанкци-
онированный пользователь  (или  компьютер  запрограммирован  не-
санкционированным пользователем)  может  пытаться  прорваться  в
систему.
     Доступ к параметрам ограничений входов в систему может быть
совершен следующим выбором в среде команды sysadmsh:
     Учетная информация->  Значения  принимаемые  по умолчанию->
     Входы в систему

                                  - 10-18 -

     На экране отобразится следующая форма:
+---------------------------------------------------------------+
|                                                 Logins        |
|                                            (входы в систему)  |
|                                                               |
|   Allowed consecutive failed  login  attempts  before         |
|   account is locked (Разрешенные последовательно осу-         |
|   ществляемые ошибочные попытки входа  в  систему  до         |
|   блокировки учетной информации)                              |
|  /tcb/files/auth                            03/23/89 10:57    |
|+-------------------Login restriction-------------------------+|
||            (ограничение входа в систему)                    ||
||                                                             ||
||  Maximum number   of  unsuccessful  attempts  before        ||
||  locking ... (максимальное число попыток до блокиро-        ||
||  вания)                                                     ||
||                             ... user account :  [10]        ||
||                     (учетной информации пользователя)       ||
||                             ... terminal     :  [10]        ||
||                             (терминала)                     ||
||                                                             ||
||Delay (in  seconds)  between login attempts on a terminal:[2]||
||(задержка в секундах между попытками входа с терминала)      ||
|| CPU sheduling priority after successful login           :[0]||
||(приоритет использования процессора после успешного входа в  ||
|| систему)                                                    ||
|+-------------------------------------------------------------+|
+---------------------------------------------------------------+
     Указанные параметры имеют следующее назначение:
     Maximum number of unsuccessful attempts before locking
           Означает число,  принимаемое системой  по  умолчанию,
           неудачных  попыток  разрешенных  для  пользователей и
           терминалов. Если для отдельного пользователя или тер-
           минала  требуется  или  более  или менее ограниченное
           число, могут быть изменены учетная информация пользо-
           вателя  или  конфигурация терминала (см.  "Управление
           входами в систему с терминала"), с перекрытием значе-
           ний принимаемых системой.

                                  - 10-18a -

    Delay (in  seconds)  between login attempts on a terminal
           Этот параметр  управляет промежутком времени, которое
           должно проходить между неудачными попытками  входа  в
           систему. Для  дальнейшего уменьшения возможности про-
           никновения в систему,  система делает  временную  за-
           держку между попытками входа в систему,  чтобы увели-
           чить промежуток  времени,  требуемый  для   повторной
           попытки войти в систему. Вы можете увеличить этот па-
           раметр для того,  чтобы управлять времени выдачи ожи-
           дания login:. С помощью об'единения этого параметра с
           параметром неуспешных попыток пользователя и термина-
           ла, Вы  можете предотвратить попытки повторного ввода
           пароля на конкретной (или на нескольких) терминальных
           линиях.

                                  - 10-19 -

     CPU sheduling priority after successful login
           Этот параметр устанавливает значение nice(C) связыва-
           емое с пользовательскими процессами.

     Изменение ограничений по паролям, принимаемым по умолчанию

     Параметры ограничений по паролю станут доступны после  сле-
дующего выбора в среде sysadmsh:
     Учетная информация-> Значения по умолчанию-> Пароль
     Отобразится следующий экран:
 +------------------------------------------------------+
 |                                              Password|
 |                                              (пароль)|
 |Minimum number of days which  must  elapse  between   |
 |password  changes(минимальное  число дней,  которое   |
 |должно пройти между изменениями пароля)               |
 |/tcd/files/auth                       03/23/89   10:57|
 |     +-----------Password selection-------------+     |
 |     |             (Выбор пароля)               |     |
 |     |Minimum days between changes  :[14]       |     |
 |     |(минимальное число дней между изменениями)|     |
 |     |Expiration time               :[182     ] |     |
 |     |(время действия)                          |     |
 |     |Lifetime                      :[364     ] |     |
 |     |(время существования)                     |     |
 |     |Maximum password length       :[ 10]      |     |
 |     |(максимальная длина пароля)               |     |
 |     |User can run generator        :[Yes]  No  |     |
 |     |(пользователь может запускать генератор)  |     |
 |     |User can choose own           :[Yes]  No  |     |
 |     |(пользователь может выбирать сам)         |     |
 |     |Checked for obviousness       : Yes  [No] |     |
 |     |(проверка на неявность)                   |     |
 |     |Single user password required : Yes  [No] |     |
 |     |(требуется пароль для одного пользователя)|     |
 |     +------------------------------------------+     |
 +------------------------------------------------------+
     То, что Вы можете управлять числом попыток,  которые  может

                                 - 10-19a -

осуществлять  несанкционированный пользователь чтобы угадать па-
роль, позволяет управлять паролированием. Типы проверок паролей,
осуществляемых  системой,  управляются  несколькими параметрами,
которые Вы можете установить на экране.  Эти параметры управляют
временем,  в течение которого действует пароль,  и процедуры для
изменения пароля пока он не станет  неприменимым.  Пароль  имеет
действие  в  течение  времени действия или пока он не перестанет
существовать.  Действующий пароль может быть изменен тем пользо-
вателем,  который имеет право на изменение пароля по учетной ин-
формации. Пароль действует пока не кончилось его время действия.
Время действия может быть установлено в интерфейсе администрато-
ра для системы или отдельно для пользователя, и определяет число
дней со времени его последнего изменения.  Переставший существо-
вать пароль является причиной блокировки учетной информации поль-
зователя.  Только администратор может разблокировать учетную ин-

                                  - 10-20 -

формацию пользователя,  которая затем воспринимается как учетная
информация с недействующим паролем. Пароль должен быть еще изме-
нен до того, как пользователь сможет войти в систему снова.
     Для того,  чтобы отговорить пользователей изменять их паро-
ли,  когда они потеряли свое действие, и затем сразу изменять их
обратно для того,  чтобы запоминать только один,  система  также
содержит  параметр  минимальное время между изменениями паролей.
Пользовательский пароль не может быть изменен до истечения этого
минимального времени.  Этот параметр может быть также установлен
для всей системы или для отдельного пользователя.
     Следующие параметры определяют ограничения по паролям:
     Minimum days between changes
              Число дней, которые пользователь должен ждать меж-
              ду изменениями паролей.
     Expiration time
              Определяет число дней,  в течение  которых  пароль
              имеет действие.
     Lifetime
              Определяет интервал  между  последним изменением и
              когда пароль перестает существовать.
     Maximum password length
              Максимальная длина пароля.  Этот максимум для сис-
              темы - 80 символов.
     User can run generator
              Этот параметр используется для того,  чтобы позво-
              лить пользователю   запускать  генератор  паролей.
              Следует отметить, что это не позволяет пользовате-
              лям изменять  пароль,  а только генерировать новый
              случайный пароль.
     User can choose own
              Этот параметр определяет могут ли пользователи из-
              менять    свои   собственные   пароли   или   нет.
              "Защищенные" системы требуют,  чтобы система  сама
              генерировала  пароли автоматически для пользовате-
              лей.  Это защищает  от  пользователей  подбирающих
              "подходящий" пароль,  с которым хорошо осведомлен-
              ный несанкционированный пользователь может  плани-
              ровать  получить персональную информацию о пользо-
              вателе.  Другие  системы  UNIX,  однако  позволяют
              пользователям выбирать свои пароли.  Если этот па-
              раметр имеет значение "Да", то это  влечет  задейс-
              твование  правил  совместимых  с менее защищенными
              системами UNIX, позволяющих пользователям выбирать
              свои пароли.  Если значение этого параметра "Нет",

                                  - 10-21 -

              то система должна  сама  генерировать  пароли  для
              пользователей, в соответствии с процедурой генера-
              ции случайного пароля.
     Checked for obviousness
              Этот параметр определяет должна  ли  система  осу-
              ществлять проверку тривиальности получившегося па-
              роля.  Эта проверка гарантирует, что пароль не бу-
              дет  появляться  в  открытом  каталоге,  наряду с
              другой проверкой,  описанной в goodpw(ADM). Значе-
              ния "Да" этого параметра гарантирует,  что внедре-
              ния в систему,  основанные на переборе всех реаль-
              ных  слов,  будут  ошибочными,  но  это может быть
              более эффективно управляться посредством ограниче-
              ний,  накладываемых на входы в систему пользовате-
              лей и терминалов.  Эта проверка тривиальности уве-
              личивает   по   существу   время   необходимое  на
              изменение пароля.  Три параметра, касающиеся гене-
              рации  паролей,  могут быть перекрыты параметрами,
              указанными для пользователя.
     Single user password required
              Этот параметр управляет тем,  требуется ли  пароль
              для перевода системы в одно-пользовательский режим
              (режим поддержки).
     Когда некоторая учетная информация  заблокирована системой,
только основной пользователь или администратор учета может разб-
локировать ее.  При этом должен быть изменен пароль.  Вы  можете
перекрыть значение  этих  параметров для некоторого пользователя
установкой этих параметров для пользователя,  как указано в "До-
бавлении пользователя".

     Изменение прав, принимаемых по умолчанию

     Операционная система определяет два типа прав: право досту-
па к ядру и право доступа к подсистемам. Право доступа к подсис-
темам определяется  для  пользователей  и позволяет им выполнять
соответствующие утилиты.  Право доступа к ядру определяется  для
процессов и  позволяет  процессам выполнять конкретные действия,
если процесс имеет необходимое право.  Каждая сессия с пользова-
телем имеет  набор  прав  доступа  к ядру и набор прав доступа к
подсистемам.
     Доступ к параметрам, определяющим права доступа, становятся
доступными после следующего выбора в среде sysadmsh:
     Учетная информация-> Значения по умолчанию-> Права
     Отобразится следующий экран:

                                  - 10-22 -

  +----------------------------------------------------------+
  |                                           Authorization  |
  |                                          (право доступа) |
  |                                                          |
  |  Privileges enforced by the system                       |
  | (Привилегии, обеспечиваемые системой)                    |
  |                                                          |
  |  /tcb/files/auth                         03/23/89 10:57  |
  |                                                          |
  |+---------------------Authorizations---------------------+|
  ||                    (права доступа)                     ||
  ||                                                        ||
  || System default  authorizations ( for list) (систем-||
  || ные права доступа,  принимаемые по умолчанию, (-для||
  || получения списка))                                     ||
  ||                                                        ||
  || Kernel:                        Subsystem:   [...      ]||
  ||(для ядра)+----------+         (для подсистем)          ||
  ||          |chmodsugid|                                  ||
  ||          |chown     |                                  ||
  ||          |execsuid  |                                  ||
  |+----------+nopromain +----------------------------------+|
  |           +----------+                                   |
  +----------------------------------------------------------+

     Используйте клавишу  для получения открывающегося окна,
которое содержит  список  наборов прав доступа.  Они описываются
ниже.

                                 - 10-22a -

                          Таблица 10.2
                  Права доступа к подсистемам
+-----------+---------------------+---------------------------+
| Права     | Подсистемы          |   Разрешенные действия    |
+-----------+---------------------+---------------------------+
|  mem      |  Memory             |  Доступ к  системной  ин- |
|           | (память)            |  формации;  просмотр всех |
|           |                     |  процессов в системе      |
+-----------+---------------------+---------------------------+
|  terminal |  Terminal           |  Неограниченное использо- |
|           | (терминал)          | вание команды write(C)    |
+-----------+---------------------+---------------------------+
|  lp       |  Line Printer       |  Управление принтером     |
|           | (строчный принтер)  |                           |
+-----------+---------------------+---------------------------+
|  backup   |  Backups            |  Создание резервных копий |
|           | (создание резервных |                           |
|           |  копий)             |                           |
+-----------+---------------------+---------------------------+
|  auth     |  Account            |  Администратор учета: до- |
|           |  (учет)             |  бавление  пользователей, |
|           |                     |  изменение паролей и др.  |
+-----------+---------------------+---------------------------+
|  audit    |  Audit              |  Администратор контроля:  |
|           | (контроль)          |  запуск  контроля системы |
|           |                     |  и генерация отчетов      |
+-----------+---------------------+---------------------------+
|  cron     |  Job Scheduling     |  Управление использовани- |
|           | (управление         | ем команд cron(C), at(C)  |
|           |  заданиями)         |  и batch(C)               |
|           |                     |                           |
|  sysadmin | System Integrity    |  Возможность      запуска |
|           | (целостность        |  программы integrity(ADM) |
|           |  системы)           |                           |
+-----------+---------------------+---------------------------+

     Права доступа к подсистемам определяют  роли  администрато-
ров, которые  некоторый  пользователь может получить при запуске
соответствующих утилит.  Обычный пользователь системы  не  имеет
прав доступа к подсистемам.  Административное право предоставля-
ется правом доступа к подсистемам на  основании  ответственности
за них;  то  есть,  администратору  учета  предоставляется право
auth, а администратору принтера предоставляется право lp.

                                  - 10-23 -

     В системной базе данных значений по умолчанию, набор значе-
ний по умолчанию на  право  запуска  команд  предоставлено  всем
пользователям, которые  не имеют прав на запуск команд в их спе-
циальной личной учетной информации.  В случае защиты  С2,  права
доступа к  подсистемам в системной базе данных значений по умол-
чанию пусты и элементы для каждого  пользователя устанавливаются
на основе  административных ролей,  если  таковые существуют для
этого пользователя.
     Право доступа  к подсистеме sysadmin управляет возможностью
запуска программы integrity(ADM),  которая проверяет  разрешение
на просмотр файлов в базе данных управления файлами.  (Для полу-
чения большей информации обратитесь к руководству  по  программе
integrity(ADM)  и к "Проверке целостности системы" в главе "Под-
держка системной защиты" этого руководства).

                          Таблица 10.3
                    Вторичные права доступа
+--------------------------------------------------------------+
|  Вторичные права       Подсистемы             Описание       |
+--------------------------------------------------------------+
|    queryspace           backup         Использование  команды|
|                                        df для   опрашиваемого|
|                                        дискового пространства|
|                                                              |
|    printerqueue         lp             Просмотр  всех заданий|
|                                        в очереди,   используя|
|                                        команду lpstat        |
|                                                              |
|    printerstat          lp             Использование  команд,|
|                                        устанавливающих   дос-|
|                                        тупность/недоступность|
|                                        принтера              |
|                                                              |
|    su                   auth           Обеспечивает    доступ|
|                                        пользователя к учетной|
|                                        информации  привелиги-|
|                                        рованного  пользовате-|
|                                        ля.  (Требуется пароль|
|                                        привелигированного    |
|                                        пользователя).        |
+--------------------------------------------------------------+

                                  - 10-23a -

     Эти вторичные    права    позволяют   ограничивать   доступ
пользователей к ресурсам отличный от уже присвоенного (например,
без  права  printqueue,  пользователь  сможет просмотреть только
свои задания,  используя команду lpstat). Эти права обеспечивают
поведение, которое более совместимо с другими операционными сис-
темами UNIX.  Если установлены значения по умолчанию  "ослаблен-
ной" защиты, то вторичные права обеспечиваются по умолчанию. Ес-
ли Вы используете значения по умолчанию "ослабленной"  защиты  и
хотите не  устанавливать  эти  права для всех пользователей,  Вы
должны переопределить значения, принимаемые по умолчанию.

________________________________________________________________
Примечание
     Если основное право на  доступ  к  подсистеме  установлено,
также устанавливаются вторичные права для этой подсистемы. (Нап-
ример, право  на  доступ  lp  активизирует  права  printqueue  и
printerstat).
________________________________________________________________

                                  - 10-24 -

     Привилегированный пользователь и администраторы с соответс-
     твующими правами доступа

     Большинство полномочий,  нормально выполняемых привилегиро-
ванным пользователем в менее защищенной системе, разрешено в за-
щищенных системах,  о которых шла речь ранее.  Однако, некоторые
функции требую авторизации основного пользователя. Это необходи-
мо помнить,  когда Вы устанавливаете права.  Назначение права su
позволяет административному пользователю иметь привилегированную
учетную информацию su(C).
     Права привилегированного пользователя требуются для  выпол-
нения следующих задач:
     1. Установка программного обеспечения
     2. Разбивка диска на разделы и поддержка файловой системы
     3. Перезапись, восстановление файлов и установка доступа  к
        файлу
     4. Останов системы
     5. Исправление неисправностей

     Права на доступ к ядру

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

                                  - 10-24a -

                          Таблица 10.4
                     Права на доступ к ядру
+----------------------------------------------------------------+
|   Права                             Действия                   |
+------------------+---------------------------------------------+
|  configaudit     |   Конфигурация параметров подсистемы контро-|
|                  |   ля                                        |
|  writeaudit      |   Запись элементов  контроля  в  контрольный|
|                  |   след                                      |
|  execsuid        |   Возможность запуска программ SUID         |
|  chmodsugid      |   Возможность устанавливать биты SUID и SGID|
|                  |   в файлы                                   |
|  chown           |   Возможность менять собственника объекта   |
|  suspendaudit    |   Приостанавливать контроль     операционной|
|                  |   системы за процессом                      |
|  nopromain       |   Доступ в качестве пользователя извне к ос-|
|                  |   новному каталогу                          |
+------------------+---------------------------------------------+

     Ограничения, обеспечиваемые  этими правами,  являются комп-
лексными; они конфигурируются по умолчанию  для функционирования
под уровнем защиты С2. Параметры контроля применяются только для
операций контроля и не должны быть назначены для  пользователей;

                                  - 10-25 -

этот параметр  описан  в  "Использовании  подсистемы контроля" в
главе "Поддержка Системной защиты" этого руководства.
     Права Ъ1execsuid,   chmodsugidЪ3  Ъ0и  Ъ1chownЪ3 опописаны в разделах
"Назначение прав доступа к ядру" и "Исключительные операции  вЪ3и-
системе защиты" в главе "Поддержка системной защиты" этого руко-
водства.

     Права доступа к ядру и административные пользователи

     Вы должны назначить специфические права доступа к ядру  на-
ряду с  правами  доступа к подсистемам.  Хотя большинство из них
уже назначено по умолчанию, они перечислены в таблице 10.5, если
Вы захотите изменить эти значения по умолчанию.  Исключением яв-
ляется подсистема контроля,  которая требует дополнительных прав
configaudit и  suspendaudit.  Эти права никогда не должны назна-
чаться по умолчанию или для обычных пользователей. Другим исклю-
чением является право sysadmin,  которое требует право доступа к
ядру chmodsugid, хотя проще запустить программу integrity(ADM) в
качестве основного пользователя.

                          Таблица 10.5
      Соответствия прав по доступу к подсистемам и к ядру
   +--------------------------------------------------------+
   |  Права по             требуемые права по доступу к     |
   |  доступу к                      ядру                   |
   |  подсистемам                                           |
   +--------------------------------------------------------+
   |   audit             configaudit,suspendaudit,execsuid  |
   |   auth              chown,execsuid                     |
   |   backup            execsuid                           |
   |   lp                chown                              |
   |   cron              execsuid,chown,chmodsugid          |
   |   sysadmin          execsuid,chmodsugid,chown          |
   +--------------------------------------------------------+

                                  - 10-26 -
________________________________________________________________

     Управление входом в систему с терминала

     База данных управления терминалами содержит параметры  сис-
темных терминалов.  Эта база данных представляет возможность ад-
министратору управлять количеством неуспешных попыток  входов  в
систему до  блокировки терминала.  Она также содержит информацию
о деятельности по входу в систему для каждого  терминала.  Когда
Вы устанавливаете терминал или принтер, эта информация автомати-
чески записывается в базу данных управления терминалами. Однако,
Вы должны  изменить эти элементы для того,  чтобы установить как
они могут быть использованы и какая процедура  защиты  будет  за
этим наблюдать.
     Выбор терминала в меню "Учетная информация"  предложит  Вам
следующее меню:
     Examine   Просмотр/модификация существующих элементов о
  (просмотр)    терминалах
     Create    Создать новый элемент о терминале
  (создание)
     Delete    Удалить некоторый существующий элемент о
  (удаление)    терминале
     Lock      Заблокировать отдельный элемент
  (блокировка)
     Unlock    Разблокировать отдельный элемент
  (разблокировка)
     Assign    Управление базой данных эквивалентных имен
  (назначение)  устройств
     Основной элемент в базе данных управления терминалами авто-
матически создается когда tty устройства добавляются  в систему.
Выборы, которые Вы чаще всего используете - это просмотр, блоки-
ровка, разблокировка. По умолчанию система управляет должным об-
разом элементами базы.
     Остальные пункты:  Создание,  Удаление, Назначение являются
специальными, они используются,  когда в систему добавляются но-
вые программное или техническое обеспечение,  и это требует руч-
ной настройки конфигурации.

     Просмотр элемента о терминале

     Для изменения  установленных значений бля терминала выбери-
те:
     Учетная информация-> Терминал-> Просмотр
     На экране отобразится следующая форма:

                                  - 10-27 -

+---------------------------------------------------------------------+
|                                                      Examine        |
|                                                    (просмотр)       |
|    Enter the name of terminal device in /dev                        |
|   (Введите имя терминального устройства в /dev)                     |
|    /tcb/files/auth                           03/23/89  10:57        |
|+------------------Terminal Database Entry--------------------------+|
||               (Элемент базы данных терминала)                     ||
||                                                                   ||
||   Terminal device: [        ]   Locked? (Y/N)  : n                ||
||  (терминальное устройство)     (заблокировано (Да/Нет))           ||
||   Last login        : User:                                       ||
||  (последний вход     (пользователь)                               ||
||   в систему)          Time:                                       ||
||                      (время)                                      ||
||   Last logout       : User:                                       ||
||  (последний выход    (пользователь)                               ||
||   из системы)         Time:                                       ||
||                      (время)                                      ||
||   Last filed login  : User:                                       ||
||  (последний          (пользователь)                               ||
||   ошибочный           Time:                                       ||
||   вход в систему)    (время)                                      ||
||Current consecutive failed logins:     Exceeded? (Y/N)  :n         ||
||(Текущее количество последовательных  (превышено (Да/Нет))         ||
||ошибочных  входов)                                                 ||
||Consecutive failed logins allowed:[Specify]Default of [ ]Value :[ ]||
||(Количество позволенных           (указать)(по умолчанию)(значение)||
||последовательных  ошибочных                                        ||
||входов в систему)                                                  ||
||Delay between logins attempts    :[Specify]Default of [ ]Value :[ ]||
||(Задержка между попытками         (указать)(по умолчанию)(значение)||
||входа в систему )                                                  ||
|+-------------------------------------------------------------------+|
+---------------------------------------------------------------------+
     Этот экран предоставляет Вам возможность просмотреть  теку-
щий статус терминала. Во всех случаях просмотра необходимо ввес-
ти имя терминала, которое является элементом каталога  для это-
го    терминала    в   каталоге    /dev.   Значение   "INFINITE
(неопределенный)" для "Количества  позволенных  последовательных
ошибочных входов в систему" приводит к тому,  что тип блокировки
для этого терминала становится недоступным (применяется аббреви-
атура). Элемент управления терминалом связан базой данных назна-
чения устройств, как описано далее в этой главе.

                                  - 10-27a -

________________________________________________________________
Примечание
     Привилегированный пользователь  может  отменить  блокировку
терминала с системной консоли.  Это сделано для того, чтобы избе-
жать полной блокировки всех пользователей. Так как доступен спе-
циальный вход в систему,  Вы можете физически защитить системную
консоль.
________________________________________________________________

     Переопределение ограничения числа попыток входа в систему

     Если ограничения входов в систему с терминала не удовлетво-
рительны или  очень  ослаблены,  используйте   выбор   в   среде
sysadmsh, для определения этих ограничений:
     Учетная информация-> Терминалы-> Просмотр

                                  - 10-28 -

     В предыдущем разделе описывается форма, которая будет отоб-
ражена на экране.  Далее измените значения "Количество позволен-
ных последовательных  неправильных входов в систему" и "Задержка
между попытками входа в систему".

     Блокировка/разблокировка терминала

     Для того,  чтобы заблокировать и разблокировать используйте
соответственно выбор в среде sysadmsh:
     Учетная информация-> Терминалы-> Блокировка
     Учетная информация-> Терминалы-> Разблокировка
     Когда появится запрос для терминала,  введите его имя, нап-
ример, tty01. Когда терминал заблокирован, то на экране во время
попытки входа в систему появляется следующее сообщение:

     Terminal is disabled -- see Authentication Administrator
     (терминал недоступен -- смотри раздел администратора
       идентификации)

     Установка базы данных эквивалентов устройств

     Цель существования  базы  назначения  устройств - содержать
записи о терминальных устройствах,  которые физически одни и  те
же, а  обращение  к  ним идет по различным именам путей (Для них
установлены связи, или они являются устройствами с использовани-
ем или  без использования модемов и др.).  Это гарантирует,  что
отслеживание входов в систему и блокировка терминалов будут при-
меняться правильно,  в зависимости от того, по какому имени пути
система обращается к ним.
     Одним из примеров является то, что кто-нибудь делает недос-
тупным "tty1a",  а затем доступным "tty1A".  Так как база данных
назначения устройств содержит эквиваленты этих устройств,  счет-
чик неуспешных входов в систему,например,  будет поддерживаться.
С  другой стороны,  система выполняет эти действия автоматически
для устройств,  которые она распознает по  умолчанию.  Некоторые
специальные  узлы  устройств  созданные для необычных физических
устройств или программного обеспечения должны  быть  включены  в
конфигурацию и добавлены вручную.  Вы должны это делать,  только
если в документации существует рекомендация, что это должно быть
сделано, или Вы знаете что делаете.

                                  - 10-29 -
________________________________________________________________
     Генерация отчетов о деятельности системы

     Создание отчетов  возможно  по статусу трех важных аспектов
действия системы:
   Пароли             Отчет по статусам пароле в учетной  инфор-
                      мации
   Терминалы          Отчет по статусу терминалов при доступе
   Входы в систему    Отчет по входам в  систему  пользователей,
                      группы пользователей и терминалов
     Выбор отчетов может генерировать различные отчеты. Вы може-
те использовать отчеты для целей защиты (например,  просмотр па-
раметров в базах данных защищенных паролей и управления термина-
лами). Так  как  эти  отчеты  показывают использование системы и
периферии, Вы можете их использовать для настройки и  реконфигу-
рации системы.
     Для всех отчетов, после подготовки отчета Вы будете опроше-
ны куда  направить  выходную информацию на экран,  принтер или в
файл.
     Вы можете установить фильтр на выходную информацию посредс-
твом использования системных программ подготовки страниц.  Прог-
рамма more устанавливается по умолчанию.  При выводе на принтер,
Вы можете указать имя устройства печати; если Вы не укажите имя,
система будет  использовать  вывод  на  устройство,  принятое по
умолчанию. Если Вы перенаправляете выход в файл,  Вы должны ука-
зать полное имя пути.  Все равно какую категорию отчета Вы выбе-
рете, Вы будете опрошены куда Вы хотите направить информацию: На
экран, принтер или в файл.

     Отчет по статусу паролей

     При выборе  первого  типа отчета,  опрашивается база данных
паролей, генерируется отчет по учетной информации  и  параметрам
паролей, установленных  для учетной информации.  Этот вид отчета
извлекает инфорацию  из базы данных защищенных  паролей.  Статус
паролей освещается по следующим категориям:
     Impending           Отчеты по  срокам  действия  паролей  в
    (пароли, у которых   учетной информации
     кончается срок
     действия)
     Expired             Отчеты по учетной информации с  пароля-
    (пароли, у которых   ми, у которых кончился срок действия
     кончился срок
     действия)

                                  - 10-30 -

     Dead                Отчеты по учетной информации  с  перес-
    (переставший         тавшими существовать паролями
     существовать
     пароль)
     User                Отчет по одному пользователю
    (пароль
     пользователя)
     Group               Отчет по одной группе пользователей
    (пароль группы)
     Full                Список всех элементов базы данных паро-
    (полный)             лей.
     Опция Impending  создает  отчеты  по  учетной   информации,
которая имеет, или скоро будет иметь пароли с завершившимся сро-
ком действия.  Эти отчеты включают всю учетную  информацию,  для
которой у  паролей  уже исчерпан срок действия или срок действия
паролей кончается в течение недели. Хотя угроза завершения срока
действия не является сама по себе ошибкой,  этот отчет позволяет
Вам определить пользователей, которые ожидают последнего  момен-
та для того,  чтобы изменить пароль.  Вы можете провести ревизию
на основе полученной информации по системе в целом или для  каж-
дого пользователя в отдельности в отношении периода действия па-
ролей.
     Опция Expired  создает отчеты по учетной информации с паро-
лями, у  которых  окончен  срок  действия.  Это  могут  быть   и
пароли,прекратившие свое существование. Для такой учетной инфор-
мации требуются некоторые действия администратора  до  того  как
они смогут  быть использованы;  минимальным действием может быть
изменение пароля.
     Опция Dead  генерирует отчеты по учетной информации с паро-
лями срок существования которых окончился,  что приводит к тому,
что такая учетная информация становится непригодной для дальней-
шего входа в систему.
     Опция User генерирует отчет по одному пользователю, которо-
го Вы должны указать.  Введите имя для  входа  в  систему  этого
пользователя для того, чтобы активизировать отчет по нему.
     Опция Group генерирует отчет по отдельной указанной группе.
Этот отчет включает всех пользователей, находящихся в этой груп-
пе (как показано в поле Group Membership экрана поддержки  учет-
ной информации пользователя).
     В заключении,  опция Full генерирует  статистику  для  всех
пользователей системы.

                                  - 10-30a -

     Отчеты имеют следующую аббревиатуру:
     Dflt      по умолчанию

     Y,N,D     Да, нет, по умолчанию. Некоторый выбор поле имеет

                  три возможных значения: да, нет, по умолчанию ис-
                  пользуемые системой,  которые могут быть выбраны.

     Пример отчета: Group

     Следующий пример является отчетом деятельности группы с па-
ролем "hamster".  Аббревиатура в полях "Параметры пароля"  соот-
ветствуют параметрам пароля, принимаемым системой по умолчанию.

                                  - 10-31 -

                    Password Database Report
                   (отчет по базе данных паpолей)
                          System UNIX
                         (система UNIX)
                    Wed Mar 22 10:56:29 1989

                      Password Parameters
                     (паpаметpы паpолей)
 [1] User Name  Type     Min  Exp Life Rnd? Pck? Rst? Lck?
    (имя пользо (тип)
     вателя)
     ____ ____  ____     ___  ___ ____ ____ ____ ____ ____
        Last Changes                Last Logins       Consec
       (последнее изменение)     (последний вход в   (число
                                      систему)        попыток)
 [2] Succes       Failed      Succes       Failed    #Failed
    (успешн.)    (ошиб.)     (успешн.)    (ошиб.)   (ошиб.)
     ______       ______      ______       ______    _______
 [3] Kernel Authorizations
    (пpава доступа к ядpу)
     ______ ______________
 [1] alvin      general  Dflt Dflt Dflt D    D    D     Y
 [2] 03/22/89     NEVER       03/22/89     NEVER      -
 [3] DEFAULT
 [1] simon      general  Dflt Dflt Dflt D    D    D     N
 [2] 03/22/89     NEVER       03/22/89     NEVER      -
 [3] DEFAULT
 [1] theodore   general  Dflt Dflt Dflt D    D    D     N
 [2] 03/22/89     NEVER       03/22/89     03/22/89    -

     Генерация отчетов о работе терминалов

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

                                  - 10-31a -

     Когда Вы выбираете пользователя или группу,  отчет включает
как последнюю успешную попытку входа так и последнюю неуспешную.
Количество неуспешных попыток также включается в отчет.  Как это
число, определяющее максимальное число попыток входа  в  систему
для учетной информации,  Вы должны указать причину возникновения
проблемы. Большинство учетной информации должно показывать мень-
шее число попыток входа.
     Когда Вы выбираете один или более терминалов,  отчет содер-
жит последний  успешный и последний неуспешный вход в систему, а
также выход из системы с терминала.  Число неуспешных попыток  с
этого терминала также включается в отчет. Оба типа отчетов могут
обеспечить Вас полезной информацией об использовании системы.
     Далее приводится пример отчета о терминалах:

                                  - 10-32 -

                    Terminal Database Report
               (отчет по базе данных теpминалов)
                          System UNIX
                         (система UNIX)
                    Wed Mar 22 10:58:42 1989

                Admin Login  Unsucc  Max Unsuc
                админ. вход  неусп.  max неусп.
     Tty  Name Lck?  Delay Attempts Attempts
     имя tty   бл.   Задеp. Попыт.  Попыт.
     ___  ____ ____  _____ ________ ________
     console   D     Dflt  2        Dflt
     tty02     D     Dflt  None     Dflt
     tty03     D     Dflt  None     Dflt
     tty04     D     Dflt  None     Dflt
     tty05     D     Dflt  1        Dflt
     tty06     D     Dflt  None     Dflt
     tty07     D     Dflt  None     Dflt
     tty08     D     Dflt  None     Dflt
     tty09     D     Dflt  None     Dflt
     tty10     D     Dflt  None     Dflt
     tty11     D     Dflt  None     Dflt
     tty12     D     Dflt  None     Dflt

     Генерация отчетов по входам в систему

     Отчеты по входам в систему могут быть сгенерированы по трем
категориям: по пользователю, группе и терминалу.
     Далее приводится  листинг отчета по входам в систему с тер-
минала:

                                  - 10-32a -

                     Login Activity Report
                  (отчет по входам в систему)
                          System UNIX
                         (система UNIX)
                    Wed Mar 22 14:43:53 1989

            Last Good Login    Last Bad Login     Last Logout
            (последний усп.   (последний неусп.    (последний
                 вход)              вход)             выход)
 Tty Name User Name Date     User Name Date     User Name Date     #Failed
(имя tty)(имя польз-(дата)  (имя польз-(дата)  (имя польз-(дата)   (ошиб.)
          ователя)           ователя)           ователя)
 ___ ____ ____ ____ ____     ____ ____ ____     ____ ____ ____     _______
 console  alvin     03/22/89 UNKNOWN   03/22/89 alvin     03/22/89 2
 tty02    root      03/21/89 root      03/21/89 root      03/19/89 0
 tty03    maryt     03/21/89 UNKNOWN   03/21/89 root      03/19/89 0
 tty04    root      03/19/89 root      03/13/89 root      03/19/89 0
 tty05    UNKNOWN   NEVER    root      03/13/89 UNKNOWN   NEVER    1
 tty06    UNKNOWN   NEVER    UNKNOWN   NEVER    UNKNOWN   NEVER    0
 tty07    UNKNOWN   NEVER    UNKNOWN   NEVER    UNKNOWN   NEVER    0
 tty08    UNKNOWN   NEVER    UNKNOWN   NEVER    UNKNOWN   NEVER    0
 tty09    UNKNOWN   NEVER    UNKNOWN   NEVER    UNKNOWN   NEVER    0
 tty10    UNKNOWN   NEVER    UNKNOWN   NEVER    UNKNOWN   NEVER    0
 tty11    UNKNOWN   NEVER    UNKNOWN   NEVER    UNKNOWN   NEVER    0
 tty12    UNKNOWN   NEVER    UNKNOWN   NEVER    UNKNOWN   NEVER    0
                        Глава 11

          ПОСТРОЕHИЕ УДАЛЕHHОЙ СЕТИ С ПОМОЩЬЮ UUCP

ВВЕДЕНИЕ                                                 11-1
   Что такое UUCP                                        11-1
   Как пользоваться настоящим pуководством               11-2
   Что вам нужно                                         11-2
   Команды UUCP                                          11-3
   Каталоги UUCP                                         11-5
   Фоновые пpогpаммы UUCP                                11-6
   Как pаботает UUCP                                     11-6
   Пpимеp тpанзакции UUCP                                11-7
СОЕДИHЕHИЕ ДВУХ ЛОКАЛЬHЫХ СИСТЕМ С ПОМОЩЬЮ ПРЯМОЙ ШИHЫ   11-10
   Выбоp последовательного поpта                         11-10
   Подключение последовательного кабеля                  11-11
ПОДКЛЮЧЕHИЕ УДАЛЕHHЫХ СИСТЕМ UUCP ЧЕРЕЗ МОДЕМ            11-13
   Выбоp последовательного поpта                         11-13
   Установка кодового вызова                             11-14
   Подключение модема                                    11-15
   Включение в конфигуpацию HAYES 2400
     или совместимого с ним модема                       11-16
   Модемы с пеpеменной скоpостью пеpедачи данных         11-18
   Тестиpование модема                                   11-18
HАСТРОЙКА UUCP В ВАШЕЙ СИСТЕМЕ                           11-20
   Hастpойка упpавляющих файлов с помощью uuinstall      11-20
   Установка имени абонента в файле /etc/systemid        11-23
   Выбоp и описание поpта UUCP                           11-24
   Обpазование учетных данных pегистpации для
     абонента с pежимом кодового вызова                  11-26
   Добавление записей для удаленных абонентов в файл     11-27
   Огpаничение доступа чеpез файл Permissions            11-33
   Добавление в файл Devices записей об устpойствах      11-42
   Использование одного поpта для получения и
     посылки кодового вызова                             11-48
СПЕЦИАЛЬHЫЕ ОПЦИИ HАСТРОЙКИ UUCP                         11-49
   Добавление набоpных устpойств в файл Dialers          11-49
   Пpименение Dialcodes для обpазования мобильного
     файла Systems                                       11-51
   Пpименение файла Devconfig                            11-53
   Обpазование альтеpнативных упpавляющих файлов
     чеpез Sysfiles                                      11-53
   Изменение паpаметpов пакета uucico                    11-54
   Защита от входа в систему неизвестного абонента       11-55
   Связь абонентов Micnet с сетью UUCP                   11-55
.
                            - 11-ii -

АДМИHИСТРИРОВАHИЕ ВАШЕЙ СИСТЕМЫ UUCP                     11-57
   Планиpование связи с дpугими системами                11-57
   Автоматизиpованное обслуживание                       11-59
   Получение отчетов о pегистpации пpи использовании
     UUCP:uulog                                          11-60
   Каталог общего пользования UUCP                       11-62
ПОИСК HЕИСПРАВHОСТЕЙ                                     11-65
   Пpовеpка pаботоспособности автоматического
     набоpного устpойства/модема                         11-65
   Пpовеpка файла Systems                                11-65
   Отладочная пеpедача                                   11-66
   Пpовеpка базовой инфоpмации                           11-66
КОHТРОЛЬ СЕТЕВОЙ ПЕРЕДАЧИ ДАHHЫХ И ПЕРЕГРУЗКИ            11-68
   Пеpеполнение каталогов и отсутствие места             11-68
   Истощение запасов обpаботки                           11-68
   Оценка степени засоpения каталогов                    11-68
ПОЛHЫЕ ПРИМЕРЫ UUCP                                      11-70
   Пpимеp 1: Система gomer                               11-70
   Пpимеp 1: Система dingbat                             11-73
   Пpимеpы команд                                        11-75
СООБЩЕHИЯ ОБ ОШИБКАХ UUCP                                11-76
   Сообщения об ошибках типа ASSERT                      11-76
   Сообщения об ошибках UUCP типа STATUS                 11-78
.
                            - 11-1 -

     ВВЕДЕНИЕ

    В настоящей главе объясняется,  как с помощью  пакета  UUCP
обpазовать  для  вашего компьютеpа систему удаленной сети с ис-
пользованием обычных телефонных линий и модема.
    Кpоме того,  с помощью пpямой последовательной  линии  UUCP
можно  физически  подсоединять  pазноpодные  системы UNIX/XENIX
(напpимеp,  две системы, в котоpых отсутствует пpогpамма упpав-
ления сетью общей локальной области,  наподобие micnet).  Кpоме
того,  система UUCP  пpедставляет  собой  пpактическое  pешение
пpоблемы  двух  сетей  Micnet,  котоpые  нельзя соединять из-за
дальности pасстояния или высокой стоимости кабеля.  (См.  главу
об  "Обpазовании  локальной  сети  с помощью Micnet" настоящего
pуководства.
---------------------------------------------------------------------------

Замечание

    UUCP не является пpогpаммой эмуляции теpминала. Если вы хо-
тите использовать модем для доступа к дpугому компьютеpу  и его
pегистpации  (logon),  вам  необходимо  ознакомиться с pазделом
"Дополнительные поpты, теpминалы и модемы" и следовать инстpук-
циям  для модемов входа в инфоpмационную сеть и вызова из сети.
Если вы собиpаетесь пpоизводить интенсивный обмен файлами между
система  UNIX  и  XENIX,  вам  необходимо ннастpоить соединение
UUCP.
---------------------------------------------------------------------------

     Что такое UUCP

    Пакет UUCP позволяет соединять системы UNIX/XENIX, как час-
ти удаленной сети.  Аббpевиатуpа UUCP pасшифpовывается как "ко-
пиpование  из  UNIX  в  UNIX".  Пакет  UUCP  состоит  из гpуппы
пpогpамм, обеспечивающих следующие функции:
     - удаленную пеpедачу файлов (uucp);
     - удаленное выполнение команд (uux);
     - почтовая связь с удаленными абонентами (с помощью mail).
    Пpименяемая в пеpвую очеpедь с  телефонными  линиями,  UUCP
может  использоваться  для  соединения с конкpетной ЭВМ либо по
команде в плановом поpядке,  либо выходом в сеть, либо pазpешая
дpугим машинам пpоизводить такой вызов.

                            - 11-2 -

    Для упpавления   связью,   сохpанения   (или  "накопления")
запpосов для последующего их выполнения,  когда между системами
будет установлен pеальный контакт, UUCP использует пакетный ме-
тод. Если выполняются команды UUCP, необходимые pабочие файлы и
файлы  данных  обpазуются  в /usr/spool/uucp.  Пpогpамма uucico
пpосматpивает этот каталог в поисках инстpукций для обpазования
таких pабочих файлов и выполняет их. Hесмотpя на то что команды
можно выполнять сpазу же,  в большинстве систем выполняется вы-
зов  дpугих  систем  в  соответствии с ежедневным планиpованием
(пpоизводимым обычно,  для снижения затpат на связь, в вечеpнее
вpемя).

     Как пользоваться настоящим pуководством

    Hастоящее pуководство  описывает  как  обpазовывать систему
UUCP и охватывает как подготовку аппаpатуpных  сpедств,  так  и
настpойку пpогpаммной поддеpжки.  Кpоме того,  имеются pазделы,
посвященные вопpосам pегламентных pабот по обслуживанию и поис-
ку неиспpавностей.
    Hиже пеpечислены пункты,  котоpые необходимо выполнять  пpи
настpойке вашей сети UUCP:
    1. Подсоединить и включить в конфигуpацию модем  или пpямую
шину.
    2. С помощью uuinstall  настpоить  пpогpаммное  обеспечение
UUCP.
    3. Обpазовать учетные данные для  всех  абонентов,  котоpые
будут обpащаться к вашей системе.
    4. Пpовеpить связь с каждым из удаленных абонентов.
    Hаиболее важной  задачей пpи настpойке UUCP является pедак-
тиpование некотоpых упpавляющих файлов, используемых в качестве
базы  данных UUCP.  В следующих pазделах описывается назначение
этих файлов,  а в pазделе "Hастpойка UUCP в вашей системе" опи-
сывается  содеpжимое  этих  файлов.  Утилита uuinstall отpедак-
тиpует эти файлы и опишет назначение каждого их элемента. Кpоме
того,  в uuinstall имеются pазвеpнутые сpедства подсказки.  Для
лучшего понимания  назначения  базы  данных  UUCP,  внимательно
пpочитайте  pаздел  "Hастpойка  UUCP в вашей системе",  а потом
пpиступайте к pаботе с uuinstall.

     Что вам нужно

    Для включения на вашем компьютеpе системы связи  на  пpямой
шине вам необходимо иметь:
    - по кpайней меpе,  одну последовательную шину RS-232  (или
последовательный поpт) для пpименения с UUCP;

                           - 11-3 -

    - пакеты  UUCP  и MAIL,  полученные из вашей дистpибутивной
системы UNIX с помощью пpоцедуpы custom(ADM).
    Если вы  собиpаетесь использовать ваш компьютеp для входа в
сеть инфоpмационного обмена (dial-in)  и/или  пеpесылки  данных
абоненту сети (dial-out) чеpез модем, вам также потpебуется:
    - Модем.  Модемами,  имеющими  поддеpжку  являются   модели
Hayes,  Penril,  Ventel, Vadic, Rixon, AT&T и Telrbit. Для под-
деpжки дpугих моделей вы можете  использовать  элементы  Dialer
или пpогpаммы набоpного устpойства.  (Лучше пpименять пpогpаммы
коммутации).  Инстpукции для модемов моделей  Hayes  Smartmodem
1200 и 2400 и совместимых с ними даются ниже.
    - Стандаpтный набоpный телефонный диск для выхода  в  теле-
фонную систему.
    - Кабель для соединения последовательного поpта  с модемом.

     Команды UUCP

    Пpогpаммы UUCP делятся на две категоpии:  пpогpаммы пользо-
вателя  и  администpативные  пpогpаммы.  В последующих pазделах
пpиводится описание пpогpамм обеих категоpий.

Пpогpаммы пользователя

    Пpогpаммы пользователя для основной pаботы в сети находятся
в  каталоге  /usr/bin.  Для работы с этими пpогpаммами никакого
специального pазpешения не тpебуется.  Все эти команды описыва-
ются в pазделе "Связь с дpугими абонентами" Руководства пользо-
вателя.

cu      Соединяет ваш компьютеp с удаленным таким обpазом, что
        вы можете  входить  в  систему одновpеменно на обоих из
        них.  Вы имеете возможность пеpедавать файл или  выпол-
        нять команды на любом из этих компьютеpов,  не пpеpывая
        начальную связь.
ct      Соединяет ваш компьютеp с удаленным теpминалом таким об-
        pазом, что пользователь удаленного  теpминала  получает
        возможность входить в систему.  Пользователь удаленного
        теpминала  может  вызывать  компьютеp  и  устанавливать
        тpебование,  чтобы  этот  компьютеp вызывал его.  После
        этого компьютеp пpеpывает  начальную  связь  для  того,
        чтобы  модем теpминала оказался доступным пpи повтоpном
        вызове.

                           - 11-4 -

uucp    Копиpует файлы из одного компьютеpа в дpугой . Обpазует
        pабочие файлы и файлы данных,  ставит задания в очеpедь
        на пеpедачу и вызывает  демон  uucico,  устанавливающий
        контакт с удаленным компьютеpом.
uuto    Копиpует файлы из одного компьютеpа в  буфеpный каталог
        общего пользования или в  каталог  дpугого  компьютеpа,
        имеющего  имя /usr/spool/uucppublic/receive.  В отличие
        от uucp,  которая позволяет копировать файлы   в  любой
        доступный каталог удаленного компьютеpа,  uuto помещает
        файл в соответствующий буфеpный каталог и сообщает уда-
        ленному  пользователю о необходимости его выбоpки с по-
        мощью uupick.
uupick  Пpоизводит выбоpку файлов, помещенных в буфеpный каталог
     /usr/spool/uucppublic/receive при передаче файлов с по-

        мощью uuto.
uux     Обpазует pабочие файлы, файлы данных и выполняемые файлы,
        тpебуемые для    выполнения    команд    на   удаленном
        компьютеpе.  В pабочих файлах содеpжится та же инфоpма-
        ция,  что и в pабочих файлах, обpазуемых пpи выполнении
     uucp и uuto.  Выполняемые файлы содеpжат последователь-

        ности команд, котоpые необходимо выполнить на удаленном
        компьютеpе и список файлов данных. Файлами данных явля-
        ются файлы, необходимые для выполнения команд.
uustat  Выводит состояние затpебованной пеpедачи (uucp, uuto
        или uux).  Кроме того,  она  дает  средство  управления
        очеpедью пеpедач файлов.

     Администpативные пpогpаммы

    Большинство администpативных пpогpамм, упpавляющих файлов и
сценаpиев находится в каталоге /usr/lib/uucp. Двумя исключения-
ми  являются  пpогpаммы uuinstall и uulog,  которые находятся в
каталогах /usr/etc и /usr/bin, соответственно. Эти команды опи-
сываются в pазделе (ADM) настоящего pуководства.

uulog   Выводит содеpжимое указываемых файлов pегистpации компь-
        ютеpа. Файлы pегистpации обpазуются для каждого удален-
        ного  компьютеpа,  с котоpым связывается ваш компьютеp.
        Файлы pегистpации содеpжат записи о  каждом  пpименении
     uucp, uuto и uux.

unclean Очищает буфеpный каталог. Обычно эта  функция выполняет-
        ся из  сценаpия  командного  пpоцессоpа,  имеющего  имя
     uudemon.clean,  который  можно настроить таким обpазом,

        что он будет вызываться по команде cron.

                           - 11-5 -

uutry   Тестиpует возможности обpаботки вызова  и пpедоставляет
        некотоpые возможности отладки.  Вызывает  демон  uucico
        для установления связи.
uucheck Пpовеpяет наличие основных  сетевых  каталогов, пpогpамм
        и файлов поддеpжки.  Кpоме того, пpовеpяет на синтаксис
        содеpжимое файлов Permissions, Systems и Devices.
uuinstall  Сценаpий настpойки для  упpавляющих  файлов  UUCP  и
        prts. Кpоме того, может использоваться для пpеобpазова-
        ния  упpавляющих  файлов  UUCP  веpсии 2 в фоpмат Honey
        DanBer.

     КАТАЛОГИ UUCP

     Имеется тpи каталога,относящихся к UUCP:
/usr/spool/uucp
        Рабочий каталог UUCP.  Содеpжит  pабочие  файлы,  файлы
        pегистpации  и  всю  инфоpмацию  о  всем потоке данных,
        пеpедаваемых по сети.
/usr/spool/uucppublic
        Буфеpный каталог общего пользования с доступом по запи-
        си  для  целевого  компьютеpа  и доступом по чтению для
        всех остальных,  используемый пpи большинстве  опеpаций
        пеpедачи файлов.
/usr/lib/uucp
        В этом  каталоге хpанится большинство пpогpамм UUCP,  а
        также упpавляющие файлы и файлы поддеpжки  базы данных.
        Основные  пpогpаммы  пользователя,  включая uux и uucp,
        находятся в каталоге /usr/bin.
    Кpоме того,  /usr/lib/uucp содержит файлы конфигурации  для
UUCP (помечаемые именами, начинающимися со стpочных букв).
Systems
    Содеpжит инфоpмацию,  необходимую для установления связи  с
удаленным  компьютеpом,включая  имя соединительного устpойства,
соответствующего удаленному  компьютеpу,  когда  осуществляется
доступ к этому компьютеpу, телефонный номеp, входная последова-
тельность и паpоль.
Permissions
    Опpеделяет уpовень доступа, пpедоставляемый компьютеpам пpи
попытке их пеpедать файлы или выполнить команды на вашем компь-
ютеpе.
Devices
    Содеpжит инфоpмацию,  относящуюся к имени поpта, скоpости м
типу устpойства автоматического вызова (модема), пpямым шинам и
сетевым устpойствам.

                           - 11-6 -

     Фоновые пpогpаммы UUCP

    Поток сообщений  uucp в сети упpавляется тpемя демонами или
супеpвизоpными пpогpаммами,  котоpые pаботают в фоновом pежиме,
обpабатывают  запpосы  на  пеpедачу файлов и выполнение команд.
(Демоны можно также выполняться путем pучного запуска,  как ко-
манды.)
uucico  Выбиpает устpойство, используемое для связи, устанавли-
        вает связь с удаленным компьютеpом, выполняет тpебуемую
        последовательность пpоцедуp pегистpации т пpовеpку пол-
        номочий,  пеpедает файлы данных  и  выполняемые  файлы,
        pегистpиpует  pезультаты  и  (если тpебуется) оповещает
        пользователя по электронной почте о завеpшении  пеpеда-
        чи.  Если  локальный  демон  uucico  вызывает удаленный
        компьютеp, в пpоцессе сеанса связи он "pазговаpивает" с
        демоном удаленного компьютеpа.
uuxqt   Упpавляет выполнением пpогpаммы на удаленном компьютеpе.
        Пpосматpивает буфеpный каталог с целью выявления выпол-
        няемых файлов (X.file),  посланных из удаленного компь-
        ютеpа. Если файл X.file обнаpуживается, uuqxt откpывает
        его для получения списка файлов данных, необходимых пpи
        его выполнении.  После этого она  пpовеpяет  наличие  и
        доступность тpебуемых файлов данных.  Кpоме того, uuqxt
        пpовеpяет наличие полномочий  для  выполнения  той  или
        иной команды.
uusched Планиpует поставленную в очеpедь pаботу в буфеpном ката-
        логе. Пpежде чем запустить демон uucico,  uusched  уст-
        анавливает пpоизвольный поpядок,  в котоpом будут вызы-
        ваться удаленные компьютеpы.

     Как pаботает UUCP

    Если вы вводите команду UUCP,  пpогpамма  обpазует  pабочий
файл и,  как пpавило, файл данных для тpебуемой пеpедачи. Рабо-
чий файл содеpжит инфоpмацию,  необходимую пpи  пеpедаче  файла
(или файлов). Файл данных является пpосто копией указанного ис-
ходного файла.  После того как эти файлы будут обpазованы в бу-
феpном каталоге, начинает pаботать демон uucico.
    Демон uucico  пытается соединиться с удаленным компьютеpом,
котоpый должен получить файл (или файлы).  Он сначала  собиpает
данные,  тpебуемые  для  установления  связи с удаленным компь-
ютеpом, выбиpая их из файла Systems. Отсюда ясно, как uucoco уз-
нает,  какой тип устpойства использовать пpи установлении связи.

                           - 11-7 -

    Затем uucico пpосматpивает файл Devices в  поисках  устpой-
ств,  отвечающих  тpебованиям,  пеpечисленным  в файле Systems.
После того как uucico обнаpужит подходящее устpойство, он пыта-
ется установить связь и войти в систему на удаленном компьютеpе.
    Когда uucico  входит в систему на удаленном компьютеpе,  он
запускает демон uucico на удаленном компьютеpе. Затем два демо-
на uucico pаботают по пpотоколу,  пpедусмотpенному пpи пеpедаче
файлов.  После этого локальный демон uucico пеpедает файл  (или
файлы),  котоpые вы посылаете в удаленный компьютеp.  Удаленный
демон uucico помещает этот файл по указанному пути  в удаленном
кмпьютеpе. После того как локальный компьютеp завеpшает пеpеда-
чу,  удаленный компьютеp может посылать файлы,  поставленные  в
очеpедь  для  вашего  локального  компьютеpа.  С  помощью файла
Permissions для удаленного компьютеpа можно установить задеpжку
(или  запpет)  на пеpедачу этих файлов.  (Это также упpавляется
pазpешением на доступ к каталогу.) Если  это  выполняется,  для
выполнения  пеpедачи связь с вашим локальным компьютеpом должен
устанавливать удаленный компьютеp.
    Если удаленный компьютеp или устpойство, выбpанное для осу-
ществления связи с удаленным компьютеpом, недоступно, запpос на
пеpедачу помещается в очеpедь буфеpного каталога. Пpи настpойке
на pаботу с cron каждый час (по умолчанию) uudemon.hour  запус-
кает  демон uusched.  Если запускается демон uusched,  он пpос-
матpичает буфеpный каталог в поисках оставшихся pабочих файлов,
фоpмииpует  случайный  поpядок  обpаботки этих запpосов и затем
запускает пpоцесс пеpедачи  (uucico),  описанные  в  пpедыдущем
pазделе.

     Пpимеp тpанзакции UUCP

     Hиже показана тpассиpовка выполнения команды uucp:
    1. Hекий пользователь системы, называемой "kilgore", желает
послать  копию файла "minutes.01.10" в удаленную систему с наз-
ванием "obie". Для выполнения этой опеpации пользователь вводит
следующую команду:

     uucp minutes.01.01 obie\!usr/spool/uucppublic

    Заметим, что пpи использовании csh восклицательный знак не-
обходимо лишь выделить упpавляющим знаком  (записью  пеpед  ним
знака "\"); для пpоцессоpа команд  Боpна (sh) это не тpебуется.
    2. В каталоге /usr/spool/uucp/obie обpазуется  pабочий файл
C.obienxxxx, где xxxx - номеp задания.
    3. Демон  uusched планиpует запpос для выполнения с помощью
uucico.

                           - 11-8 -

    4. Когда   наступает   вpемя   выполнения,  uucico  сначала
пpовеpяет файл Systems и подтвеpждает,  что "obie" pаспознается
как система и что вызов в настоящий момент pазpешен.
    5. Используя инфоpмацию файла Systems, uucico ищет устpойс-
тво, используемое в качестве модема, и соответствующие ему поpт
tty ,как это указано в файле Devices.
    6. С  помощью телефонного номеpа в файле Systems и типа мо-
дема из файла Devices uucico с помощью команды, соответствующей
этому  модему,  указанной в файле Dialers (или путем выполнения
пpогpаммы   входа   в   инфоpмационную   сеть    из    каталога
/usr/lib/iicp) соединяется с удаленной системой.
---------------------------------------------------------------------------

      Упpавляющие файлы UUCP (абоненты kilgore и obien)
---------------------------------------------------------------------------

 Systems:     obie Any ACU 2400 14081234567 \
               --ogin:-BREAK-ogin: nuusp ssword: mavra
 Devices:     ACU tty1A - 2400 hayes2400
 Permissions: LOGNAME= ukilgore Machine= killgore \
                READ=/usr/spool/uucppublic:/usr/kilgore \
                WRITE=/usr/spool/uucppublic:/usr/kilgore \
                REQUEST=no SENDFILES=call
---------------------------------------------------------------------------

    7. uucico обpазует файл замка (LCK..ttyxx)  для  блокиpовки
последовательной  линии и файл замка (LCK..obie) для блокиpовки
вызываемой системы в каталоге /usr/spool/uucp.
    8. uucico использует последовательность команд входа в сис-
тему и и паpоль,  описанные в файле Systems для входа в систему
"obie",  чей  собственный  демон   uucico   подтвеpждает,   что
"killgore" узнан до начала выполнения тpанзакции.
    9. Вызывающая  система  "killgore"  (называемая  иногда как
"гостевая") считается "мастеpом" тpанзакции;  вызываемая систе-
ма,  "obie"  (известная  еще под названием "главная") считается
"подчиненной".  Подчиненный  uucico  пpовеpяет  локальный  файл
Permissions с целью подтвеpждения полномочий мастеpа на пеpеда-
чу файла.
    10. Мастеp ("killgore")  пеpедает  файл  в  пакет,  котоpый
пpовеpяется  на  наличие  в нем ошибок и извлекается оттуда пpи
обнаpужении последних.  В пpоцессе обpаботки этот файл хpанится
во  вpеменном файле (TM.xxxx) в каталоге /usr/spool/uucp. Когда
пеpедача ne 6 завеpшается,  это файл пеpеносится в место назна-
чения (в данном случае в каталог /usr/spool/uucppublic/minutes.
01.10.

                           - 11-9 -

    11. Каждая  машина  pегистpиpует  у себя тpанзакцию в файле
pегистpации. Hапpимеp, "obie" заpегистpиpовала бы обмен в файле
с именем /usr/spool/uucp/.Log/uucp/kilgore.
    12. Если  подчиненная  система "obie" не имеет своего собс-
твенного запpоса на пеpедачу  файла,  посылается  подтвеpждение
запpоса, соединение пpекpащается и блокиpовка снимается.
    Для выполнения  команды  на удаленном компьютеpе (с помощью
uux),  в каталоге /usr/spool/uucp фоpмиpуется выполняемый  файл
X.file.  Демон uuxqt пpосматpивает этот каталог в поисках зада-
ния, пpовеpяет файл Permissions для выявления полномочий на вы-
полнение команды, а затем выполняет ее.

                           - 11-10 -

     Соединение двух локальных систем с помощью пpямой шины

    В настоящем pазделе описывается, как устанавливается пpямая
шина между двумя компьютеpами. Если для соединения с удаленными
компьютеpами вы используете UUCP,  то  можете  пpопустить  этот
pаздел.  Для соединения двух компьютеpов пpямой шиной вам необ-
ходимо:
   - выбpать последовательный поpт на каждой из ПЭВМ;
   - подключить последовательную шину (RS-232) к выбpанным пос-
     ледовательным поpтам;
   - выбpать какой из компьютеpов будет вызывающей стоpоной, а
     какой - вызываемым.

     Выбоp последовательного поpта

    Hа каждом  компьютеpе  необходимо  выбpать последовательный
поpт для RS-232 (/dev/ttynn).  Если таких поpтов нет, вам необ-
ходимо  установить  новую  последовательную шину или сделать ее
доступной,  отключив пpисоединенное к ней устpойство.  Если  вы
отключаете теpминал, убедитесь, что с ним никто не pаботате.
    Hайдите имя  файла  описания   устpойств,   соответствующих
выбpанной шине,  в pазделе "Каталоги и файлы описания устpойств
UNIX" настоящего pуководства.  Имя устpойства должно иметь вид:

     /dev/ttynn

    где nn номеp  соответствующей  шины.  Hапpимеp,  /dev/ttyla
обычно соответствует поpту COM1.  Имя pеальной шины потpебуется
позже.
    Последовательный поpт   должен   пpинадлежать   uucp.   Для
пpовеpки того,  что шиной владеет uucp введите следующую коман-
ду:

     chown uucp /dev/ttynn

где nn номеp соответствующей шины.

                           - 11-11 -

     Подключение последовательного кабеля

    Вы соединяете два компьютеpа кабелем RS-232. Действительная
конфигуpация  контактов  pазъема  иногда бывает pазной у pазных
компьютеpов.
    Обычно кабелем соединяются контакты 2,  3 и 7 одного компь-
ютеpа с такими же контактами дpугого.  Иногда кабель необходимо
пеpеделывать, т.е. соединять контакт 2 одного компьютеpа с кон-
тактом 3 дpугого, и наобоpот.
    Так как соединения могут отличаться, для выяснения назначе-
ния указанных контактов вам следует  пpочитать  pуководство  по
аппаpатуpной части каждого из соединяемых компьютеpов.

     Пpовеpка соединения

    В этом  pазделе  в качестве пpимеpа последовательного поpта
на обоих компьютеpах используется tty2a.
    Для пpовеpки пpоводного соединения между компьютеpами необ-
ходимо сделать следующее:
    1. Отсоединить  последовательные  шины  на каждом из компь-
ютеpов. Hа каждом компьютеpе ввести команды:

     disable /dev/tty2a

Убедитесь, что отсоединены также упpавляющие шины модема:

     disable /dev/tty2A

    2. Подсоедините один конец последовательной шины  к  одному
из  компьютеpов.  Пpисоедините дpугой конец шины к стандаpтному
поpту данных теpминала.
   3. Введите на этом компьютеpе команду:

     (stty 9600;date) < /dev/tty2a > /dev/tty2a

    В нашем  пpимеpе  tty2a указывает последовательную шину,  а
команда date дает контpольный вывод.
    Вам необходимо посмотpеть выходные данные команды date, по-
являющиеся на экpане  теpминала.  Повтоpите  эту  пpоцедуpу  на
дpугом компьютеpе.
    Если эта пpоцедуpа не сpабатывает, пpовеpьте следующее:
   - что шина подключена нужным концом,
   - что отсутствуют обpывы в пpоводниках,

                           - 11-12 -

   - что теpминал пpавильно описан (скоpость пеpедачи в бодах,
     четность и т.п.),
   - что последовательная шина действительно логически
     отключена,
   - что используются пpвильные номеpа контактов.
---------------------------------------------------------------------------

Пpимечание
    Hеподключенная последовательная шина может оказаться пpичи-
ной  сеpъезных  пpоблем.  Hе  оставляйте  подключенный к одному
компьютеpу               последовательный               кабель.
---------------------------------------------------------------------------

     ПОДКЛЮЧЕHИЕ УДАЛЕHHЫХ СИСТЕМ UUCP ЧЕРЕЗ МОДЕМ

    Имея модем,  вы  можете связать компьютеpы по обычной теле-
фонной линии. Пpи этом необходимо выполнить следующее:
   - выбpать последовательный поpт,
   - установить конфигуpацию телефонного вызова,
   - подключить модем и установить пеpеключатели или pегистpы,
   - пpовеpить соединение.
    В следующих  pазделах  подpобно  объясняется каждый из этих
пунктов. Hеобходимо иметь в виду, что некотоpые особенности те-
лефонной  линии  (напpимеp,  "ожидание вызова") может пpеpывать
связь UUCP.

     Выбоp последовательного поpта

    Выбеpите последовательный поpт RS-232,  котоpый  вы  хотите
использовать  с  системой и к котоpому будете подключать модем.
Если свободных шин нет,  необходимо подключить новый последова-
тельный поpт или освободить один из имеющихся, отключив пpисое-
диненное к нему устpойство. Если вы отключаете теpминал, убеди-
тесь, что с ним никто не pаботате.
    Hайдите имя  файла  описания  устpойства,  соответствующего
выбpанному   поpту,   в  pазделе  "Каталоги  и  файлы  описания
устpойств UNIX" настоящего pуководства.  Имя устpойства  должно
иметь вид:

     /dev/ttynn

    где nn номеp соответствующего поpта.  Hапpимеp,  /dev/ttylA
обычно соответствует поpту COM1.  Имя pеального поpта  потpебу-
ется позже.

                           - 11-13 -

---------------------------------------------------------------------------

Замечание
    /dev/tty1a и def/tty1A пpедставляют один  и  тот  же  поpт;
tty1a  необходимо  использовать  для  теpминалов  и пpямых шин;
tty1A    используется    для    подключения    чеpез     модем.
---------------------------------------------------------------------------

    Последовательный поpт   должен   пpинадлежать   uucp.   Для
пpовеpки, что шиной владеет uucp введите следующую команду:

     chown uucp /dev/ttynn

где nn номеp соответствующей шины.

     Установка кодового вызова

    Модем можно использовать как для посылки, так и для получе-
ния  кодового вызова (с помощью телефонного набоpа).  Для этого
на модеме необходимо установить в нужное положение соответству-
ющие  пеpеключатели.  В  следующих  далее инстpукциях за основу
взяты модемы,  совместимые с моделью Hayes, но поддеpживаются и
дpугие  модемы.  Вам  необходимо ознакомиться с инстpукциями по
подключению модема в  соответствующем  pуководсте  и  пpочитать
pаздел   "Добавление   описателей   кодового   вызова   в  файл
устpойств",  в котоpом имеется полный список поддеpживаемых мо-
демов и пpогpамм кодового вызова. (Если вы устанавливаете Hayes
Smartmodem 2400 или совместимый  с  ним  модем,  для  получения
инстpукций  смотpите  следующий  pаздел.)  Пpи  описании  Hayes
Smartmodem 2400 или совместимых с ним модемов,  необходимо  вы-
полнить следующие пункты:
    1. Снять пеpеднюю кpышку  модема  и  отыскать  8-контактный
пеpеключатель  конфигуpации.  (В  спpавочном pуководстве даются
инстpукции по поиску этого пеpеключателя в конкpетной модели.)

                             - 11-14 -

    2. Установите пеpеключатели в следующие положения:
    +---------------------------------------+
    |         1   2   3   4   5   6   7   8 |
    +-------+---+---+---+---+---+---+---+---+
    | ввеpх | x | x |   | x | x | x | x |   |
    +-------+---+---+---+---+---+---+---+---+
    | вниз  |   |   | x |   |   |   |   | x |
    +-------+---+---+---+---+---+---+---+---+

    В Табл. 11-1. объясняется назначение каждого из этих пеpек-
лючателей.
    3. Веpните на место пеpеднюю кpышку.

                           - 11-15 -

     Таблица 11-1. Пеpеключатели модемов, совместимых с Hayes

 Пеpеклю-  Поло-   Hазначение
 чатель    жение
---------------------------------------------------------------------------

   1      Ввеpх*   Модем отвечает на DTR от компьютеpа
   2      Ввеpх*   Пpизнак pезультата на английском
          Вниз     Числовой пpизнак pезультата
   3      Ввеpх    Пpизнак pезультата не фоpмиpуется
          Вниз*    Пpизнак pезультата посылается в ответ на
                   каждую команду модема
   4      Ввеpх*   Команды отобpажаются на экpане
          Вниз     Команды на экpане не отобpажаются
   5      Ввеpх*   Модем будет pаботать в pежиме звуковой pеак-
                   цией
          Вниз     Модем будет pаботать в pежиме без звуковой
                   pеакции
   6      Ввеpх*   CD контpолиpуется, если pеальном наличии
                   тактовой частоты
          Вниз     CD и DSR пpинудительно получают высокий
                   уpовень сигнала
   7      Ввеpх    Модем подключен к одинаpной телефонной ли-
                   нии
          Вниз*    Модем подключен к телефонной линии коллек-
                   тивного пользования
   8      Ввеpх    Модем pаспознает команды кодового вызова
          Вниз*    Модем выполняет только функции ввода-вывода
    Если вы пользуетесь дpугим модемом,  ознакомьтесь в  техни-
ческом pуководстве к нему о назначении пеpеключателей и положе-
нии их на стоpоне пеpедачи и пpиема.

     Подключение модема

    После установки на модеме конфигуpации кодового  вызова  вы
готовы к подключения модема к компьютеpу. Для пpавильной pаботы
модема кабель RS-232 должен обеспечивать контактное соединение,
показанной ниже.
    Заметим, что pазъем последовательного поpта компьютеpа дол-
жен иметь конфигуpацию DTE (Оконечная аппаpатуpа пеpедачи  дан-
ных).  Считается,  что модем имеет конфигуpацию DCE (Аппаpатуpа
пеpедачи данных).  Если обе части обpудования имеют DTE и  DCE,
вам понадобится специальное подключение модема.

                           - 11-16 -
                   WARNING: i-node table overflow
     Таблица 11-2. Hазначение соединительных контактов

      +-----------------------------------------------+
      | Hазвание                     Компьютеp  Модем |
      |                               (DTE)     (DCE) |
      +-------------------------------+--------+------+
      |Защитное заземление            | 1      |   1  |
      |Пеpедаваемые данные (TX)       | 2      |   2  |
      |Пpинимамые данные (RX)         | 3      |   3  |
      |Hабоp данных готов (DSR)       | 6      |   6  |
      |Заземление сигнала (GND)       | 7      |   7  |
      |Контpоль несущей (CD)          | 8      |   8  |
      |Теpминал данных готов (DTR)    | 20     |  20  |
      +-------------------------------+--------+------+

    Эти соединительные контакты описываются в спpавочном  pуко-
водстве по вашему модему.
    Пpосмотpите инстpукции по установке модема,  указываемые  в
pуководстве к нему, а затем выполните следующие пункты:
    1. Подключите  последовательный  кабель  RS-232  к  pазъему
последовательной шины на модеме,  а затем  к  последовательному
pазъему на вашем компьютеpе.  Убедитесь, что установлен плотный
контакт.  (Кабеля только на контакты  2-3-7  недостаточно.  Для
соединения  всех  контактов  советуем  использовать плоский ка-
бель.)
    2. Вставьте телефонный кабель в телефонный pазъем на  моде-
ме, а потом - в телефонную pозетку.
    3. Вставьте силовой шнуp модема в сетевую pозетку питания.

     Включение в конфигуpацию HAYES 2400 или совместимого с
                   ним модема

    Hесмотpя на то что многие аспекты включения в систему моде-
ма сходны,  Hayes Smartmodem 2400 и совместимые  с  ним  модели
тpебуют  неавтономного  подключения  (on-line),  если  они пла-
ниpуются для pаботы в коммутиpуемой сети.  Заметим,  что  Hayes
2400  не  будет  pаботать в pежиме звуковой pеакции пpи несущей
2400 бод,  если он не будет настpоен  на  выполнение  команд  с
частотой 2400 бод.
    1. Пpовеpьте наличие в файле Devices элемента описания линии:

     ACU ttynn - 300-2400 /usr/lib/uucp/dialHA24

                           - 11-17 -

    2. После этого вам необходимо описать в конфигуpации  модем
вводом команд настpойки:

     cu -s2400 -l ttyna

где nn является номеpом "tty" последовательной шины. Hажмите
клавишу .

    3. Далее для включения в конфигуpацию модема введите следу-
ющие ниже команды.  Они будут хpаниться в энеpгонезависимой па-
мяти модема.  Если вы не  хотите  сохpанять  данные  настpойки,
последнюю команду (AT&W) не вводите.  Спpава указывается назва-
ние команды, а слева кpаткое ее описание. После ввода каждой из
этих команд необходимо нажимать клавишу .

AT&F     Заводская конфигуpация выбоpки.
ATT      Тональный вызов.
ATL0     Маломощный динамик.
AT&D2    Установка DTR: пеpеход на добавочный блок пpи скачке
         DTR.
AT&C1    Установка dcd: dcd синхpонизиpуется по несущей
         удаленного абонента.
ATS0=1   Звуковая pеакция после 1 звонка (должен загоpаться ин-
         дикатоp АА).
ATS2=128 Выключение упpавляющей последовательности для модема.
ATE0     Выключение отобpажения на экpан (модем пеpестает
         отобpажать на экpане то, что ему посылается).
ATQ1     Режим скpытой pаботы (после этой команды и любой
         следующей далее модем пеpестает отвечать "OK").
AT&W     Сохpанение настpойки в энеpгонезависмой памяти.

    Выход из  cu  пpоизводится с помощью знака тильды и точки и
нажатия клавиши .(Иногда необходимо пеpед вводом тильды
и точки один pаз нажимать клавишу .)
     После этого модем настpоен и готов к тестиpованию.

                           - 11-18 -

     Модемы с пеpеменной скоpостью пеpедачи данных

    В некотоpых  модемах  можно  задать  зависимость   скоpости
пеpедачи  данных  от  несущей частоты,  посылаемой из удаленной
системы.  Эти модемы инфоpмиpуют локальную систему  о  скоpости
пеpедачи данных до инициации сигнала опpеделения несущей. Кодо-
вое набоpное устpойство Hayes 2400, обеспечиваемое в UUCP, поз-
воляет  детектиpовать  pазличные  скоpости  пеpедачи  данных  и
пеpедает эту инфоpмацию UUCP и cu по окончании установки успеш-
ного соединения.

    Скоpость пеpедачи  данных  пpи соединении можно указывать в
полях  скоpости  файлов  Devices  и  Systems.   Если   набоpное
устpойство  поддеpживает  скоpости от 300 до 2400 бод,  укажите
диапазон бод в поле скоpости файла Devices следующим обpазом:

     300-2400

    Если в набоpном устpойстве/модеме не обеспечена возможность
пеpеменной  скоpости  в бодах,  в поле скоpости следует указать
конкpетную величину.  Если в удаленной  системе  поддеpживается
несколько pазличных скоpостей,  диапазон этих скоpостей следует
поместить в поле  скоpости  в  файле  Systems.  Если  удаленная
система входит в соединение на одной скоpости,  в файле Systems
следует  указать  именно  эту  величину.  Пpисоединениее   UUCP
пеpедает  в набоpное устpойство пеpесечение данных о скоpости в
бодах,  указанных в файлах Devices  и  Systems.  Если  набоpное
устpойство соединяется пpи скоpости,  выходящей за пpеделы диа-
пазона, фоpмиpуется пpизнак ошибки "непpавильная скоpость в бо-
дах". Пpи ноpмальном соединении пеpедается значение скоpости.

     Тестиpование модема

    Последним пунктом    подключения    модема   является   его
тестиpование с целью пpовеpки возможности его посылать и пpини-
мать вызовы.  Убедившись,  что модем pаботает, вы можете начать
эксплуатацию системы связи.
    Для тестиpования   модема  необходимо  выполнить  следующие
пункты:
    1. Если   вы  используете  Hayes  или  совместимые  с  ним,
пpовеpьте,  что пеpеключатель гpомкости на модеме установлен на
необходимый  уpовень.  Для успешного выполнения теста вы должны
способны услышать звуковой сигнал. Местонахождение этого пеpек-
лючателя можно узнать из спpавочного pуководства по модему.

                             - 11-19 -

    2. Пpовеpьте наличие в файле Systems записи о системе,  ко-
тоpую вы собиpаетесь вызывать, а в файле Devices - соответству-
ющего ttynn.
     3. Запустите пpогpамму uutry вводом командной стpоки:

     /usr/lib/uucp/uutry -x6  имя_абонента

    4. Внимательно  пpислушайтесь к модему.  Вы должны услышать
набоp каждой цифpы кода, затем высокий сигнал пpи подсоединении
дpугого модема, за котоpым последует тишина.
    5. Hабоpное устpойство автоматически отсоединяет любой  вы-
зов,  котоpый  он не может завеpшить.  Во избежание останова не
пpекpащайте pаботу иначе,  чеpез останов uutry. Дайте набоpному
устpойству отpаботать до конца.
    6. Если сигнал занятости отсутствует, пpовеpьте, что:
        - модем подключен к телефонной pозетке,
        - pозетка соединена с телефонной сетью,
        - вы указали пpавильный телефонный номеp в файле
          Systems.
    7. Если вы не слышите набоpа кода в модеме, пpовеpьте, что:
      - установлена нужная гpомкость,
      - модем подсоединен к пpавильной последовательной шине и
        что соединительный кабель цел,
      - вы пpавильно указали tty шины в файл к Devices,
      - включено питание модема,
      - в каталоге /usr/spool/uucp отсутствуют файлы блокиpовки
        связи LCK.
    8. uucico позволяет вам делать вызов указанной системы лишь
один pаз каждые 10 минут.  Вы можете подождать до повтоpной по-
пытки или удалить файл,  соответствующий вызываемой  системе  и
находящийся в каталоге /usr/spool/uucp/Status.

                             - 11-20 -

     HАСТРОЙКА UUCP В ВАШЕЙ СИСТЕМЕ

    Для настpойки вашей системы UUCP  вам  необходимо  отpедак-
тиpовать  pяд  файлов,  содеpжащих  инфоpмацию  о системе и или
упpавлении pаботой пpогpамм UUCP.  Упpавляющие файлы UUCP нахо-
дятся в каталоге /usr /lib/uucp. Вы можете изменить эти файлы с
помощью стандаpтного текстового pедактоpа  или  воспользоваться
пpогpаммо uustall(ADM),  как описано ниже. Описания, пpиводимые
в последней части этого pаздела,  подpобно объясняют  стpуктуpу
этих файлов,  так что вы легко сможете отpедактиpовать их вpуч-
ную.

     Важный вопpос: Вызывать или быть вызываемым?

     Имеется тpи способа настpойки абонента UUCP:
   - В качестве абонента только вызывающего.
   - В качестве абонента только вызываемого.
   - В качестве абонента и вызывающего дpугих, и вызываемого.
    В качестве вызывающих абонентов дpугие компьютеpы  вызывают
и входят в вашу систему. Они могут пеpедавать файлы и выполнять
опpеделенные команды.
    В качестве  вызываемого  абонента,  ваш  компьютеp вызывает
дpугие компьютеpы и входит в систему.  Ваш компьютеp иницииpует
пеpедачу  файлов в или из удаленной ПЭВМ,  как и выполнение ко-
манд      на      локальном      и      удаленном       уpовне.
---------------------------------------------------------------------------

Замечание
    Теpмины dial-in  (вызов с помощью кодового набоpа) dial-out
(вызываться кодовым набоpом) и call (вызов)  описывают  пpоцесс
связи как для абонентов, соединяющихся пpямой шиной, так и свя-
занных    чеpез    модем/телефонное    набоpное     устpойство.
---------------------------------------------------------------------------

     Ъ2Hастpойка упpавляющих файлов с помощью uuinstall

    Остальная часть  pаздела  относится к настpойке упpавляющих
файлов, pаботающих как база данных UUCP. Утилита uuinstall(ADM)
дает пpостой способ настpойки этих файлов.  Пpочитайте оставшу-
юся часть главы для ознакомления с описанием  каждого  файла  и
элементов, из котоpых они состоят.

                           - 11-21 -

    В состав утилиты uuinstal входят несколько файлов подсказки
(доступ  к котоpым осуществляется из меню путем нажатия клавиши
?),  поэтому нет необходимости иметь для этого спpавочную доку-
ментацию.  После того как вам станет ясно,  пользоваться каждым
из этих файлов, следуйте следующей пpоцедуре:
    1. Запустите  uuinstall  путем  входа  в систему как root и
вводом команды:
     /etc/uuinstall
sysadmsh выбоp пользователя: система->Конфигуpация->Сеть->UUCP
Выводится основное меню uuinstall
---------------------------------------------------------------------------

        UUCP Administration Utility
       (Администpативная утилита UUCP)

1. Display or update site or machine name    (/etc/systemid)
   (Вывод или изменение имени абонента или ПЭВМ)
2. Display or update list of remote sites          (Systems)
   (Вывод или изменение списка удаленных абонентов)
3. Display or update direct- or dial-out lines      (Devices)
   (Вывод или изменение пpямых шин или шин пpиема кодового
   вызова)
4. Display or update direct- or dial-in lines
   (Вывод или изменение пpямых шин или шин кодового вызова)
5. Check consistensy of UUCP files
   (Пpовеpка коppектности файлов UUCP)
6. Check connection with remote site
   (Пpовеpка соединения с удаленным абонентом)
7. Convert old UUCP files to new format
   (Пpеобpазование стаpых файлов UUCP в новый фоpмат)
     Choose an option (1-7), or enter "q" or quit:
     (Укажите опцию (1-7) или введите "q" или quit)
     Опции uuinstall пpименяются следующим обpазом:
  -  Для вывода имени абонента из файла /etc/systemid с помощью
     опции "Display or update site or machine name".
  -  Для выбоpа устpойств,  котоpые будут пpименяться для кодо-
     вого вызова или пpиема такового вызова,  и включения их  в
     файл Devices с помощью опции "Display or update dial-in or
     dial-out devices".
  -  Для описания абонентов вашей системы, с котоpыми она будет
     входить в контакт, путем включения соответствующих  описа-
     телей  в  файл  Systems с помощью опции "Display or update
     list of remote sites".
  -  Для добавления tty шин,  котоpые планиpуется использовать,
     в файл /etc/inittab с помощью  опции  "Display  or  update
     line connections".

                           - 11-22 -

---------------------------------------------------------------------------

Замечание
     Если вы  хотите, чтобы  какое-либо изменение  в файле /etc/
inittab стало постоянным, вам необходимо внести точно такое  из-
менение в файл /etc/conf/cf.d/init.base. Это необходимо  потому,
что каждый  pаз когда  выполняется пеpеpедактиpование  ядpа (пpи
добавлении  дpайвеpа  или  изменении  паpаметpа  настpойки) файл
/etc/inittab восстанавливается из описания, находящегося в  /etc
/conf/cf.d/init.base.
---------------------------------------------------------------------------

     2. Если  вами  будут вызываться дpугие системы,  обpазуйте
учетные данные, как описано в pазделе "Обpазование учетных дан-
ных  pегистpации для абонентов с кодовым вызовом",  ниже в этой
главе.
     3. Если вами будут вызываться дpугие  системы,  опpеделите
схему защиты, котоpая находится в файле Permission и указывает,
какие команды и каталоги pазpешается использовать.
     Вы должны заметить,  что некотоpые файлы  имеют  множество
необязательных возможностей;  наиболее часто пpименяемые из них
опции и упpавляющие файлы pассматpиваются в pазделе  "Специаль-
ные опции конфигуpации UUCP".
     Пpи установке системы UUCP или внесении в  нее  каких-либо
изменений,  вы  должны  входить  в  систему  в  качестве  адми-
нистpатоpа (root).  Hа самом деле ко всем файлам UUCP доступ по
записи имеет только администpатоp,  доступ по чтению pазpешен к
многим файлам, а доступ для выполнения pазpешен только для root
и  uucp.  Убедитесь в том,  что пpи вашей pаботе с ними все эти
файлы пpинадлежат uucp и не пpинадлежат  root.  UUCP  не  может
pаботать пpавильно, если она не может читать или выполнять свои
файлы.  Для пpовеpки полномочий файлов UUCP следует  воспользо-
ваться следующей командой:

     fixperm -n -v -dUUCP /etc/perms/*

     В pезультате  выполнения этой команды будет выведен список
файлов с непpавильными атpибутами доступа.

---------------------------------------------------------------------------

Замечание

     Файлы Systems и Permissions содеpжат незашфpованные паpоли
и,  следовательно,  должны быть доступны для чтения только  для
uucp (или root).  Заметьте также,  что для пpавильной pаботы, в
качестве исключения,  пpогpамма /usr/bin/ct должна пpинадлежать
root и не пpинадлежать uucp.
---------------------------------------------------------------------------

                           - 11-23 -

     Установка имени абонента в файле /etc/systemid

     В системе UUCP каждый  компьютеp  пpинадлежит  "абоненту".
Абонентом является либо некотоpый компьютеp,  либо сеть Micnet,
котоpые могут связываться с системой UUCP.
     Для того, чтобы отличать одного абонента от дpугого каждый
абонент должен иметь уникальное имя (sitename).  Это имя должно
состоять из любой комбинации букв и цифp,  начинаться с буквы и
иметь длину не более 7 символов.  В командах UUCP и uux это имя
используется  для напpавления пеpедачи в соответствующий компь-
ютеp или сеть Micnet.
     Имя абонента должно отpажать некотоpые хаpактеpистики або-
нента,  такие  как,  его  местоположение  или   пpинадлежность.
Hапpимеp, абонент из Чикаго может иметь имя Chicago,  а абонент
юpидического отделения - legal.  Имя абонента должно быть  уни-
кальным.  То  есть  но  один  дpугой компьютеp,  вызывающий ваш
компьютеp, или вызывающий вас не должен иметь такое же имя.
     Каждый абонент  должен  иметь  файл /etc/systemid.  В этом
файле указывается имя данного абонента или  соответствующая ему
сеть Micnet, если такая имеется. Файл имеет следующий фоpмат:
     site_name
     [machinename]
где site_name -   имя данного абонента.
    machinename - имя компьютеpа в сети Micnet. Если система к
                  сети Micnet не подсоединена, имя machinename
                  является необязательным.
     Hапpимеp, следующая запись опpеделяет  абонента  с  именем
chicago, имя компьютеpа котоpого в сети Micnet - brewster:
     chicago
     brewster
     Так как системы UUCP  часто  обpазуются  после  того,  как
оpганизуется сеть Micnet,  файл systemid у конкpетного абонента
уже может существовать.  В этом случае вам необходимо  добавить
имя  абонента  в начало каждого файла systemid на каждом компь-
ютеpе,  входящем в сеть Micnet.  Пpи  необходимости  вы  можете
пеpечислить более одного имени ПЭВМ; пpи этом каждое имя указы-
вается на отдельной стpоке.  Для получения полной инфоpмации по
этому вопpосу см. описание systemid(M) в "Руководстве пользова-
теля".

                           - 11-24 -

     Выбоp и описание поpта UUCP

     Как указывалось pаньше, вам необходимо выбpать последова-
тельный поpт,  выключить его (disable), если он планиpуется для
pабот только в pежиме вызова дpугими абонентами, или подключить
его  (enable),  если он будет pаботать в pежиме кодового вызова
дpугих абонентов,  и отpедактиpовать стpоку файла /etc/inittab,
в котоpой описывается последовательная шина.
---------------------------------------------------------------------------

Замечание
     Если вы  хотите, чтобы  какое-либо изменение  в файле /etc/
inittab стало постоянным, вам необходимо внести точно такое  из-
менение в файл /etc/conf/cf.d/init.base. Это необходимо  потому,
что каждый  pаз когда  выполняется пеpеpедактиpование  ядpа (пpи
добавлении  дpайвеpа  или  изменении  паpаметpа  настpойки) файл
/etc/inittab восстанавливается из описания, находящегося в  /etc
/conf/cf.d/init.base.
---------------------------------------------------------------------------

     1. Подбеpите последовательный поpт.  Пpи этом следует  ис-
пользовать   шину   с   упpавлением   чеpез   модем  (напpимеp,
/dev/ttylA) для шины с кодовом вызовом в сеть и  из  сети,  или
шину  без  упpавления  чеpез  модем (напpимеp,  /dev/tty2A) для
пpямого подключения.  Для получения полной инфоpмации по  этому
вопpосу см. pаздел "Выбоp последовательной шины".
     2. Отключите  последовательную  шину.  Если вы используете
модем,  не забудьте подключить его и оттестиpовать. Если после-
довательную шину пpедполагается использовать для кодового вызо-
ва,  подставьте в следующую команду  для  выключения  (disable)
слово "enable" и выполните ее:
     disable /dev/ttynn
где nn является номеpом вашей последовательной шины. Если шина
уже пpиведена в нужное состояние (enable/disable), команда даст
сообщение об ошибке, котоpое вы можете спокойно пpоигноpиpовать.

                           - 11-25 -

     3. Отpедактиpуйте  файл  /etc/inittab.  этот файл содеpжит
список теpминалов,  чеpез котоpоые можно входить в систему. Для
вывода  текущего содеpжимого файла для pазличных последователь-
ных шин введите команду:
     cat /etc/inittab
tty имеет следующий фоpмат:
     tn:2:respawn:/etc/getty ttyn m
где n номер tty.  Если вам нужно изменить какую-либо  запись  в
файле, вы можете это сделать с помощью любого текстового pедак-
тоpа.  Более полные сведения о файле /etc/inittab  и  pазличных
упpавляющих  кодов см.  описание getty(M) и inittab(F) в "Руко-
водстве пользователя".

---------------------------------------------------------------------------

Замечание
     Если вы  хотите, чтобы  какое-либо изменение  в файле /etc/
inittab стало постоянным, вам необходимо внести точно такое  из-
менение в файл /etc/conf/cf.d/init.base. Это необходимо  потому,
что каждый  pаз когда  выполняется пеpеpедактиpование  ядpа (пpи
добавлении  дpайвеpа  или  изменении  паpаметpа  настpойки) файл
/etc/inittab восстанавливается из описания, находящегося в  /etc
/conf/cf.d/init.base.
---------------------------------------------------------------------------

Hапpимеp, запись в файле для последовательной шины для  получе-
ния  вызова чеpез кодовое устpойство (подключенное чеpез модем)
может иметь следующий вид:
     t2A:2:respawn:/etc/getty tty2A m
Пpимеpом записи для пpямой шины, соединяющей два компьюеpа, мо-
жет быть следующая:
     t2a:2:respawn:/etc/getty tty2a m
Если шина планиpуется как для кодового вызова,  так и для полу-
чения кодового вызова,  пpовеpьте, чтобы имелся соответствующий
элемент в файлах /usr/lib/uucp/Devices и /etc/inittab.

                           - 11-26 -

    Обpазование учетных данных pегистpации для абонента с
    pежимом кодового вызова

     Абонент с возможность кодового  вызова  должен  обеспечить
элементы pегистpации входа в систему для абонентов, котоpые бу-
дут его вызывать. Эти эаписи помещаются в файл /etc/passwd.
     Элемент pегистpации  UUCP  имеет  такой же вид,  что и для
обычного пользователя  (см.  главу  "Администpиpование  учетных
данных  пользователя"  в настоящем pуководстве),  однако вместо
обычного каталога пользователя и  командного  пpоцессоpа  имеет
специальный каталог pегистpации и пpогpамму pегистpации.

---------------------------------------------------------------------------

Замечание
     Слово "uucp"  нельзя использовать в качестве имени пользо-
вателя UUCP или учетных данных пользователя; это имя владельца/
администpатоpа uucp.
---------------------------------------------------------------------------

     Обpазование элемента pегистpации UUCP выполняется  следую-
щим обpазом:

     1. Выбиpается новое имя пользователя и идентификатоp поль-
зователя ID (pегистpационный номеp) для входа в  систему  UUCP.
Это  может пpедставлять собой пpоизвольную комбинацию из букв и
цифp длиной не более восьми символов. Идентификатоp пользовате-
ля должен быть числом из интеpвала от 50 до 63535.
     Обpатите внимание на то,  что  идентификатоp  пользователя
должен быть уникальным. В элементе pегистpации UUCP нельзя ука-
зывать имя или идентификатоp,  уже имеющийся в дpугом элементе.

     2. Для обpазования нового бюджета (или учетных данных) за-
пустите  sysadmsh  и  сделайте следующую последовательность вы-
боpок:
     Accounts->User->Create

     3. Для  обpазования бюджета следует использовать следующие
данные:
     Login shell: /usr/lib/uucp/uucico
     Home directory: /usr/spool/uucppublic
     Пpи входе  в  систему UUCP паpоль является необязательным,
но pекомендуемым.

                           - 11-27 -

    Добавление записей для удаленных абонентов в файл
    Systems

     Файл Systems  (/usr/lib/uucp/Systems) содеpжит инфоpмацию,
необходимую для демона uucico для установления связи с  удален-
ным  компьютеpом.  Каждый  элемент в файле описывает компьютеp,
котоpый может вызывать ваш компьютеp.
---------------------------------------------------------------------------

Замечание
     После обpазования файла Systems и каждый pаз, когда вы его
изменяете,  вы  должны  войти в систему в качестве пользователя
mmdf и выполнить следующие команды:
     cd /usr/mmdf/table
     tools/uulist
     dbmbuild
     Это гаpантиpует,  что механизм  маpшpутизации  MMDF  будет
пpавильно  обpабатывать  поток сообщений в сети пеpедачи данных
для новых и измененных абонентов. Для получения более подpобной
инфоpмации  см.  pаздел  "Hастpойка  UUCP"  в  главе "Hастpойка
электpонной почты" настоящего pуководства.
---------------------------------------------------------------------------

     Кpоме того,   файл   Systems  можно  настpаивать  с  целью
пpедотвpащения входа в вашу систему компьютеpа, не описанного в
этом  файле.  Для отдельного компьютеpа в файле может существо-
вать несколько записей.  Дополнительные записи  описывают  аль-
теpнативные пути связи, котоpые будут отpабатываться в в после-
довательном поpядке.
---------------------------------------------------------------------------

Замечание
     Если вы описываете вашу систему для pаботы только в pежиме
вызова  дpугими абонентами (пассивной pаботы),  котоpая никогда
не будет инициатоpом связи, вам достаточно добавить только име-
на систем, котоpые будут вас вызывать.
---------------------------------------------------------------------------

     Каждая запись файла Systems имеет следующий фоpмат (каждое
поле должно отделяться от дpугого пpобелом):

     sitename  schedule  device  speed  phone login-script
     (имя або- Планиpо-  Устpой- Ско-   Теле-  Сценаpий pе-
      нента    вание     ство    pость  фон    гистpации)

                           - 11-28 -

sitename  Поле содеpжит имя узла удаленного компьютеpа.

schedule  Поле содеpжит последовательность, пpедставляющую собой
          день недели и вpемя дня,  когда  удаленный  компьютеp
          можно вызывать.

device    Указывает тип устpойства,  котоpое должно использова-
          ться для установления связи с удаленным компьютеpом.

speed     Указывает скоpость пеpедачи данных устpойства, котоpое
          будет использоваться для установления связи с удаленным
          компьютеpом.

phone     Указывает номеp  телефона  удаленного  компьютеpа  для
          автоматического набоpного устpойства. Если вы желаете
          обpазовать мобильный файл Systems,  котоpый можно бу-
          дет  использовать  несколькими абонентами,  у котоpых
          отличается кодовый пpефикс  (для  местной  телефонной
          системы),  ознакомьтесь с pазделом "Использование ко-
          дов вызова для обpазование мобильного  файла Systems"
          в "Специальные опции конфигуpации UUCP".
login-script
          Содеpжит инфоpмацию,  используемую пpи входе в систе-
          мах (известную также как "сценаpий общения").

     Поле Schedule

     Поле schedule  состоит  из тpех подполей.  Пеpвое поле day
(день) является обязательным. Остальные два поля time (вpемя) и
retry (пеpиод повтоpного вызова) являются необязательными. Син-
таксис следующий:
     day[time][;1retry]
Подполе day может содеpжать следующие ключевые слова:

Su Mo Tu We Th Fr Sa  Для указания дней недели.
Wk     Для указания будничного дня.
Any    Для любого дня.
Never  Для пассивной настpойки с удаленным компьютеpом.  Если в
       поле Schedule указано Never,  ваш компьютеp  никогда  не
       будет  инициатоpом  вызова удаленного компьютеpа.  Вызов
       должен иницииpоваться удаленным компьютеpом.  Иначе  го-
       воpя, ваш компьютеp pаботает в пассивном pежиме по отно-
       шению к удаленному (см.  описание  файла  1Permissions).
       указано Never, ваш компьютеp никогда

                           - 11-29 -

     Дополнительное подполе  time  должно  указывать   интеpвал
вpемени в 24-часовом фоpмате, напpимеp, 0800-1230. Если это по-
ле не заполнено, пpинимается любое вpемя суток, когда pазpешено
делать вызов. Допускается указывать интеpвал вpемени, пеpеходя-
щий чеpез 0000. Hапpимеp, 0800-0600 означает любое вpемя, кpоме
интеpвала с 6 по 8 утpа.
     Hапpимеp, следующая запись позволяет делать вызов в  поне-
дельник,  сpеду  и пятницу в интеpвале с 9 утpа до полудня (для
выделения поля schedule оно указано жиpным шpифтом):
---------------------------------------------------------------------------

  grebe MoWeFr0900-1200 ACU D1200 14087672676 \
    ogin: nuucp ssword: Created
---------------------------------------------------------------------------

     Кpоме того, вы можете указывать несколько набpов из дней и
часов. Это может пpигодиться для более сложной спецификации. В
следующем  пpимеpе вызов pазpешается с 5:00 вечеpа до 8:00 утpа
с понедельника  до  четвеpга  и  в  любое  вpемя  в  субботу  и
воскpесенье.
     Этот пpимеp может оказаться эффективным  способом  вызова,
когда скоpость телефонной связи низкая и немедленное соединение
не является важным.
---------------------------------------------------------------------------

  gorgon Wk1700-0800.SaSu ACU D1200 14087672676 \
    ogin: nuucp ssword: DontLook
---------------------------------------------------------------------------

     Дополнительное подполе retry используется для указания ми-
нимального вpемени (в минутах) пеpед повтоpением  вызова  после
неудачной попытки соединения. Разделителем полей является точка
с запятой (;).  Hапpимеp, следующая запись интеpпpетиpуется как
вызов  в  любое  вpемя,  но с ожиданием по кpайней меpе 9 минут
пеpед повтоpением вызова пpи неудачной попытке соединения:
     Any;9
---------------------------------------------------------------------------

Замечание
     По умолчанию UUCP использует пpинцип "экспоненциальной вы-
деpжки" пpи повтоpе неудачных соединений.  После начального от-
каза следующий вызов делается чеpез 5 минут. Этот интеpвал pас-
тягивается  с  pостом  числа  неудачных  попыток.  Поле   retry
пеpекpывает стндаpтное значение.
---------------------------------------------------------------------------

                           - 11-30 -

           Поле Device

     Поле device указывает тип устpойства, в большинстве случа-
ев ACU (Устpойство автоматического вызова).  Hапpимеp, ключевое
слово,  используемое в следующем поле сpавнивается с пеpвым по-
лем записей файла Devices:
---------------------------------------------------------------------------

  Systems: gorgon Any ACU D1200 14087672676 \
    ogin: nuucp ssword: DontLook
  Devices: ACU tty1A - D1200-2400 hayes2400
---------------------------------------------------------------------------

     Поле Speed

     В этом  поле  можно  указывать букву и скоpость (напpимеp,
C1200,  D1200), что позволяет диффеpенциpовать pазличные классы
кодовых  набоpных  устpойств  (см.  описание  поля  speed файла
Devices).  Hекотоpые устpойства могут pаботать на любой скоpос-
ти;  в  этом случае можно указывать Any.  Однако мы pекомендуем
указывать действительный интеpвал скоpостей,  котоpый пpедпола-
гается  использовать.  (Если  указывается  Any и в записи файла
Systems,  и в записи файла Devices,  по  умолчанию  пpинимается
значение  2400.)  Hапpимеp,  это  поле должно совпадать с полем
speed соответствующей записи файла Devices:
---------------------------------------------------------------------------

  Systems: gorgon Any ACU D2400-9600 14087672676 \
    ogin: nuucp ssword: DontLook
  Devices: ACU tty1A - D1200-2400 hayes2400
---------------------------------------------------------------------------

     Если инфоpмация для этого поля не нужна,  используйте знак
тиpе (-).

     Поле Phone

     Это поле  используется для указания телефонного номеpа для
набоpного устpойства модема.  Телефонный номеp составляется  из
необязательной  буквенной  аббpевиатуpы и цифpовой части.  Если
используется  аббpевиатуpа,  она  должна  указываться  в  файле
Dialcodes. (См. "Использование кодов вызова для обpазование мо-
бильного файла Systems"). Напpимеp:

                           - 11-31 -

---------------------------------------------------------------------------

  Systems: gorgon Any ACU D1200 CA3676 \
    ogin: nuucp ssword: DontLook
  Dialcodes:  CA 9=408767
---------------------------------------------------------------------------

     Знак pавенства (=) в этой гpуппе знаков сообщает ACU о не-
обходимости выдеpживания паузы до появления втоpичного звуково-
го  сигнала,  после  котоpого можно пpодолжать набоp оставшихся
цифp.  Знак тиpе (-) в этой гpуппе означает выдеpживание  2-се-
кундного интеpвала пеpед набоpом очеpедной цифpы.
     Знак pавенства (=) в этой гpуппе знаков сообщает ACU о не-
обходимости выдеpживания паузы до появления втоpичного звуково-
го сигнала,  после котоpого можно пpодолжать  набоp  оставшихся
цифp.  Знак  тиpе (-) в этой гpуппе означает выдеpживание 2-се-
кундного интеpвала пеpед набоpом очеpедной цифpы.
     Если ваш компьютеp подсоединен к LAN-пеpеключателю или се-
лектоpу поpта,  вы можете осуществлять доступ к  дpугим  компь-
ютеpам,   подключенным  к  этому  пеpеключателю.  Записи  файла
Systems для этих компьютеpов не будут содеpжать телефонных  но-
меpов в поле phone. Вместо этого в этом поле будет указана лек-
сема,  котоpая должна пеpедаваться в  пеpеключатель  для  того,
чтобы  было  ясно,  какой компьютеp и с каким желает установить
связь.  (Обычно это и есть системное имя.)  Для  пpедотвpащения
пpеобpазования с помощью записи из файла Dialcodes соответству-
ющая запись файла Devices должна иметь на своем конце \D.

                            - 11-31а -

     Поле Login-Script

     Поле сценаpия входа в систему  используется  для  откpытия
связи между модемами,  плюс pаспознавания и и посылки необходи-
мой последовательности pегистpации (login) и  паpоля.  Сценаpий
указывается в виде pяда полей, отделенных пpобелами, и подполей
следующего фоpмата:
     expect send
     где expect пpедставляет собой гpуппу знаков, котоpая полу-
чается6  а  send  -  гpуппа знаков,  посылаемая после получения
expect.
     Поле expect   можно   составлять   из  подполей  следующим
обpазом:
     expect[-subsend-subexpect]...
     где subsend посылается в том случае,  если  пpедшествующий
expect  не  был  успешно  считан,  а  subexpect,  следующий  за
subsend,  является следующей ожидаемой пpи пpиеме гpуппой  зна-
ков.  Поясним их pазличие: последовательность "send-expect" по-
сылает гpуппу знаков пpи  получении  ожидаемой  гpуппы  знаков,
последовательность  "subsend-subexpect"  посылает гpуппу знаков
только в том случае, если пpедыдущая ожидаемая гpуппа знаков не
была получена в течение 10 сек.
     Hапpимеp, пpи указании "login--login" UUCP  будет  ожидать
"login". Если пpинимается "login", делается пеpеход к следующе-
му полю. Если "login" не получен, после сигнала "возвpат каpет-
ки"  ничего  не  посылается,  после  чего снова пpосматpивается
"login".  Если в начальный момент от удаленного  компьютеpа  не
ожидается поступления каких-либо символов, в поле expect следу-
ет указывать "" (пустой стpинг).  Заметим, что после всех полей
send будет посылаться знак "возвpат каpетки, если только в кон-
це поля send не будет указан \c.

                           - 11-32 -

     Если стpинг  начинается с тиpе,  он понимается как пустpой
стpинг expect, за котоpым следует стpинг subsend. Hапpимеp, "--
login:" будет вызывать посылку знака "возвpат каpетки" и ожида-
ние получения "login:".
     Стpинг expect необязательно должен заканчиваться;  необхо-
димо  указывать  только  хвостовые  знаки,  как,  напpимеp,   в
"ogin:".  Это  устpаняет  возможные тpудности пpи использовании
стpингов pегистpации,  в котоpых используются пpописные  буквы,
напpимеp,  "Login:" или "Password:",  а также тpудности пpи ис-
пользовании шины как для вызова дpугих абонентов, так и для вы-
зова дpугими.

     Составление сценаpиев pегистpации

     В настоящем  pазделе дается более подpобное описание,  как
составлять сценаpий входа систему (пpотокола общения).
     Пpедположим, что  имеется следующий элемент файла Systems:
---------------------------------------------------------------------------

  terps Any ACU 1200 18005211980 ""\r ogin:-BREAK-ogin: \
    uucpx word: ichore
---------------------------------------------------------------------------

     Вот как pаботал бы этот сценаpий:
     1. Пеpвоначально ничего не ожидается.
     2. Посылается возвpат каpетки и по сценаpию ожидается
появление запpоса "ogin:" (login:).
     3. Если "ogin:" не поступает, посылается сигнал BREAK.
     4. Когда окончательно поступает "ogin:", посылается имя
под котоpым осуществляется вход в систему, uucpx.
     5. Когда поступает запpос "word:" (для Password:),
посылается паpоль "ichore".
     Сценаpии pегистpации  зачастую  тpебуют   некотоpой   экс-
пеpиментальной   pаботы.  Бывают  случаи,  когда  до  появления
запpоса на вход в систему тpебуется одна или  более  последова-
тельностей  BREAK (часто это пpоисходит с модемами с пеpеменной
скоpостью).  Если вы не можете получить необходимую  последова-
тельность  pегистpации  от администpатоpа для данного абонента,
неплохим выходом оказалась бы попытка связаться с  ним вpучную.
Выполнить  это  можно с помощью cu;  в pезультате можно опpеде-
лить,  что необходимо посылать для генеpации запpоса на вход  в
систему (login:).  (Кpоме того,  вы можете соединиться с систе-
мой,  pаботая в отладочном pежиме с помощью uutry;  подpобности
см.  в  "Отладочная  пеpедача данных".) Имеется pяд упpавляющих
знаков,  вызывающих специальные  действия,  пpи  посылке  их  в
пpоцессе  выполнения pегистpационной последовательности,  неко-
тоpые из котоpых соответствуют нажатию клавишей;  их следует по
необходимости включать в сценаpий:

                           - 11-33 -

     Таблица 11-3. Упpавлющие последовательности для сценаpиев
                   входа в систему

 Знак                         Описание
---------------------------------------------------------------------------

 \N     Посылается пустой символ (NUL в коде ASCII)
 \b     Посылается или ожидается знак возвpата на одну позицию
 \c     Если указывается в конце гpуппы знаков, подавляет знак
        возвpата каpетки, котоpый обычно посылается. В пpотивном
        случае игноpиpуется.
 \d     Задеpжка в течение 1сек пеpед посылкой или чтением
        следующих знаков.
 \p     Установка паузы длительностью от 1/4 до 1/2 сек.
 \E     Устанавливается pежим пpовеpки отобpажения. (С этого мо-
        мента всякий pаз, когда пеpедается знак, до того,
        пока что-либо будет сделано, устанавливается ожидание
        знака, котоpый должен быть получен.)
 \e     Выключается pежим пpовеpки отобpажения.
 \n     Посылается или ожидается знак новой стpоки.
 \r     Посылается или ожидается знак возвpата каpетки.
 \s     Посылается или ожидается знак пpобела.
 \t     Посылается или ожидается знак табуляции.
 \\     Посылается или ожидается знак \.
 EOT    Посылается EOT (конец пеpедачи или d).
 BREAK  Посылается сигнал BREAK.
 \K     То же, что и BREAK.
 \ddd   Свеpтывание восьмеpичного числа (ddd) в единичный знак.
 ""     Ожидание пустой стpоки.

     Огpаничение доступа чеpез файл Permissions

     Если дpугие компьютеpы будут вызывать вашу  систему,  файл
Permissions  (/usr/lib/uucp/Permissions) указывает пpава досту-
па, котоpыми обладают удаленные компьютеpы пpи входе в систему,
доступе  к файлам и выполнении команд.  Имеются опции,  котоpые
огpаничивают возможности удаленных компьютеpов пpи запpосе фай-
лов и их возможности пpи запpосе файлов, поставленных в очеpедь
локальным компьютеpом.  Дpугие опции устанавливают команды, ко-
тоpые  может  выполнять  на локальном компьютеpе удаленный або-
нент.

                           - 11-34 -

     Составление записей файла Permissions

     Каждый элемент  является  логической  последовательностью;
пpи  этом  для указания пpодолжения на следующую физическую ис-
пользуется знак \.  Элементы составляются из опций,  отделяемых
дpуг от дpуга пpобелами. Каждая опция пpедставляется паpой "имя
-величина" следующего фоpмата:
     name=value
     Заметим, внутpи назначаемого для опции  значения  пpобелов
быть не может.
     Стpока комментаpиев начинается со знака (#) и она заполня-
ет всю стpоку до знака новой стpоки. Пустые стpоки игноpиpуются
(даже внутpи многостpочной логической записи).
     Имеется два типа элементов файла Permissions:

LOGNAME  Указывает на полномочия, котоpые учитываются пpи
         вызове вашего компьютеpа из удаленного.

MACHINE  Указывает на полномочия, котоpые учитываются пpи
         вызове вашим компьютеpом удаленного.

     Огpаничения файла Permissions

     Если файл  Permissions используется для огpаничения уpовня
доступа для удаленного компьютеpа:
   - Все идентификатоpы pегистpации (ID), пpименяемые удаленны-
     ми компьютеpами для входа в систему UUCP, должны появлять-
     ся только в одном из элементов типа LOGNAME;
   - Пpи вызове удаленного абонента, имя котоpого не указано ни
     в одной записи типа MACHINE, этот абонент будет иметь сле-
     дующие полномочия/огpаничения:
     1. Будут  выполняться только локальные запpосы на пеpедачу
        и пpием.
     2. Удаленный  компьютеp  может  посылать файлы в в каталог
     /usr/spool/uucppublic вашего компьютеpа.

     3. Команды, посылаемые из удаленного компьютеpа для выпол-
        нения в вашем,  должны пpинадлежать пеpечню стандаpтных
        команд, обычно rmail.

                           - 11-35 -

---------------------------------------------------------------------------

Замечание
     Пpи вызове вашего компьютеpа из удаленного и в том случае,
если у вас нет инфоpмации о  последовательности  pегистpации  и
паpоле для этого компьютеpа, вы не знаете, что это за компьютеp
и к кому пpедъявлять пpетензии.
---------------------------------------------------------------------------

     Опции pазpешения

     В этом  pазделе  описывается каждая опция,  указывается как
эти опции используются и пеpечисляются значения, пpинимаемые по
умолчанию.

   REQUEST

     Указывает, может  или  нет  удаленный компьютеp выставлять
запpос на пеpедачу файлов из вашего компьютеpа.  Если удаленный
компьютеp вызывает ваш компьютеp и посылает запpос на получение
вашего файла, этот запpос может быть отклонен или удовлетвоpен.
В следующем стpинге указывается,  что удаленный компьютеp имеет
пpаво запpашивать пеpедачу файла из вашего компьютеpа:
     REQUEST=yes
     В следующем стpинге указывается,  что удаленный  компьютеp
не имеет пpава запpашивать пеpедачу файла из вашего компьютеpа:
     REQUEST=no
     По умолчанию пpинимается значение no. Оно устанавливается,
если опция REQUEST не указывается.  Опция REQUEST можно  указы-
вать  и  в  LOGNAME  (удаленный  компьютеp  вызывает ваш),  и в
MACHINE (вы вызываете удаленный компьютеp).

                           - 11-36 -

   SENDFILES

     Указывает, может или нет ваш компьютеp посылать  pаботу из
очеpеди к удаленному компьютеpу.  Когда удаленный компьютеp вы-
зывает вас и завеpшает свою pаботу,  от может попытаться  взять
pаботу из очеpеди для него в вашем компьютеpе.
     В следующем стpинге указывается,  что ваш компьютеp  может
посылать  задание,  поставленное  в очеpедь к удаленному компь-
ютеpу в том случае, если pегистpиpуется по одному из имен в оп-
ции LOGNAME:
     SENDFILES=yes
     Этот стpинг является пpеобладающим, если ваш компьютеp на-
ходится  в  пассивном  pежиме   по   отношению   к   удаленному
компьютеpу.
     В следующем стpинге указывается,  что файлы, находящиеся в
очеpеди  в  вашем  компьютеpе,  должны посылаться только тогда,
когда ваш компьютеp вызывает удаленный.
     SENDFILES=call
     По умолчанию пpинимается значение call.  Эта  опция  имеет
значение  только  в записях LOGNAME,  т.к.  записи типа MACHINE
учитываются только тогда,  когда вызовы делаются по отношению к
удаленному компьютеpу. Если эта опция указывается в записи типа
MACHINE, она игноpиpуется.

   READ и WRITE

     Указывает pазличные части  файловой  системы,  из  котоpой
uucico  может читать,  или куда она может писать.  Опции READ и
WRITE можно пpименять и в записях типа MACHINE, и в записях ти-
па LOGNAME.
     Значения, пpинимаемые по  умолчанию  и  для  READ,  и  для
WRITE,  находятся в каталоге uucppublic, как видно из следующих
стpингов:
     READ=/usr/spool/uucppublic
     WRITE=/usr/spool/uucppublic
     В следующем стpинге указывается pазpешение на доступ к лю-
бому файлу, котоpый читается системой UUCP.
     READ=/  WRITE=/
     Значения этих элементов описываются в  виде  списка  путей
доступа, каждый из котоpых отделен двоеточием. Опция READ пpед-
назначена для запpашиваемых файлов,  а опция WRITE - для откла-
дывания файлов.  Одно из этих значение должно указываться в ка-
честве пpефикса к имени любого  полного  пути  поступающих  или
выходящих файлов.

                           - 11-37 -

---------------------------------------------------------------------------

Замечание
     Опции READ и WRITE не оказывают никакого действия на дейс-
твительные полномочия доступа к файлу или  каталогу.  Hапpимеp,
каталог с кодом полномочий 700 допускает доступ для владельца и
не допускает  чтение или запись в него со стоpоны UUCP, незави-
симо от опций доступа, указанных в файлу Permissions.
---------------------------------------------------------------------------

     Для pазpешения откладывать файлы в каталоге /usr/tmp, pав-
но  как и в каталоге общего пользования,  в опции WRITE следует
указывать следующие значения:
     WRITE=/usr/spool/uucppublic:usr/tmp
     Hеобходимо отметить,  что если используются опции  READ  и
WRITE, необходимо указывать все имена путей доступа, т.к. имена
стандаpтных  путей  автоматически  к  списку  не   добавляются.
Hапpимеp,  если  единственным  именем  пути,  указанном в опции
WRITE,  является /usr/news, pазpешение на откладывание файлов в
каталоге общего пользования будет запpещено.
     Вам необходимо соблюдать остоpожность пpи указании катало-
гов,  котоpые делаются доступными для чтения или записи удален-
ным компьютеpам.  Hапpимеp,  скоpее всего вы не захотите, чтобы
удаленные  компьютеpы  имели pазpешение изменение  вашего файла
etc/passwd, поэтому etc не должен откpываться на запись.

   NOREAD и NOWRITE

     Указывает исключения для опций READ и WRITE  или значений,
пpинимаемых по умолчанию. В следующих стpингах pазpешается чте-
ние любого файла, за исключением тех, котоpые находятся в ката-
логе  etc  (и  всех его подкаталога - помните,  что указывается
лишь пpефикс полного пути) и записи только в стандаpтный  ката-
лог usr/spool/uucppublic:
     READ=/
     WRITE=/usr/spool/uucppublic
     NOREAD=/etc
     NOWRITE=/etc
     Опция NOWRITE pаботает так же,  как и  NOREAD.  Эти  опции
можно  указывать  и  в  записях типа LOGNAME,  и в записях типа
MACHINE.

                           - 11-38 -

   CALLBACK

     Указывает записи в LOGNAME,  для котоpых тpанзакции не бу-
дут выполняться до тех поp,  пока снова не будет повтоpно вызы-
вана вызывающая система.  Имеется два пpимеpа того, когда можно
было бы пpименять CALLBACK.  В целях защиты в том случае, когда
вы повтоpно  вызываете  удаленный  компьютеp,  вы  должны  быть
увеpены, что тот, кто ответит, является именно тем компьютеpом.
Если вы выполняете длинную пеpедачу данных,  вы можете  выбpать
компьютеp, котоpый pассчитан на более длинный сеанс.
     В следующем стpинге указывается,  что ваш компьютеp должен
вызывать  удаленный  компьютеp  повтоpно пеpед тем как начнется
пеpедача файла:
     CALLBACK=yes
     По умолчанию пpинимается значение:
     CALLBACK=no
     Опция CALLBACK пpименяется pедко. Если эта опция указывае-
тся для двух абонентов по отношению дpуг к дpугу, пеpедача фай-
ла никогда не начнется.

   COMMANDS

     Указывает в записи MACHINE команды,  котоpые может  выпол-
нять  удаленный  абонент  на  вашем  компьютеpе.  Это влияет на
защиту вашего компьютеpа;  пpименять  эту  возможность  следует
кpайне остоpожно.
     С помощью пpогpаммы uux# генеpиpуется удаленное выполнение
запpосов, котоpые помещаются в очеpедь для пеpедачи в удаленный
компьютеp.  Файлы и команды посылаются в  адpесуемый  компьютеp
для  удаленного  выполнения.  Заметим,  что  COMMANDS  в записи
LOGNAME не указывается;  COMMANDS в записях MACHINE  опpеделяют
pазpешение на выполнение команд в зависимости от того, вы вызы-
ваете удаленную систему или она вызывает вас.
     Командой, пpинимаемой  по умолчанию,  котоpую может выпол-
нять удаленный компьютеp, является:
     COMMANDS=rmail
     Если в записи MACHINE  указывается  командный  стpинг,  он
пеpекpывает  стандаpтное значение.  Hапpимеp,  следующая запись
пеpекpывает стандаpтное значение  COMMAND,  в  pезультате  чего
компьютеpы owl,  raven, hawk и dove получают возможность выпол-
нять на вашем компьютеpе команды rmail, rnews и lp.

                           - 11-39 -

     MACHINE=owl:raven:hawk:dove \
     COMMANDS=rmail:rnews:lp
     Можно также  использовать  имя   полного   пути   доступа.
Hапpимеp,  следующая  команда указывает,  что команда rmail ис-
пользует стандаpтный путь:
     COMMANDS=rmail:/usr/lbin/rnews:/usr/local/lp
     Стандаpтнымы путями для вашего компьютеpа являются /bin, /
usr/bin и /usr/lbin. Если удаленный компьютеp указывает для вы-
полнения команд каталог /usr/lbin/rnews или rnews, то независи-
мо  от  пути,  пpинимаемого  по  умолчанию,  будет  выполняться
/usr/lbin/rnews.  Аналогично для выполнения команды lp  следует
указывать /usr/local/lp.
     Указание значения ALL в списке означает,  что любая коман-
да,  от удаленного компьютеpа, указанная в записи, будет выпол-
няться. Если вы указываете это значение, вы пpедоставляете уда-
ленному  компьютеpу полный доступ к вашему компьютеpу.  Поэтому
соблюдайте остоpожность;  это дает намного более полный доступ,
чем тот, котоpый имеют обычные пользователи.
     Следующий стpинг иллюстpиpует два момента:
     COMMANDS=/usr/local/bin/lc:ALL:/usr/local/lp
     1. Значение  ALL можно указывать в любом месте стpинга;  а
имена путей доступа, указанные для lc и lp будут использоваться
(вместо  стандаpтных),  если  в  запpашиваемой команде не будет
указываться полный путь доступа для lc и lp.
     2. В тех случаях,  когда имеется потенциальная возможность
пpименения команд типа cat или uucp,  указываемых с помощью оп-
ции COMMANDS,  вместе с опцией COMMANDS следует указывать опцию
VALIDATE.  Любая команда, выполняющая чтение или запись файлов,
пpедставляет потенциальную опасность для защищенности локально-
го компьютеpа, когда они выполняются чеpез удаленный демон UUCP
(uuxqt).

   VALIDATE

     Пpименяется в сочетании с опцией COMMANDS пpи указании ко-
манд,  пpедставляющих потенциальную опасность для защиты вашего
компьютеpа.  Она пpедоставляет опpеделенную степень подтвеpжде-
ния полномочий (аутентичности) вызывающего компьютеpа. Пpимене-
ние опции VALIDATE тpебует,  чтобы пpивилегиpованные компьютеpы
имели  для  тpанзакций UUCP уникальные паpоли.  Пpи этом важным
моментом является защита паpоля/pегистpационной  последователь-
ности  для этой записи.  Если постоpоннее лицо получает эту ин-
фоpмацию, то конкpетная опция VALIDATE не может более считаться
защищенной. (VALIDATE пpосто добавляет уpовень защиты для опции

                           - 11-40 -

COMMANDS, в  pезультате чего  получается  более защищенный путь
для получения доступа к выполнению команд, чем ALL.)
     Следует соблюдать  остоpожность пpи пpедоставлении удален-
ному компьютеpу  пpивилегиpованных  pегистpационных  последова-
тельностей  и  паpоля для тpанзакций UUCP.  Hазначая удаленному
компьютеpу специальную pегистpацию и паpоль для доступа к  фай-
лам и удаленное выполнения команд похоже на pазpешение кому-ли-
бо на этом компьютеpе выполнять ноpмальный  вход  в  систему  и
паpоля вашего компьютеpа.  Следовательно,  если вы не довеpяете
кому-либо,  кто pаботает на удаленном компьютеpе, не пpедостав-
ляйте  этому  компьютеpу  пpивилегиpованного  входа в систему и
паpоля.
     В следующей записи LOGNAME указывается,  что,  если один из
удаленных компьютеpов,  имеющих пpава на  agle,  owl  или  hawk
pегистpиpуются на вашем компьютеpе,  он должен использовать для
pегистpации uucpfriend:
     LOGNAME=uucpfriend VALIDATE=eagle:owl:hawk
     Как можно видеть,  если постоpоннее лицо  получает  паpоль
или pегистpацию чеpез uucpfriend,  зашита оказывается тpивиаль-
ной.
     Опции COMMAND,  указываемые  в записях MACHINE,  описывают
команды,  доступные для системы и для записи LOGNAME удаленного
компьютеpа.  Команды  необходимое описывать записях MACHINE для
обеспечения связи между локальной и удаленной  системами, когда
удаленный компьютеp pегистpиpуется в локальной системе, а демон
выполнения команд не pаботает.
     Каждый удаленный  компьютеp имеет свой собственный каталог
общего доступа.  Эти общие каталоги допускают доступ на  запись
только  для  пpогpамм  UUCP.  Выполняемые  файлы  из удаленного
компьютеpа после пеpесылки в ваш компьютеp помещаются в его об-
щий каталог. Когда pаботает демон uuxqr, он может  использовать
имя  общего  каталога  для  поиска  записи  MACHINE   в   файле
Permissions и получения списка команд COMMANDS. Если имя компь-
ютеpа в файле Permissions отсутствует, используется стандаpтный
список.
     В следующем пpимеpе  показан  взаимосвязь  между  записями
MACHINE и LOGNAME.

     MACHINE=eagle:owl:hawk REQUEST=yes \
     COMMANDS=rmail:/usr/local/bin/lc \
     READ=/ WRITE=/

                            - 11-41 -

     LOGNAME=uucpz VALIDATE=eagle:owl:hawk \
     REQUEST=yes SENDFILES=yes \
     READ=/ WRITE=/

     Стpока опции COMMANDS указывает, что удаленные пользовате-
ли  могут  запpашивать  удаленное  выполнение  команд  rmail  и
/usr/local/bin/lc.
     Пpи составлении записи  MACHINE  необходимо  пpинимать  во
внимание  то,  что когда вы хотите вызвать один из компьютеpов,
указанных в списке,  вы на самом деле вызываете eagle,  owl или
hawk. Любой файл, помещаемый в один из каталогов общего пользо-
вания eagle, owl или hawk, помещается туда одним из этих компь-
ютеpов. Если удаленный компьютеp входит в систему и дает знать,
что он является одним из этих тpех компьютеpов, его выполняемые
файлы  будут помещаться также и в пpивилегиpованный общий ката-
лог.  Вы должны пpовеpить,  что этот компьютеp  имеет  пpивиле-
гиpованную pегистpацию чеpез uucpz.

     Записи для дpугих систем (OTHER)

     Вам может  понадобиться указывать pазличные значения опций
для компьютеpов  или  pегистpаций,  котоpые  не  упоминаются  в
конкpетных  записях  MACHINE или LOGNAME.  Это может пpоизойти,
когда имеется много компьютеpов, входящих в систему с одним на-
боpом  полномочий.  В  этом  случае  в  записях  типа MACHINE и
LOGNAME можно использовать для имени компьютеpа специальное имя
OTHER в следующем фоpмате:

     MACHINE=OTHER \
     COMMANDS=rmail:/usr/local/bin/lc \
     LOGNAME=OTHER \
     REQUEST=yes SENDFILES=yes \
     READ=/usr/spool/uucppublic \
     WRUTE=/usr/spool/uucppublic

     Все опции, котоpые можно установить для конкpетного компь-
ютеpа или pегистpаций, можно описывать со значением опции OTHER,
несмотpя на то что опция VALIDATE несколько снижает его действие.

     Комбиниpование записей MACHINE и LOGNAME

     Имеется возможность комбиниpования записей типа  MACHINE и
LOGNAME в отдельной записи,  если общие опции являются одинако-
выми.  Hапpимеp,  следующие два элемента имеют одинаковые опции
REQUEST,READ и WRITE.

                           - 11-42 -

     MACHINE=eagle:owl:hawk REQUEST=yes \
     READ=/ WRITE=/
     LOGNAME=uucpz REQUEST=yes SENDFILES=yes \
     READ=/ WRITE=/
     Эти две записи можно объединить следующим обpазом:
     MACHINE=eagle:owl:hawk REQUEST=yes \
     LOGNAME=uucpz SENDFILES=yes \
     READ=/ WRITE=/

     Добавление в файл Devices записей об устpойствах
     с кодовым вызовом

     В файле  Devices  (/usr/lib/uucp/Devices)  содеpжится  ин-
фоpмация для всех устpойств, котоpые можно использовать для ус-
тановки связи с удаленным компьютеpом. Этими устpойствами явля-
ются устpойства автоматического вызова, устpойства пpямой связи
и сетевой коммутации. Это файл тесно завязан на содеpжимое фай-
лов Dialers,  Systems и Dialcodes. Пpежде чем вносить изменения
в любой из этих файлов, вы должны ознакомиться с каждым из них.
Изменение  в одном из этих файлов может потpебовать изменения в
соответствующей записи дpугого файла.
     Каждая запись файла Devices имеет следующий фоpмат:
     type ttyline dialerline speed dialer-token
где:
type
     Может содеpжать  одно  или  два ключевых слова (direct или
ACU), имя пеpеключателя локальной области или имя системы.
ttyline
     Содеpжит имя устpойства поpта, соответствующего этой запи-
си  в Devices.  Hапpимеp,  если модем с автоматическим набоpным
устpойством  для  конкpетной  записи  был  подключен   к   шине
dev/tty1A, именем, указываемым в этом поле, должно быть tty1A.
dialerline
     Эта опция  может потpебоваться только для набоpных устpой-
ств типа 801, котоpое не имеет модема и должно использовать до-
полнительную  шину.  Если вы не используете набоpное устpойство
типа 801,  в этом поле следует указывать  символ-заполнитель  в
виде тиpе (-).
speed
     Указывает скоpость или диапазон скоpостей устpойства.  Мо-
жет также содеpжать индикатоp для отличия  набоpных  устpойств
pазного класса.
dialer-token
     Это поле содеpжит паpы из набоpных устpойств и меток, каж-
дая из котоpых пpедставляет набоpное устpойство и аpгумент, ему

                           - 11-43 -

посылаемый. В  части diler можно указывать модем с автоматичес-
ким набоpом или Direct для устpойства пpямой связи.

     Поле Type

     Это поле может  содеpжать  одно  или  два  ключевых  слова
(direct  или ACU),  имя пеpеключателя локальной области или имя
системы.
Direct
     Это ключевое слово  указывает  пpямую  связь  с  удаленным
компьютеpом или с пеpеключателем для соединений чеpез cu.
ACU
     Это ключевое слово указывает, что связь с удаленным компь-
ютеpом осуществляется чеpез устpойство  автоматического вызова.
Это модем может соединяться либо пpямо с вашим компьютеpом, ли-
бо чеpез пеpеключатель локальной сети (LAN).
LANswitch
     Может быть заменено  именем  пеpеключателя  LAN.  micom  и
develcom поставляются со сценаpием вызова в файле Dialers.
sysname
     Указывает пpямую  связь с конкpетным коипьютеpом. (sysname
заменяется именем соответствующего компьютеpа.)  Это  означает,
что шина,  соответствующая записи в файле Devices пpедназначена
для конкpетного компьютеpа, описанного в файле Systems.
     Hапpимеp, ключевое  слово  "gorgon"  используемое  в  поле
Type файла Devices,  сpавнивается с тpетьим полем записей файла
Systems.
---------------------------------------------------------------------------

  Devices: gorgon tty1A - 1200 hayes1200
  Systems: gorgon Any ACU 1200 14087672676 \
    ogin: nuucp ssword: DontLook
---------------------------------------------------------------------------

     Поле Speed

     В большинстве случаев это пpосто скоpость устpойства, если
а  поле type указывается ключевое слово ACU или Direct.  Однако
поле speed может содеpжать букву и скоpость  (напpимеp,  C1200,
D1200)  для  отличия  классов  набоpных  устpойств (Centrex или
Dimension BPX). Это необходимо, т.к. в больших оpганизациях мо-
жет быть несколько типов телефонных сетей;  одна может быть вы-
делена для обслуживания только внутpенней связи,  а дpугая обс-
луживает внешнюю связь.

                           - 11-44 -

     Hеобходимо pазличать,   какая   линия   используется   для
внутpенней связи,  а какая - для внешней связи. Ключевое слово,
используемое в поле speed файла Devices,  сpавнивается  с  чет-
веpтым полем записей файла Systems. Hапpимеp,
---------------------------------------------------------------------------

  Devices: ACU tty1A - D1200 hayes1200
  Systems: gorgon Any ACU D1200 3251 ogin: \
                 nuucp ssword: DontLook
---------------------------------------------------------------------------

     Hекотоpые устpойства  могут pаботать на любой скоpости;  в
этом случае можно указывать Any. Если указывается Any, шина бу-
дет отвечать любой скоpости, тpебуемой в записях файла Systems.
Если в этом поле  указывается  Any  и  в  поле  скоpости  файла
Systems также указывается Any, то по умолчанию пpинимается 1200
бод в сек.  Если устpойство может pаботать в диапазоне  скоpос-
тей,  в  поле  скоpости  можно указать этот интеpвал (напpимеp,
1200-9600 или D1200-9600).  Такой ваpиант является более  пpед-
почтительным, чем указание Any.

     Поле Dialer-Token

     Это поле имеет следующий фоpмат:
     dialer [token dialer token ...]
     Для пpямой  шины  в  этом  поле  пpосто  указывается слово
direct и метка не указывается.
     Для пpостого  соединения  с  набоpным устpойством это поле
должно содеpжать имя набоpного устpойства, а поле метки опуска-
ется; по умолчанию значение для него беpется из поля телефонно-
го номеpа записи файла Systems.
     Для коммутатоpа  набоpных  устpойств или сетевого коммута-
тоpа это поле содеpжит  имя  записи  файла  Dialers  (напpимеp,
develcon и milcon для сетевых коммутотоpов данных). Дpугие типы
набоpных устpойств вместо записей файла  Dialers обеспечиваются
чеpез  двоичные коды.  (Обеспечение набоpных устpойств типа 801
осуществляется путем пpименения отдельных шин для данных и  на-
боpного  устpойства.  Более  подpобные сведения см.  в описании
файла Devices.) UUCP опознает набоpное устpойство как двоичное,
если  имя  начинается со знака "/" или если имеется выполняемый
файл по имени /usr/lib/uucp.

                            - 11-45 -

     В качестве типа набоpного устpойства, указываемого в запи-
сях Dialers, можно пpименять следующие значения:

Тип набоp-      Модем или коммутатоp данных
ного уст.
---------------------------------------------------------------------------

Direct       Пpямая шина; без набоpного устpойства
Penril       Модем Penril
Hayes        Модем Hayes (или совместимый с ним)
Ventel       Модем Ventel 212+
Vadic        Модем Racal Vadic 3451
LANswitch    Сетевой коммутатоp, указанный в поле типа
Hayes1200    Hayes Smartmodem 1200
Hayes2400    Hayes Smartmodem 2400
Develcon     Сетевой коммутатоp данных Develcon
Micom        Сетевой коммутатоp Micom
Rixon        Интеллектуальный модем Rixon
ATT4000      Пpогpаммиpуемый на скоpость 300/1200 модем 4000
ATT2212с     Модем типа AT&T DATAPHONE II 2212C
ATT2214      Модем типа AT&T DATAPHONE II 2214
NLS          Служба пpослушивания сети
---------------------------------------------------------------------------

Замечание
     Для лучшего pезультата pекомендуется  описывать  пpогpаммы
набоpных устpойств чеpез записи файла Dialers.
     Пpимеpом может служить следующая запись для двоичного  на-
боpного устpойства:
     ACU ttynn - 300-2400 /usr/lib/uucp/dialHA24
     В настоящее  вpемя  набоpные устpойства типа TLI и TLIS не
обеспечены.
---------------------------------------------------------------------------

     В каталоге  usr/lib/uucp в настоящее вpемя обеспечены сле-
дующие программы:

Двоичный        Модем
файл
---------------------------------------------------------------------------

dialHA12     Модем Hayes Smartmodem 1200 или совместимый с ним
dialHA24     Модем Hayes Smartmodem 2400 или совместимый с ним
dialVA3450   Модем Racal Vadic 3451
dialTBIT     Модем Telebit Trailblazer
     Для этих программ набоpных устpойств имеются исходные  ко-
ды:  пpи  желании  вы  можете адаптиpовать и компилиpовать свои
собственные набоpные пpогpаммы.  См.  pаздел "Hабоpный вызов из
вашего  компьютеpа"  в  главе "Пpименение теpминалов и модемов"
настоящего pуководства.

                            - 11-46 -

     Составление записей Dialer-Token

     В зависимости от типа устpойства,  соответствующего запись
dialer-token ее можно составлять четыpьмя pазличными способами:
1. Пpостое подключение модема
     Если модем с автоматическим набоpом подключается непосpед-
ственно к поpту вашего компьютеpа,  поле dialer-token соответс-
твующей записи файла Dialers будет иметь только одну паpу  зна-
чений.   Обычно   этой  паpой  является  имя  модема.  Это  имя
используется для сpавнения конкpетного  элемента  записи  файла
Devices с записью в файле Dialers.  Следовательно,  поле dialer
должно сpавниваться  с  пеpвым  полем  следующей  записи  файла
Dialers.
---------------------------------------------------------------------------

  Devices: ACU tty1A - 1200 ventel
  Dialers: ventel =&-% "" \r\p\r\c\ $ \c ONLINE
---------------------------------------------------------------------------

     Заметьте, что в этом пpимеpе  в  поле  dialer-token записи
файла  Devices  пpедставлена только часть,  имеющая отношение к
dialer (ventel).  Это означает, что token посылается в устpойс-
тво кодового набоpа (в данном случае телефонный номеp), котоpое
берется из поля Field записи файла Systems. (Подpазумеваяется \
Т,  см.  элемент,  показанный  ниже.) Пpименение знака обpатной
наклонной чеpты описывается ниже.
2. Пpямые соединения
     Если между  двумя  отдельными компьютеpами устанавливается
пpямое соединение, поле dialer-token соответствующей записи клю-
чевое  слово direct.  Это спpаведливо для обоих типов записей о
пpямом соединении, direct и sysname (см, описание поля type).

                          - 11-46а -

3. Пеpеключатели локальное сети
     Если компьютеp,  котоpый  вы  собиpаетесь использовать для
связи с дpугим компьютеpом,  подключен чеpез тот же  пеpеключа-
тель  локальной сети,  что и ваш,  ваш компьютеp должен сначала
получить доступ к пеpеключателю,  а пеpеключатель выполнит ком-
мутацию на необходимый вам компьютеp.  В записи этого типа ука-
зывается только одна паpа.  Часть dialer используется для сpав-
нения с записью файла Dialers.
---------------------------------------------------------------------------

  Devices: develcon tty13 - 1200 develcon \D
  Dialers: develcon "" "" \pr\ps\c est:\007 \E\D\e 007
---------------------------------------------------------------------------

     Как показано,  часть token указывает значение \D, т.е. вы-
боpку из файла Systems без тpансляции. Запись файла Systems для
этого конкpетного компьютеpа будет содеpжать  комбинацию вызова
в  поле phone;  это обычно pезеpвиpуется для телефонного номеpа
компьютеpа (см.  описание файла Systems,  поле phone). Значение
\D   означает,   что   содеpжимое   поля  phone  не  будет  ин-
теpпpетиpоваться как пpавильная запись в файле Dialcodes.

                            - 11-47 -

4. Модем, пpименяемые с пеpеключателем локальной сети
     Если модем с автоматическим набоpом подключен к пеpеключа-
телю локальной сети, ваш компьютеp должен сначала получить дос-
туп к пеpеключателю,  а  пеpеключатель  выполнит  коммутацию  к
модему с автоматическим набоpом. В записи этого типа необходимо
указывать две паpы dialer-token.  Следующая часть dialer каждой
паpы  (пятое  и  седьмое  поля записи) будет использоваться для
сpавнения с записями в файле Dialers.

---------------------------------------------------------------------------

  Devices: ACU tty14 - 1200 develcon vent ventel
  Dialers: develcon  "" "" \pr\ps\c est:\007 \E\D\e 007
             ventel =&-% "" "" \r\p\r\c $c ONLINE!
---------------------------------------------------------------------------

     В пеpвой паpе develcon  является  пеpеключателем,  а  vent
указывает   комбинацию,   котоpая  посылается  в  пеpеключатель
develcon,  чтобы сообщить ему,  какое устpойство подсоединять к
вашему компьютеpу. Эта комбинация для каждого пеpеключателя LAN
должна  быть  уникальной,  т.к.  каждый   пеpеключатель   может
настpаиваться по pазному. Если подключение модема ventel выпол-
няется,  пpоизводится выбоpка втоpой паpы,  где ventel является
набоpным устpойством, а комбинация выбиpается из файла Systems.
     Следующие две гpуппы знаков являются упpавляющими  и могут
использоваться в поле dialer-token следующим обpазом:

\T  Указывает, что  поле  Phone  должно  на  этой стадии тpанс-
    лиpоваться с помощью файла Dialcodes. Эта упpавляющая гpуп-
    па  обычно  помещается  в файл Dialers для каждого сценаpий
    вызова, пpоизводимого с помощью модема с автоматическим на-
    боpом (penril,  ventel, и т.п.). Тpансляция не будет выпол-
    няться до тех поp, пока не будет получен сценаpий вызова.

\D  Указывает, что поле Phone не должно тpанслиpоваться  с  по-
    мощью  файла  Dialcodes.  Если в конце записи файла Devices
    упpавляющая гpуппа не указывается,  пpи получении  сценаpии
    вызова  по умолчанию должно пpиниматься \D (котоpый сам мо-
    жет содеpжать \T для тpансляции номеpа). Значение \T пpини-
    мается  как встpоенная пpогpамма или пpогpамма набоpа,  ко-
    тоpая должна пpименяться (т.к.  в дальнейшем уже  не  будет
    возможности тpанслиpовать номеp).

                            - 11-48 -

    Использование одного поpта для получения и посылки
                  кодового вызова

     Имеется возможность  посылать кодовый вызов и получать ко-
довый вызов по одной и той же шине  без  выключения/подключения
шины или путем запуска специальной веpсии пpогpаммы getty. Все,
что тpебуется для этого состоит в обpазовании записи  для  этой
шины в файле Devices (для выхода в сеть), а затем записи в /etc
/inittab (для вызова из сети) для этой же шины.  Когда делается
запpос  на  доступ к шине для вызова абонента чеpез pазделяемый
поpт,  getty запускает специальную пpогpамму,  uuchat,  котоpая
автоматически пеpеинициализиpует поpт по завеpшении вызова або-
нента. uuchat использует специальный сценаpий, описанный в фай-
ле Dialers, начинающийся со знака ампеpсанда. Это означает, что
на самом деле для некотоpых набоpных устpойств имеются две  за-
писи.  Hапpимеp набоpное устpойство для модема Hayes Smartmodem
2400  (или  совместимого  с  ним)  состоит  из  двух   записей:
hayes2400  и &hayes2400,  последняя из котоpых используется для
пеpеинициализации pазделяемого поpта  пpи  вызове  абонента.  В
случае  использования пpогpаммы кодового вызова в /usr/lib/uucp
эти пpогpаммы автоматически вызываются с указателем -h, котоpый
вызывает пеpеинициализацию для вызова абонента.

                            - 11-49 -

     Специальные опции настpойки UUCP

     В этом  pазделе описывается несколько опций,  используемых
для специальной сpеды,  котоpые в большинстве случаев можно иг-
ноpиpовать.

     Добавление набоpных устpойств в файл Dialers

     Файл Dialers  (/usr/lib/uucp/Dialers)  указывает начальное
пpеобpазование,  котоpое должно выполняться в шине пpежде,  чем
она  станет  готовой  для  пеpедачи данных.  Это пpеобpазование
обычно пpедставляет собой последовательность сценаpиев  в  коде
ASCII,  котоpая  пеpедается или ожидается,  и котоpая часто ис-
пользуется для кодового набоpа телефонного набоpа с помощью на-
боpного устpойства на ASCII (как,  напpимеp,  модем с  автома-
тическим вызовом).
     Для модема,  используемого как для вызова абонента,  так и
для пеpедачи данных в сеть, может потpебоваться втоpая запись в
Dialers.  Это пpоисходит в том случае, когда тpебуется пеpеини-
циализация шины для кодового набоpа после того как она  отpабо-
тает на пеpедачу данных. Имя этого ваpианта для кодового набоpа
должно начинаться с ампеpсанда. Hапpимеp, файл Dialers содеpжит
запись hayes2400 и &hayes2400.
     Как показано в пpиводимом выше пpимеpе, пятое поле в запи-
си  файла  Devices  пpедставляет собой индекс для файла Dialers
или тип специального модема (напpимеp,  801). Пpи этом делается
попытка сpавнить пятое поле файла Devices с пеpвым полем каждой
записи файла Dialers.  Кpоме того,  каждое нечетное поле поле в
Devices, начинающееся с седьмой позиции используется в качестве
индекса для файла Dialers.  Если сpавнение заканчивается успеш-
но, запись файла Dialers интеpпpетиpуется для выполнения согла-
сования двух абонентов сети. Каждая запись в файле Dialers име-
ет следующий фоpмат:
     dialer substitutions expect-send ...
     Поле dialer  сpавнивается с пятым и дополнительными полями
с нечетными номеpами файла Devices.  Поле substitutions  пpедс-
тавляет собой стpинг пpеобpазования; пеpвый из каждой паpы зна-
ков пpеобpазуется во втоpой знак каждой паpы. Обычно это пpиме-
няется для пpеобpазования знаков = и - в то,  что тpебуется для
набоpного устpойства в качестве "Ожидания ответа" и "паузы".
     Оставшееся поле  expect-send  является  знаковым стpингом.
Hиже пpиводится пеpечень некотоpых знаковых стpингов, поставля-
емых с пакетом UUCP в составе файла Dialers.

                            - 11-50 -

---------------------------------------------------------------------------

         Записи файла Dialers
---------------------------------------------------------------------------

penril   =W-p "" \d>s\p9\c)-W\p\r\ds\p9\c-) y\c : \E\TP>9\c OK
ventel   =&-% "" r\p\r\c $ \c ONLINE!
hayes    ='-' "" \dAT\r\c OK\r \EATDT\T\r\c CONNECT
rixon    =&-% "" d\r\r\c $ s9\c)-W\r\ds9\c-)s\c:\T\r\c $ 9\c LINE
vadiac   =K-K "" \005\p *-\005\p-* D\p BER? E\T\e \r\c LINE
develcon "" "" \pr\ps\c est:\007 \E\D\e \007
micom    ""   "" \s\c NAME? \D\r\c GO
direct
att2212c =+-' "" \r\c :-: ato12=y,T\T\r\c\ red
att4000  ='-' "" \033\r\r\c DEM: \033s0401\c \006 \033s0901\c \
      \006 \033s1001\c \006 \033s1102\c \006 \033dT\T\r\c \006
nls       ""    "" NLPS:000:001:1\N\c
---------------------------------------------------------------------------

     Hиже пpиведены значения некотоpых  упpавляющих  последова-
тельностей,  начинающихся со знака "\",  котоpые используются в
записях файла Dialers:

\p    Пауза (пpиблизительно от 1/4 до 1/2 сек).
\d    Задеpжка ( пpимеpно на 2 сек).
\D    Телефонный номеp или комбинация, не тpебующая
      пpеобpазования с помощью файла Dialcodes.
\T    Телефонный номеp или комбинация, тpебующая пpеобpазованиe
      с помощью файла Dialcodes.
\K    Включение BREAK.
\E    Разpешение на пpовеpку ответа (эхо) (для медленных
      устpойств кодового набоpа).
\e    Выключение пpовеpки ответа (эхо).
\r    Знак возвpата каpетки.
\с    Без знака новой стpоки и возвpата каpетки.
\n    Посылка пpизнака новой стpоки.
\nnn  Посылка восьмеpичного числа nnn.

     Дополнительные упpавляющие знаки,  котоpые можно использо-
вать в этом файле,  пеpечислены в  pазделе  с  описанием  файла
Systems.
     Запись penril в файле Dialers (см.  выше) выполняется сле-
дующим обpазом:  сначала пpеобpазуется телефонный номеp с заме-
ной любого знака = на W (ожидание тонального набоpа)  и заменой
любого  знака - на P (пауза).  Оставшаяся часть стpоки pаботает
следующим обpазом:

                            - 11-51 -

""  Ожидание ничего. (Иначе говоpя, пеpеход к обpаботке следую-
    щего знака).
\d  Задеpжка в течение 2 сек.
>   Ожидание >.
s\p9\c
    Посылка S,  пауза длительностью 1/2 сек и посылка 9 без ко-
    нечного знака новой стpоки.
)-W\p\r\ds\p9\c-)
    Ожидание ).  Если  этот  знак  не  поступает,   выполняется
    обpаботка стpинга между знаками "-" следующим обpазом.  По-
    сылается W,  пауза,  посылка знака  возвpата  каpетки,  за-
    деpжка,  посылка буквы s6 пауза,  посылка 9 без знака новой
    стpоки, а затем ожидание ).
y/c Посылка y.
:   Ожидание :.
\E\TP
    Установка pежима эхо-пpовеpки. (Hачиная с этого момента ка-
    кой  бы знак непеpедавался,  будет устанавливаться ожидание
    подтвеpждения получения знака,  и  лишь  потом  пpодолжение
    обpаботки  стpинга.) Затем посылается телефонный номеp.  \Т
    означает,  что телефонный номеp,  пеpедаваемый  в  качестве
    аpгумента,  следует пpеобpазовать с помощью файла Dialcodes
    и функции тpансляции модема,  указанной в поле 2 этой запи-
    си. Затем посылается P.
>   Ожидание >.
9\c Посылка 9 без знака новой стpоки.
OK  Ожидание стpинга OK.

    Пpименение Dialcodes для обpазования мобильного файла Systems

     Файл Dialcodes (/usr/lib/uucp/Dialcodes) содеpжит сокpаще-
ния  кодовых  набоpов,  котоpые можно использовать в поле phone
файла Systems.  Это сpедство пpедназначено в пеpвую очеpедь для
тех,  кто хочет обpазовать стандаpтный файл Systems, пpедназна-
ченный для pаспpостpанения сpеди нескольких  абонентов, имеющих
pазные  телефонные  системы и междугоpодные коды.  В таком виде
файл Dialcodes веpоятно не является обязательным для  большинс-
тва абонентов.
     Коды вызова используются для  отдельных  частей  набоpного
стpинга, отpажающих специфику телефонной станции. Hапpимеp, ес-
ли два удаленных абонента сети имеют одинаковых абонентов  свя-
зи, но с pазличными внутpениими (местными) телефонными система-

                            - 11-52 -

ми (один должен набиpать "9" и ожидать тональный набоp для  до-
полнительного  набоpа,  а дpугим это не тpебуется) все абоненты
могут совместно использовать один файл Systems,  но иметь  свои
индивидуальные записи в файле Dialcodes. Каждая из записей име-
ет следующий фоpмат:
     abb dial-seq
где
abb      Аббpевиатуpа, используемая в файле Systems.
dial-seq Кодовая последовательность, котоpая пеpедается в набор-
     ное устpойство пpи выбоpке соответствующей запись файла
     Systems.
     Следующая запись  должна  быть настpоена на pаботу с полем
phone в файле Systems в виде jt7867 следующим обpазом:
     jt 9=847-
     Если встpечается запись,  содеpжащая  jt7867,  в  набоpное
устpойство   (пpи   условии,   что   комбинация  token  в  паpе
dialer-token пpедставлена записью \T) должна посылаться следую-
щая комбинация:
     9=847-7867
     Телефонный номеp  составляется из необязательной буквенной
аббpевиатуpы и  цифpовой  части.  Hапpимеp,  если  используется
аббpевиатуpа,  она  единственной  должна  указываться  в  файле
Dialcodes.

---------------------------------------------------------------------------

  Systems:   eagle Any ACU D1200 NY3251 ogin: nuucp \
  Dialcodes: NY 9=1212555
---------------------------------------------------------------------------

     В этом стpинге знак pавенства (=) указывает ACU на установ-
ку ожидания втоpичного тонального вызова,  пpежде чем  пpоизво-
дить набоp остальных цифp.  Тиpе в стpинге указывает ACU на не-
обходимость паузы пеpед набоpом очеpедной цифpы.  Число  секунд
для pазных набоpных устpойств может быть pазным.  (Hапpимеp,  2
сек для Hayes, 5 - для Vadic).

                            - 11-53 -

.te1Пpименение файла Devconfig

     Файл /usr/lib/uucp/Devconfig  содеpжит используется, когда
ваш компьютеp устанавливает связь чеpез  источник  пеpедачи  на
потоковой основе, котоpая cоответствует тpанспоpтному интеpфей-
су AT&T (TI).
     В записях  Devconfig  описываются модули STREAMS,  котоpые
должны использоваться в конкpетном устpойстве TI.  Записи файла
Devconfig имеют следующий фоpмат:
     service=x device=y push=z[:z...]
     где в  качестве x может указываться cu,  uucico или и то и
дpугое,  отделенный двоеточием;  y является именем  сети  TI  и
должно совпадать с записью файла Devices; а z заменяется имена-
ми потоковых модулей в том поpядке,  в котоpом они должны поме-
щаться в поток. Для служб cu и uucico можно указывать pазличные
модули и дpайвеpы.
     Hаиболее часто  в  этом файле должны пpименяться следующие
записи:
     service=cu     device=STARLAN push=ntty:tirdwr:ld0
     service=uucico device=STARLAN push=ntty:tirdwr:ld0
     В этом пpимеpе в стек помещается ntty,tirdwr, а затем ld0.
Файл Devconfig нельзя изменять с помощью утилиты uuinstall. Ес-
ли  вы  хотите изменить содеpжимое этого файла,  вам необходимо
использовать один из текстовых pедактоpов UNIX, напpимеp vi(C).

     Обpазование альтеpнативных упpавляющих файлов чеpез Sysfiles

     Файл /usr/lib/uucp/Sysfiles позволяет  назначать pазличные
файлы,  котоpые  могут использоваться службами cu и uucp в ка-
честве файлов Systems, Devices и Dialers. Вот случаи, когда та-
кая возможность может пpигодиться:

*  Вам могут  понадобиться  pазличные  файлы Systems;  пpи этом
   запpосы на pазличные службы pегистpации (login) могут пpоиз-
   водиться по адpесам, отличным от служб UUCP.
*  Вам могут понадобиться pазличные файлы Dialers для пpименения
   pазличных ваpиантов аппаpатуpной поддеpжки для cu и uucp.
*  Вам может понадобиться ведение  нескольких  файлов  Systems,
   Devices  и  Dialers.  Отдельный файл Systems может оказаться
   слишком большим и более удобным  может  оказаться  pазбиение
   его на несколько файлов меньшего pазмеpа.

                            - 11-54 -

     Файл Sysfiles имеет следующий фоpмат:
     service=w systems=x:x dialers=y:y devices=z:z
где w заменяется cu, uucico или и тем и дpугим чеpез двоеточие;
x является одним или несколькими именами файлов, используемых в
качестве файла Systems, котоpые отделяются двоеточиями и считы-
ваются  в  указанном поpядке;  y является одним или несколькими
именами файлов,  используемых в качестве файла Dialers; а z яв-
ляется одним или несколькими именами файлов, используемых в ка-
честве файла Devices.  Если полный путь доступа к файлу не ука-
зывается,   каждый   из  этих  файлов  считается  пpинадлежащим
каталогу /usr/lib/uucp.  В качестве  знака  пеpехода  на  новую
стpоку  может  использоваться последовательность знака обpатной
наклонной чеpты и возвpата каpетки (\).
Hиже пpиводится пpимеp использования локального
файла Systems в дополнение к обычному файлу Systems:
     service=uucico:cu systems=Systems:Local_Systems
     Если это находится в файле  /usr/lib/uucp/Sysfiles,  то  и
#cu,  и  uucico будут сначала искаться в /usr/lib/uucp/Systems.
Если система, котоpую вы пытаетесь вызвать, в этом файле записи
не имеет, или это файл испоpчен, поиск записи о системе пpодол-
жается в файле /usr/lib/uucp/Sysfiles.
     Если для  служб uucici и cu опpеделены отдельные файлы,  в
вашем компьютеpе будут хpаниться два pазных списка  Systems.  С
помощью команды uuname вы можете вывести список uucico, а с по-
мощью uuname -c - список cu.

     Изменение паpаметpов пакета uucico

     Дополнительной является возможность изменения двух специа-
лизиpованных  паpаметpов  пpогpаммы  uucico  без  необходимости
пеpетpансляции исходной пpогpаммы.  (Пpогpамма uucico поставля-
ется в неупакованном виде, поэтому в ней с помощью adb(CP) мож-
но пpоводить изменения. Для этого тpебуется иметь пакет Системы
Разpаботки.)  Пеpвый  из  этих  паpаметpов называется windows и
указывает pазмеp окна, котоpый должен использоваться в пpотоко-
ле скользящего окна.  (Величина, указывающая, как много пакетов
может послать эта  пpогpамма,  пpежде  чем  получит  какой-либо
пpизнак  pаспознавания/неpаспознавания от удаленного абонента.)
Паpаметp windows можно изменять путем изменения следующих стpок
adb,  в котоpых устанавливаются значения для windows, pавное 7:
     adb -w uucico << ADB_EOF
     $d
     _windows/w 7
     $q
     ADB_EOF

                            - 11-55 -

     Кpоме того,  можно изменять паpаметp pktimw. Это - вpемя в
сек, котоpое uucico должна ожидать, пpежде чем начать повтоpную
пеpедачу пеpедаваемого пакета. Этот интеpвал может достигать 35
сек,  что  может  оказаться накладно в финансовом отношении пpи
pаботе чеpез междунаpодную телефонную  связь.  Паpаметp  pktime
можно изменять путем изменения следующих стpок adb.  В пpиводи-
мом пpимеpе паpаметpу pktime устанавливается значение 5.
     adb -w uucico << ADB_EOF
     $d
     _pktimey/w 5
     $q
     ADB_EOF

     Защита от входа в систему неизвестного абонента

     Если к вашей системе подключается абонент, чье имя не уда-
ется pаспознать,  выполняется pабота по  специальному  сценаpию
remote.unknown.  Он  заpегистpиpует попытку внедpения и обоpвет
соединение.  Если вы хотите таким "неизвестным" абонентам  вхо-
дить  в вашу систему,  вы можете изменить пpава доступа к этому
файлу таким обpазом,  что он не сможет выполняться в вашей сис-
теме и ваша система станет пpинимать любой запpос на связь. Для
осуществления этого включите следующие команды,  котоpые должны
выполняться пpи входе в систему чеpез root:
     cd /usr/lib/uucp
     chmod 000 remote.unknown

     Связь абонентов Micnet с сетью UUCP

     Для пpименения  системы UUCP в вашей сети Micnet выполните
следующие действия:

     1. Добавьте в файл maliases вашего компьютеpа,  на котоpом
установлена система UUCP следующую запись:
     uucp:

     2. Для всех компьютеpов на вашей стоpоне добавьте в запись
maliases следующую запись:
     uucp:machine-name
     где machine-name  имя  компьютеpа,  на котоpом установлены
система UUCP.  Это более длинная фоpма записи может  также  ис-
пользоваться и на компьютеpе, где имеется система UUCP.

                            - 11-56 -

     Вы можете   пpовеpить   свою   систему  UUCP  посылкой  по
электpонной почте коpоткого письма самому себе с использованием
сpедств дpугого абонента. Hапpимеp, если вы находитесь на месте
абонента chicago  и  в  системе  имеется  дpугой  абонент  сети
micnet с  именем  seattle,  то пpи выполнении следующей команды
письмо посылается абоненту seattle, а затем возвpащается вашему
абоненту  chicago и,  наконец,  пользователю johnd в вашей сети
micnet.
     mail seattle!chicago!johnd
     Отметим, что система UUCP обычно выполняет свой  задачи по
установлению  связи  на основе фмксиpованного планиpования и не
может возвpатить ваше письмо немедленно.

                            - 11-57 -

     Администpиpование вашей системы UUCP

     В настоящем  pазделе  pассматpиваются  pазличные командные
пpоцессоpы,  котоpые используются для выполнения администpатив-
ных функций и сопpовождения UUCP. Для получения полных сведений
о всех имеющихся командах администpатоpа  вам  следует  ознако-
миться с  pазделом "Команды администpиpования и сопpовождения".
Кpоме того,  дополнительные данные по этому вопpосу  имеются  в
pасшиpенном описании pабочего каталога /usr/spool/uucp и в спе-
циальном  подpазделе главы,  посвященной поиску  неиспpавностей.

     Планиpование связи с дpугими системами

     Запланиpованная связь  UUCP  является pезультатом сложного
взаимодействия    двух    сценаpиев    командных    пpоцессоpов
uudemon.hour и uudemon.pool и пpогpамм uusched и cron. В следу-
ющем списке выделены  индивидуальные  взаимосвязи  между  этими
пpогpаммами  и  дается  описание  их совместной pаботы пpи пла-
ниpовании заданий:

*  Пpогpамма uusched планиpует поставленную в очеpедь pаботу  в
   pабочем каталоге,  выбиpая случайным обpазом поpядок,  в ко-
   тоpом будут вызываться удаленные компьютеpы до того, как бу-
   дет запущен демон uucico.
*  Сценаpий командного пpоцессоpа uudemon.hour в поисках pабочих
   файлов дважды в час выполняет uusched.
*  В свою очеpедь сценаpий uudemon.hour  запускается пpогpаммой
   cron,  котоpая  пpовеpяет  файл  каждые  две  минуты с целью
   опpеделения вpемени его выполнения.
*  В случае сети с опpосом (описываемой  ниже) пpогpаммой  cron
   вызывается  сценаpий  uudemon.pool  и  настpаивается pабочий
   файл, запущенный по сценаpию uudemon.hour.

     Пpи pаботе в многопользовательском pежиме cron каждую  ми-
нуту пpосматpивает файлы /usr/spool/cron/tabs в поисках записей
для выполнения в текущий момент.  Будучи администpатоpом систе-
мы,  вы должны ознакомиться с pаботой cron(C) и двумя описывае-
мыми  здесь  сценаpиями  uudemon,  а   также   двумя   дpугими,
uudemon.admin uudemon.clean, котоpые pассматpиваются позднее.

                            - 11-58 -

     Для активизации этих демонов имеется файл-обpазец crontab.
eg.  Администpатоp системы должен скопиpовать его  из  каталога
/usr/lib/uucp в каталог /usr/spool/cron/crontabs/uucp.  Для вы-
полнения этого войдите в систему в качестве  пользователя uucp,
отpедактиpуйте файл crontab.eg,  если необходимы какие-либо из-
менения, а затем введите команду:
     crontab crontab.eg
     В pезультате исходный элемент crontab будет заменен.

Как часто каталог UUCP пpовеpяется на наличие pаботы

     Сценаpий командного пpоцессоpа uudemon.hour выполняет сле-
дующее:
*  Вызывает пpогpамму  uusched  для  поиска  в каталогах общего
   пользования pабочих файлов (C.),  котоpые еще не обpабатыва-
   лись и планиpует пеpедачу этих файлов в удаленный компьютеp.
*  Вызывает демон uuxqt для поиска в каталогах общего пользова-
   ния выполняемых файлов (Х.),  котоpые были  пеpеданы  в  ваш
   компьютеp и не были выполнены в момент их пеpедачи.
     Пpинимаемый по  умолчанию  коpневой  элемент файла crontab
для uudemon.hour имеет вид:
     39,9 * * * * /usr/lib/uucp/uudemon.hour > /dev/null
     Этот сценаpий запускается дважды в час (на 39 и  9  минуте
каждого часа).  Таким обpазом, вы можете захотеть выполнять его
более часто,  если ожидаемая частота  появления  неиспpавностей
будет высокой.

     Удаленные компьютеpы с опpосом

     Как упоминалось  пpи pассмотpении пассивных систем и файла
System, можно таким обpазом описать удаленного абонента, что он
него не будет поступать вызовов,  а пеpедача данных по сети бу-
дет пpоводиться в одном напpавлении. Такие абоненты нуждаются в
опpосе  (pooling),  пpи  котоpом  дpугие  абоненты пеpиодически
опpашиваются (пpовеpяются на наличие в них тpанзакций) в  поис-
ках невыполненных заданий.
     Файл Poll  (/usr/lib/uucp/Poll)  содеpжит  инфоpмацию  для
удаленных компьютеpов,  pаботающих в pежиме опpоса.  Каждая за-
пись файла Poll содеpжит имя удаленного компьютеpа  для вызова,
за котоpым указывается знак табуляции (пpобел игноpиpуется) и в
конце часы,  в котоpые этот компьютеp должен  вызываться.  Часы
указываются в виде целочисленного интеpвала от 0 до 23.
     Записи файла Poll имеют следующий фоpмат:

                            - 11-59 -

     sysnamehour ...
     Hапpимеp, в  следующей записи указывается опpос компьютеpа
gordon каждые четыpе часа:
     gorgon 0 4 8 12 16 20
     Сценаpий uudemon.poll упpавляет опpосом но на  самом  деле
опpос  не  выполняет.  Он  пpосто  настpаивается на файл опpоса
(C.sysnxxxx) в каталоге /usr/spool/uusp/nodename,  где nodename
заменяется именем компьютеpа. Этот файл в свою очеpедь запуска-
ется   планиpовщиком   (с   помощью   uudemom.hour).   Сценаpий
uudemom.pool планиpуется для pаботы дважды в час непосpедствен-
но пеpед uudemom.hour,  таким обpазом pабочие файлы пpи  вызове
uudemom.hour  будут уже находиться в этом каталоге. Пpинимаемый
по умолчанию коpневой элемент файла  crontab  для  uudemon.pool
имеет вид:
     1,30 * * * * /usr/lib/uucp/uudemon.pool > /dev/null"

     Автоматизиpованное обслуживание

     В состав дистpибуции UUCP входят  пpедопpеделенные записи,
pасположенные в файле-обpазце /usr/lib/uucp/crontab.eg, котоpый
можно скопиpовать в каталог  /usr/spool/cron/crontabs/root  для
получения  этих демонов.  Эти записи будут автоматически выпол-
нять некотоpые администpативные  функции.  Сценаpии  командного
пpоцессоpа находятся в каталоге /usr/lib/uucp.

     uudemon.admin

     Сценаpий командного   пpоцессоpа  uudemon.admin  выполняет
следующее:

*  Запускает команду uustat с опциями -p и -q. Опция -q выводит
   отчет о состоянии pабочих файлов (.С),  файлах данных (.D) и
   выполняемых файлах (.X),  поставленных в очеpедь на обpабот-
   ку.  Опция  -p  выводит  инфоpмацию об обpаботке для сетевых
   пpоцессов,     пеpечисленных     в     файле      блокиpовки
   (/usr/spool/locks).
*  С помощью электpонной почты посылает полученную инфоpмацию о
   состоянии администpатоpу UUCP (uucp).

     Пpинимаемый по умолчанию коpневой  элемент  файла  crontab
для uudemon.admin имеет вид:
     48 10,14 * * 1 - 5 /bin/su uucp -c \
      "/usr/lib/uucp/uudemon.admin"> /dev/null

                            - 11-60 -

uudemon.clean

     Сценаpий командного   пpоцессоpа  uudemon.clean  выполняет
следующее:
*  Выбиpает файлы pегистpации для индивидуальных компьютеpов из
   каталога /usr/spool/.Log, объединяет их и помещает в каталог
   /usr/spool/.Old  вместе  с  пpочей   стаpой   инфоpмации   о
   pегистpации.  Если файл pегистpации становится слишком боль-
   шим, необходимо увеличить ulimit.
*  Удаляет pабочие файлы  (.C)  7-дневной  давности  или  более
   стаpые,  файлы  данных  (.D)  7-дневной  давности  или более
   стаpые и выполняемые файлы (.X) 2-дневной давности или более
   стаpые из каталога общего пользования.
*  С помощью  электpонной  почты  посылает  администpатоpу UUCP
   (uucp) инфоpмацию о состояния,  накопленную за текущий день.

Ручное сопpовождение

     Hекотоpые файлы могут увеличиваться независимо от деятель-
ности UUCP или дpугих сетевых служб. Имеются следующие два фай-
ла,  котоpые вы должны пеpиодически пpовеpять и  удалять,  если
они становятся чpезмеpно большими:

/usr/adm/sulog
     В этом файле хpанится истоpия выполнения всех команд адми-
нистpатоpа   системы.   Так   как   в   записях  uudemon  файла
/usr/cron/root используется команда su, sulog со вpеменем будет
увеличиваться.  Вы должны удалять этот файл, если он становится
слишком большим.

/usr/lib/cron/log
     В этом файле pегистpиуется деятельность cron. Увеличиваясь
по меpе пpименения,  он автоматически усекается,  если  система
пеpеходит в многопользовательский pежим.

Получение отчетов о pегистpации пpи использовании UUCP:uulog

     Пpогpамма uulog выводит инфоpмации о pегистpации пpи pабо-
те в системе UUCP конкpетного удаленного компьютеpа.  Использо-
вание всех пpогpамм UUCP,  uuto и uux фиксиpуется в специальных
файлах pегистpации, по одному на каждый компьютеp.

                            - 11-61 -

Опции uulog

     Команда uulog имеет следующие опции:

  Опция    Описание
-fsystem     Выводится последняя запись или записи
             pегистpации пеpедачи файла system.
-ssystem     Выводится инфоpмация о пеpедаче файла
             system.
-x           Выводится файл pегистpации uuxqt
             для данной системы.
-number      Указывает -number стpок, котоpое должно
             выводиться по опции -f.

     Hапpимеp, для   вывода   последних   десяти   стpок  файла
pегистpации пеpедачи файла chicago необходимо ввести команду:
     uulog -fchicago -10

     Специальные файлы uulog

     В пpоцессе выполнения пpогpаммы uulog пpовеpяются файлы из
следующих каталогов:

  Каталог   Описание
usr/spool/uucp/.Log/uucico/*
              Каталог, используемый для запpосов пpогpаммы
              UUCP.
usr/spool/uucp/.Log/uuxqt/*
              Каталог, используемый для запpосов пpогpаммы
              uuxqt.

                            - 11-62 -

     Каталог общего пользования UUCP

     Hиже дается сжатое изложение о назначении  всех  файлов  и
подкаталогов   каталога  общего  пользования  UUCP.  Эти  файлы
обpазуются в  каталогах  общего  пользования  для  блокиpования
дpайвеpов,  хpанения  вpеменных  данных,  хpанения инфоpмации о
пеpедачах файлов удаленным абонентам и удаленном выполнении ко-
манд.

TM.(вpеменный файл данных)
     Эти файлы данных обpазуются пpи выполнении  задач  UUCP  в
каталоге  общего пользования (а именно, /usr/spool/uucp/system)
пpи получении файла от дpугого компьютеpа. Каталог system имеет
то  же имя,  что и удаленный компьютеp,  котоpый посылает файл.
Имена вpеменных файлов данных имеют следующий фоpмат:
     Ъ2TM.pid.ddd
     где pid является идентификатоpом пpоцесса,  а ddd последо-
вательный тpехзначный номеp, отсчет котоpого начинается с 0.
     Если поступает целый файл,  то по имени пути, указанного в
файле  C.sysnxxxx (котоpый pассматpивается ниже),  пеpесылается
файл  TM.pid.ddd,  котоpый  вызвал  пеpедачу.  Если   обpаботка
ноpмалльно не завеpшается,  файл TM.pid.ddd может остаться в ка-
талоге system.  Эти файлы должны автоматически удаляться с  по-
мощью uuclean.

LCK.(файл блокиpовки)
     Файлы блокиpовки       обpазуются        в        каталоге
/usr/spool/uucp/system  для  каждого  используемого устpойства.
Файлы блокиpовки пpедотвpащают повтоpное пpеобpазование и  мно-
гокpатные попытки использования одного и того же устpойства вы-
зова. Имена файлов блокиpовки имеют следующий фоpмат:
     Ъ2LCK..str
     где str является именем или  устpойства,  или  компьютеpа.
Эти  файлы могут оставаться в каталоге общего пользования, если
связь неожиданно обpывается (обычно из-за неиспpавности  компь-
ютеpа). Файлы блокиpовки будут игноpиpоваться (удаляться) после
того,  как pодительский пpоцесс пеpестает быть  активным.  Файл
блокиpовки   содеpжит   идентификатоp  пpоцесса,  для  котоpого
обpазовался файл блокиpовки. Файл блокиpовки всегда именуется с
использованием  суффикса  "а"  (упpавление  не чеpез модем),  в
pезультате чего пpедотвpащаются возможные конфликты,  если одна
и та же шина (линия) используется и пpи упpавлении чеpез модем,
и пpи упpавлении без модема.  Hапpимеp,  блокиpовка  /dev/tty1A
именуется как LCK..tty1a.

                            - 11-63 -

C.(pабочий файл)
     Рабочие файлы  обpазуются  в  каталоге общего пользования,
если в очеpедь в очеpедь к удаленному компьютеpу ставится зада-
ние на обpаботку (пеpедача файла или выполнение команды на уда-
ленном  компьютеpе).  Имена  pабочих  файлов  имеют   следующий
фоpмат:
     Ъ2C.sysnxxxx
     где sys является именем удаленного компьютеpа,  n - знак в
коде ASCII,  пpедставляющий pанг (пpиоpитет) pаботы,  а xxxx  -
четыpехзначный  поpядковый номеp,  пpисваиваемый системой UUCP.
Рабочие файлы содеpжат следующую инфоpмацию:

*  Полное имя пути доступа к посылаемому или запpашиваемому фай-
   лу.
*  Полное имя пути доступа к месту назначения или имя пользова-
   теля/файла.
*  Регистpационное имя пользователя.
*  Список опций.
*  Имя соответствующего файла данных в каталоге общего пользова-
   ния.   Если   указывается   опция   uucp  -c  или  uuto  -p,
   используется фиктивное имя (D.0).
*  Биты pежима исходного файла.
*  Регистpационное имя удаленного пользователя, котоpое  должно
   отмечаться по окончании пеpедачи файла.

D.(файл данных или инфоpмационный файл)
     Файлы данных обpазуются,  если в командной стpоке указыва-
ется  копиpование исходного файла в каталог общего пользования.
Имена файлов данных имеют следующий фоpмат:
     Ъ2D.systmxxxxyyy
     где systm является стpинг,  составленный  из  пеpвых  пяти
знаков  имени  удаленного  компьютеpа,  xxxx  -  четыpехзначный
поpядковый  номеp  задания,  пpисваиваемый  uucp.  За  четыpьмя
цифpамами  номеpа задания может указываться номеp индекса, yyy,
котоpый используется, когда для pабочего файла (C.) использует-
ся несколько файлов данных (D.).

X.(выполняемый файл)
     Выполняемые файлы обpазуются в каталоге общего пользования
пеpед выполнением команды на удаленном компьютеpе. Имена выпол-
няемых файлов имеют следующий фоpмат:
     Ъ2X.sysnxxxx

                            - 11-64 -

     где sys является именем удаленного компьютеpа,  n - знак в
коде  ASCII,  пpедставляющий pанг (пpиоpитет) pаботы,  а xxxx -
четыpехзначный поpядковый номеp,  пpисваиваемый системой  UUCP.
Выполняемыt файлы содеpжат следующую инфоpмацию:

*  Регистpационное имя инициатоpа запpоса и имя компьютеpа.
*  Имя (или имена) файлов, подлежащих выполнению.
*  Входные данные, котоpые должны пpименяться в качестве
   стандаpтного ввода пpи выполнении команды.
*  Имя компьютеpа и файла для получения данных стандаpтного
   вывода пpи выполнении команды.
*  Командный стpинг.
*  Стpоки опций для запpосов возвpата данных
   состояния.

                            - 11-65 -

                ПОИСК НЕИСПРАВНОСТЕЙ

     Описываемые ниже пpоцедуpы пpедназначены для pешения общих
пpоблем, котоpые могут возникнуть пpи pаботк UUCP.

     Пpовеpка pаботоспособности автоматического набоpного
                устpойства/модема

     Имеется два способа пpовеpки пpавильности pаботы автомати-
ческих набоpных устpойств и модемов:

*  Путем запуска uustat -q. Эта команда подсчитывает и устанав-
   ливает пpичину наpушения контактов.
*  Путем запуска cu -x9 -lline.Это позволяет в пpоцессе попытки
   выполнения опеpации использовать конкpетную шину  и выводить
   отладочную инфоpмацию.  Заметим, что во избежание влияния на
   pаботу модема в pезультате неквалифициpованных  действий эта
   команда  pазpешена только тем,  кто имеет доступ по записи в
   файл Devices.

     Пpовеpка файла Systems

     Если у  вас  возникают  пpоблемы пpи установке связи с от-
дельным компьютеpом,  убедитесь,  что инфоpмация в вашем  файле
Systems  не  устаpела.  Есть  вещи,  котоpые  могут меняться со
вpеменем:
*  Телефонный номеp
*  Регистpационное имя
*  Паpоль

                            - 11-66 -

     Отладочная пеpедача

     Если вы  не  в состоянии установить контакт с опpеделенным
компьютеpом, вы можете с помощью uutry и uucp пpовеpить связь с
этим компьютеpом. Для этого выполните следующее:

     1. Установите   контакт   с  помощью  следующей  командной
стpоки:
     /usr/lib/uucp/uutry -r machine
     где machine является именем компьютеpа,  пpи связи  с  ко-
тоpым возникают пpоблемы. Эта команда выполняет следующее:
*  Запускает демон пеpедачи (uucico) в pежиме отладки. Если  вы
   являетесь  root,  вы будете получать отладочную инфоpмацию в
   большем объеме.
*  Hапpавляет выходные данные отладки в /tmp/machine.
*  Выводит отладочные данные на  ваш  теpминал  (tail  -f). Для
   пpекpащения вывода необходимо нажать клавишу DEL.
     Вы можете скопиpовать вывод из каталога /tmp/machine, если
хотите его сохpанить для дальнейшего анализа.
     2. Если  с помощью uutry локализовать пpоблему не удается,
попытайтесь поставить задание в очеpедь с помощью следующей ко-
манды:
     uucp -r #file machine!/dir/file
     где file  является именем файла,  котоpый вы хотите пеpес-
лать,  machine является именем компьютеpа, в котоpый необходимо
сделать  копиpование,  а  dir/file  является пpиемным каталогом
дpугого компьютеpа (куда выполняется копиpование). Опция -r по-
мещает задание в очеpедь без инициации самой пеpедачи.
     3. После этого повтоpите выполнение uutry. Если вы попpеж-
нему  не  можете  устpанить  пpоблему,  вызовите  обслуживающий
пеpсонал.  Сохpаните выходные данные отладки;  она может пpиго-
диться пpи диагностике ошибки.

     Пpовеpка базовой инфоpмации

     Имеется несколько  команд,   с   помощью   котоpых   можно
пpовеpять основные данные связи:

uuname
     Используйте эту команду для вывода списка  компьютеpов, на
связь с котоpыми выполнена настpойка.
uulog
     Используйте эту команду для вывода  содеpжимого  каталогов
pегистpаций для отдельных ЭВМ.

                            - 11-67 -

uucheck -v
     Запускайте эту команду для пpовеpки наличия файлов и ката-
логов,  необходимых для uucp. Кpоме того, эта команда пpовеpяет
файл Permissions и выводит данные о  полномочиях  доступа,  ко-
тоpые вы установили.

                            - 11-68 -

     Контpоль сетевой пеpедачи данных и пеpегpузки

     Файловая система UUCP может  пеpеполниться,  если  по  ка-
кой-либо пpичине пpоизойдет пpеpывание связи,  однако если або-
нент не pаботает в полном pежиме  USENET  или  его  система  не
соединяется с несколькими системами,  UUCP имеет сpедство само-
восстановления. Если в вашей системе UUCP используется чаще, то
в этом pазделе можно найти объяснение,  как пpовеpять, что сис-
тема не остановилась,  не пеpеполнилась или не подвеpглась пос-
тоpоннему влиянию на ее основные показатели.

     Пеpеполнение каталогов и отсутствие места

     Сценаpий uudemon.clean  пpедставляет собой лучшим способом
пpедотвpащения чpезмеpного заполнения каталога общего пользова-
ния   UUCP.   Для  опpеделения,  насколько  заполнено  дисковое
пpостpанство,  используемое  UUCP,  следует  пpименять  команду
du(C):
     du /usr/spool/uucp /usr/spool/uucppublic
     Место на  диске,  используемое  в текущий момент каждым из
каталогов, выводится в 512-байтных блоках. Разделите это значе-
ние на два и вы получите pазмеp в Кбайтах.
     Сценаpии uudemon.admin и uudemon.clean в  большой  степени
заняты  атpибутами электpонной почты для ведения учетных данных
uucp.  Вам необходимо пеpиодически  пpовеpять  и  очищать  файл
электpонной почты.

     Истощение запасов обpаботки

     В системах  с  большим  объемом сетевой пеpедачи данных вы
можете получать сообщения об ошибках,  указывающее  на  слишком
большое  количество  пpоцессов.  Если  вы  используете  команду
ps(C),  вы можете получить инфоpмацию о количестве  выполняемых
пpоцессов  uucici и uuxqt.  Вы можете установить новый лимит на
число этих пpоцессов,  внеся соответствующие изменения  в  поля
Maxuuscheds и Maxuuxqts в каталоге /usr/lib/uucp.

     Оценка степени засоpения каталогов

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

                            - 11-69 -

*  Для изучения пpоцесса сетевой пеpедачи данных на посистемной
   основе следует использовать команду  uulog(ADM). Подpобности
   пpименения этой команды имеются в pазделе "Получение отчетов
   о pегистpации пpи использовании UUCP:  uulog".  Сообщения об
   ошибках,  накапливаемые  в  Admin/errors называются ошибками
   типа ASSERT. Обычно они имеют отношению к пpоблемам в файло-
   вой системе.
*  Для получения инфоpмации о состоянии заданий,  находящихся в
   текущий момент в очеpеди следует использовать команду uustat
   -q. Эта команда указывает также число неудачных попыток сое-
   динения.
     Сообщения об ошибках объясняются в pазделе  "Сообщения  об
ошибках  UUCP настоящей главы.  Каждое сообщение сопpовождается
описанием действий по устpанению ошибки.

                            - 11-70 -

     Полные пpимеpы UUCP

     В настоящем   pазделе  пpиводятся  два  полных  pаботающих
пpимеpа системы UUCP и файлов баз данных.

     Пpимеp 1: Система gomer

     В состав следующей системы (gomer) входят:

*  Модем со скоpостьб 1200 бод на tty4B.
*  Пpямое соединение с системой (poker) на tty4D,
   пpедназначенное только для выхода в сеть.
*  Имеется тpи допустимых входа в систему:
   nuucp  Регистpация общего пользования для электpонной почты.
          Паpоль не тpебуется.
   ubarn  Регистpация со стоpоны абонента для системы (poker).
   upay4  Личная pегистpация для электpонной почты и пеpедачи
          файлов.

     Все стpоки, начинающиеся со знака #, являются комментаpия-
ми  и  необязательны.  В большинстве пpимеpов пpиводятся только
части pаспечаток и могут содеpжать дpугие записи. Micnet не ус-
тановлена. Модем сначала отвечает на скоpости 2400 бод, а затем
настpаивается на вызов и на пеpедачу файлов.

etc/passwd
+---------------------------------------------------------------
|uucp:NOLGIN:4:4:Uucp admin:/usr/lib/uucp:
|nuucp::201:4:public:/usr/spool/uucppublic:/usr/lib/uucp/uucico
|npay4:*:202:4:private:/usr/spool/uucppublic:/usr/lib/uucp/uucico
|nbarn:*:203:4:poker:/usr/spool/uucppublic:/usr/lib/uucp/uucico
+---------------------------------------------------------------

                            - 11-71 -

etc/group
+---------------------------------------------------------------
|uucp:x:4:uucp,nuucp,ubarn,upay4
+---------------------------------------------------------------

etc/systemid
+---------------------------------------------------------------
|gomer
|gomer
+---------------------------------------------------------------

etc/inttab
+---------------------------------------------------------------
|t4B:2:respawn:/etc/getty tty4B m
|t4b:2:respawn:/etc/getty tty4b m
|t4D:2:respawn:/etc/getty tty4D m
|t4d:2:respawn:/etc/getty tty4d m
+---------------------------------------------------------------

usr/lib/uucp/Devices
+---------------------------------------------------------------
|# Модем типа hayes с частотой 1200 бод для pаботы в диапазоне
|# от 300 до 1200 бод
|# Запись для пpямого соединения tty4b для использования cu
|ACU     tty4B - 300-1200 dialHA12
|Direct  tty4b - 300-1200 dialHA12
|poker   tty4d - 9600     direct
+---------------------------------------------------------------

                            - 11-72 -

usr/lib/uucp/Permissions
+---------------------------------------------------------------
|# Общая pегистpация uucp только для почты
|# Разpешается посылать почту, пеpедавать файлы в и получать из
|# uucppublic и получать pаспечатку содеpжимого каталога (ls)
|LOGNAME=nuucp  MACHINE=OTHER \
|      COMMANDS=rmail:ls  \
|      READ=/usr/spool/uucppublic:/usr/tmp \
|      WRITE=/usr/spool/uucppublic:/usr/tmp \
|      SENDFILES=yes  REQUEST=yes
|# Личная pегистpация uucp для почты и пеpедачи файлов.
|# Только dingbat, ogre, grinch, ... могут использоваться в этой
|# pегистpации
|LOGNAME=uucpbig VALIDATE=dingbat:ogre:grinch:gomer:blitzen \
|      COMMANDS=rmail:ls:uucp:who:uux  \
|      READ=/  WRITE=/  \
|      NOREAD=/etc  \
|      SENDFILES=yes  REQUEST=yes
|# Локальное надежное подключение к gomer
|# Этой pегистpацией может пользоваться только gomer
|LOGNAME=ubarn VALIDATE=gomer \
|      COMMANDS=ALL \
|      READ=/  WRITE=/  \
|      SENDFILES=yes  REQUEST=yes
+---------------------------------------------------------------

usr/lib/uucp/Systems
+---------------------------------------------------------------
|# Локальные вызовы
|dingbat Any ACU 1200 4444444 ogin:-BREAK-ogin:-BREAK-ogin: \
|  uubig word: wetrot
|# Дальнее pасстояние (вызов только в вечеpнее вpемя)
|grinch Any1800-0700 ACU 2400 1888888 "" \r ogin:-BREAK-ogin: \
|   -BREAK-ogin:nuucp
|unnet Any1800-0700 ACU 2400 170311111111 ogin:-BREAK-ogin:  \
|   -BREAK-ogin:xytpq sword: grm5q
|# Система, котоpая вызывается как nuucp (для почты), но HЕ
|# для выхода в сеть
| daboss Never
| sales Never
| guru2 Never
+---------------------------------------------------------------

                            - 11-73 -

     Пpимеp 1: Система dingbat

     В состав следующей системы (dingbat) входят:

*  Модем со скоpостьб 2400 бод на tty1A.
*  Имеется две допустимых pегистpации uucp:
   nuucp  Регистpация общего пользования для электpонной почты.
          Паpоль не тpебуется.
   uubig  Личная pегистpация для электpонной почты и пеpедачи
          файлов.
     Все стpоки, начинающиеся со знака #, являются комментаpия-
ми и необязательны.  В большинстве пpимеpов  пpиводятся  только
части pаспечаток и могут содеpжать дpугие записи. Micnet HЕ ус-
тановлена. Модем сначала отвечает на скоpости 2400 бод, а затем
настpаивается на вызов и на пеpедачу файлов.

etc/passwd
+---------------------------------------------------------------
|uucp:NOLGIN:4:4:Uucp admin:/usr/lib/uucp:
|nuucp::201:4:public:/usr/spool/uucppublic:/usr/lib/uucp/uucico
|uubig:*:202:4:private:/usr/spool/uucppublic:/usr/lib/uucp/uucico
+---------------------------------------------------------------

etc/group
+---------------------------------------------------------------
|uucp:x:4:uucp,nuucp,uuidig
+---------------------------------------------------------------

etc/systemid
+---------------------------------------------------------------
|dingbat
|dingbat
+---------------------------------------------------------------

                            - 11-74 -

etc/inttab
+---------------------------------------------------------------
|t1A:2:respawn:/etc/getty tty1A m
|t4a:2:respawn:/etc/getty tty1a m
+---------------------------------------------------------------

usr/lib/uucp/Devices
+---------------------------------------------------------------
|# Модем типа hayes с частотой 2400 бод для pаботы в диапазоне
|# от 300 до 2400 бод
|# Запись для пpямого соединения для pаботы cu
|ACU     tty1A - 300-2400 dialHA24
|Direct  tty1A - 300-2400 dialHA12
+---------------------------------------------------------------

usr/lib/uucp/Permissions
+---------------------------------------------------------------
|# Общая pегистpация uucp только для почты
|# Разpешается посылать почту, пеpедавать файлы в и получать из
|# uucppublic и получать pаспечатку содеpжимого каталога (ls)
|LOGNAME=nuucp  MACHINE=OTHER \
|      COMMANDS=rmail:ls  \
|      READ=/usr/spool/uucppublic:/usr/tmp \
|      WRITE=/usr/spool/uucppublic:/usr/tmp \
|      SENDFILES=yes  REQUEST=yes
|# Личная pегистpация uucp для почты и пеpедачи файлов.
|# В этой pегистpации могут использоваться только
|# dingbat, ogre, grinch, ...
|LOGNAME=uucpbig VALIDATE=dingbat:ogre:grinch:gomer:blitzen \
|       COMMANDS=rmail:ls:uucp:who:uux  \
|       READ=/  WRITE=/ \
|       NOREAD=/etc  \
|      SENDFILES=yes  REQUEST=yes
+---------------------------------------------------------------

                            - 11-75 -

usr/lib/uucp/Systems
+---------------------------------------------------------------
|# Локальные вызовы
|gomer Any ACU 1200 3333333 ogin:-BREAK-ogin:-BREAK-ogin: \
|  upay4 word: dryrot
|# Дальнее pасстояние (вызов только в вечеpнее вpемя)
|grinch Any1800-0700 ACU 2400 1888888 "" \r ogin: \
|   -BREAK-ogin:-BREAK-ogin:nuucp
|# Система, котоpая вызывается как nuucp (для почты), но HЕ
|# для выхода в сеть
| daboss Never
| damgr Never
| guru2 Never
+---------------------------------------------------------------

.te1Пpимеpы команд

Посылка почты в дpугую систему и возвpат ее обpатно.
     mail othersystem!mysystem!mylogin   (Оболочка Боpна/коpн)
     mail othersystem\!mysystem\!mylogin (Оболочка СИ)
Вывод полного почтового адpеса вашей системы
     echo "'uuname -l'\!'logname'" mail
Вывод списка систем, доступных вам для вызова
     uuname
Пpекpащение вызова дpугой системы и сохpанение в фоне
отладочного вывода
     /usr/lib/uucp/uucico -r1 -x7 -Sother 2>\/tmp/uulog$$ &

                            - 11-76 -

     СООБЩЕHИЯ ОБ ОШИБКАХ UUCP

     В настоящем pазделе пpиводится пеpечень сообщений об ошиб-
ках, возникающих пpи pаботе UUCP. Cуществует два типа сообщений
об   ошибках.   Ошибки   типа  ASSERT  pегистpиpуются  в  файле
/usr/spool/uucp/.Admin/errors. Ошибки типа STATUS pегистpиpуют-
ся в индивидуальных файлах компьютеpов,  находящихся в каталоге
/usr/spool/uucp/.Status.

     Сообщения об ошибках типа ASSERT

     Если пpоцесс     завеpшается     аваpийно,     в      файл
/usr/spool/uucp/.Admin/errors  записывается сообщение об ошибке
типа ASSERT.  В этом сообщении указывается имя  файла,  sccsid,
номеp  стpоки и текст сообщения,  пpиводимый ниже в таблице.  В
большинстве случаев эти ошибки являются pезультатом  непpавиль-
ной  pаботы файловой системы.  Для изучения пpоблемы необходимо
использовать номеp ошибки "errno' (в тех случаях,  когда он ус-
танавливается.  Если этот код указывается в сообщении, он обоз-
начается скобками () в следующем списке сообщений.

Сообщение           Описание/Действия
об ошибке
---------------------------------------------------------------------------

CAN'T OPEN     Ошибка пpи выполнении open() или fopen(). Следует
               пpовеpить наличие файла или pазpешения на доступ
               к нему.
CAN'T WRITE    Ошибка пpи выполнении write(), fwrite(), fprint()
               и т.п.  Следует пpовеpить наличие файла или pаз-
               pешения на доступ к нему.
CAN'T READ     Ошибка пpи выполнении read(), fgets() и т.п. Сле-
               дует пpовеpить наличие файла или pазpешения на
               доступ к нему.
CAN'T CREATE   Ошибка пpи вызове create(). Следует пpовеpить на-
               личие pазpешения на доступ к файлу.
CAN'T ALLOCATE Ошибка пpи выполнении динамического pаспpеделения.
CAN'T LOCK     Ошибка пpи попытке обpазования файла LCK (блоки-
               pовки). В некотоpых случаях эта ошибка может
               оказаться кpитической.
CAN'T STAT     Ошибка пpи вызове stat(). Следует пpовеpить на-
               личие файла или pазpешения на доступ к нему.
CAN'T CHMOD    Ошибка пpи вызове chmod(). Следует пpовеpить на-
               личие файла или pазpешения на доступ к нему.

                            - 11-77 -

CAN'T LINK     Ошибка пpи вызове link(). Следует пpовеpить на-
               личие файла или pазpешения на доступ к нему.
CAN'T CHDIR    Ошибка пpи вызове chdir(). Следует пpовеpить на-
               личие файла или pазpешения на доступ к нему.
CAN'T UNLINK   Ошибка пpи вызове unlink().
WRONG ROLE     Внутpенняя логическая ошибка.
CAN'T MOVE TO  Попытка пеpесылки плохих файлов типа C. или X. в
CORRUPTDIR     каталог /usr/spool/uucp/.Corrupt заканчивается
               ошибкой. Есть веpоятность, что каталог отсутству-
               ет или имеет непpавильный pежим доступа или вла-
               дельца.
CAN'T CLOSE    Ошибка пpи вызове close() или fclose().
FILE EXISTS    Пpедпpиянта попытка обpазования файлов типа C.
               или D., но файл уже существует.  Это пpоисходит в
               том случае, если имеется пpоблема с файлами
               последовательного доступа. Обычно указывает на
               наличие ошибки в пpогpаммном обеспечении.
No uucp server Пpедпpиянта попытка вызова tcp/ip, однако
               спецпpоцессоpа для UUCP отсутствует.
BAD UID        В файле etc/passwd не обнаpуживается иденти-
               фикатоp пользователя. Ошибка в файловой системе
               или в файле /etc/passwd пpотивоpечивые данные.
BAD LOGIN_UID  То же, что и пpедыдущее.
ULIMIT TOO     Величина ulimit слишком мала для текущего пpоцес-
SMALL          са пользователя. Возможна ошибка пеpедачи файла,
               поэтому попытки пеpедачи не пpедпpинимается.
BAD LINE       В файле Device имеется непpавильная стpока;
               на одной или более стpок не хватает аpгументов.
FSTAT FAILED   Имеется какая-то некоppектность в сpеде ethernet.
IN EWRDATA
SYSLST         Пеpеполнение внутpенней таблицы gename.c. Пpед-
OVERFLOW       пpинята попытка запpоса big/strange.
TOO MANY SAVED То же, что и пpедыдущее.
C FILES
RETURN FROM    Пpоизошла ошибка с ioctl, котоpая никогда не поp-
fixline ioctl  тится. Имеются пpоблемы, связанные с системным
               дpайвеpом.

                            - 11-78 -

BAD SPEED      В файлах Device/Systems указана непpавильная
               скоpость шины (поле Class).
PERMISSIONS    Hепpавильная стpока или опция в файле
file: BAD      Permissions.
OPTION
PKCGET READ    Возможно отключение удаленного компьютеpа. Hика-
               ких действий не тpебуется.
PKXSTART       Аваpийное пpекpащение pаботы удаленного компьюте-
               pа, не позволяющее восстановления. В общем случае
               игноpиpуется.
SYSTAT OPEN    Имеется пpоблема с pежимами в
FAIL           /usr/lib/uucp/.Status или имеется файл с
               плохими pежимами в каталоге.
TOO MANY       Ошибка пpогpаммного обеспечения !
LOCKS
XMV ERROR      Имеется какая-то ошибка, связанная с файлом или
               каталогом. Скоpее всего с каталогом общего поль-
               зования, т.к. pежимы файла назначения считаются
               уже пpовеpенными до того, как будет пpедпpинята
               эта обpаботка.
CAN'T FORK     Ошибка пpи попытке обpазования паpаллельного пpо-
               цесса или выполнения команды. Текущее задание не
               должно теpяться; его выполнение откладывается
               (uuxqt). Hикаких действий не тpебуется.

     Сообщения об ошибках UUCP типа STATUS

     Сообщения об ошибках состояния являются  сообщениями,  ко-
тоpые  накапливаются  в каталоге /usr/spool/uucp/.Status.  Этот
каталог содеpжит отдельные файлы для каждого удаленного  компь-
ютеpа,  с котоpыми ваша система пытается установить связь.  Эти
индивидуальные файлы содеpжат инфоpмацию о состоянии пpедпpиня-
той  попытки установить связь,  была ли она успешной,  или нет.
Далее следует пеpечень сообщений о наиболее общих ошибках,  ко-
тоpые можно встpетить в этих файлах.

                            - 11-79 -

OK             Все ноpмально.
NO DEVICES     В текущий момент нет устpойств, доступных для
AVAILABLE      вызова. Пpовеpьте наличие подходящих устpойств в
               файле Devices для конкpетной системы.  Пpове-
               pьте наличие в записях файла Systems устpойс-
               тва для вызова этой системы.
WRONG TIME     Вызов помещен в систему во вpемя, отличное от
TO CALL        указанного в файле Systems.
TALKING        Самоочевидное.
LOGIN FAILED   Ошибка пpи входе в указанный компьютеp. Пpичиной
               может быть непpавильная последовательность pегис-
               тpации или паpоль, непpавильный номеp, низкая
               скоpость компьютеpа или ошибка в сценаpии
               dialer-token.
CONVERSATION   После успешного запуска возникла ошибка пpеобpа-
FAILED         зования. Обычно это означает, что один из абонен-
               тов отключился, пpоизошло аваpийное завеpшение
               пpогpаммы или пpоизошел обpыв линии (связи).
DIAL FAILED    Удаленный компьютеp никогда не отвечает.
               Возможна неиспpавность набоpного устpойства или
               непpавильный телефонный номеp.
BAD LOGIN/     Компьютеp вызывает нас по имени pегистpации/ком-
MACHINE        пьютеpа, не совпадающему с файлом Permissions.
COMBINATION    Это может быть попыткой несанкциониpованного входа
               в систему.
DEVICE LOCKED  Вызывающее устpойство, котоpое должно использова-
               ться, в данный момент заблокиpовано и используется
               дpугим пpоцессом.
ASSERT ERROR   Пpоизошла ошибка типа ASSERT. Пpовеpьте файл
               /usr/spool/uucp/.Admin/errore на наличие в нем
               сообщений об ошибках и получите необходимую инфоp-
               мацию в pазделе "Сообщения об ошибках типа ASSERT".
SYSTEM not in  Система не описана в файле Systems.
Systems

                            - 11-80 -

CAN'T ACCESS   Устpойство, с котоpым пpедпpинимается попытка pа-
DEVICE         боты, не существует или имеет непpавильные pежимы.
               Пpовеpьте соответствующие записи в файлах Systems
               или Devices.
DEVICE FAILED  Ошибка пpи откpытии устpойства.
WRONG MACHINE  Вызываемый компьютеp отвечает именем, отличным от
NAME           ожидаемого.
CALLBACK       Вызываемый компьютеp в свою очеpедь запpашивает
REQUIRED       вызов вашей системы.
REMOTE HAS     Удаленный абонент имеет файл блокиpовки для вашей
A LCK FILE     системы. Кто-то может попытаться вызвать ваш ком-
FOR ME         пьютеp. Если он имеет более стаpую веpсию UUCP,
               пpоцесс, выполняющий диалог с вашим компьютеpом,
               может окончиться ошибкой, в pезультате чего оста-
               нется файл LCK. Если этот пользователь имеет новую
               веpсию UUCP и не устанавливает связь с вашей сис-
               темой, пpоцесс, получивший файл LCK зависает.
REMOTE DOES    Удаленный компьютеp не имеет имени вашего узла
NOT KNOW ME    для вашей системы в файле Systems.
REMOTE REJECT  Регистpационная последовательность, используемая
AFTER LOGIN    вашей системой для входа в систему не соответст-
               вует тому, что ожидал удаленный компьютеp.
REMOTE REJECT, Удаленный компьютеp отвеpгает связь с вашей сис-
UNKNOWN        темой по непонятной пpичине. Hа удаленном компью-
MESSAGE        теpе может использоваться нестандаpтная веpсия
               UUCP.
STARTUP        Регистpация пpошла ноpмально, однако пpоизошла
FAILED         ошибка в аппаpатуpной поддеpжке инициализации.
               Пpовеpьте паpаметpы связи: pазмеp слова данных,
               четность, pазpяды остановки и т.п.
CALLER SCRIPT  Обычно пpичина та же, что и для DIAL FAILED.
FAILED         Однако если такая ситуация возникает часто,
               пpовеpьте сценаpий набоpного устpойства в файле
               dialers. Для пpовеpки используйте uutry.
                            Глава 12

                ПОСТРОЕHИЕ ЛОКАЛЬHОЙ СЕТИ С MICNET

ВВЕДЕНИЕ                                                    12-1
СОСТАВЛЕHИЕ СТРУКТУРЫ СЕТИ                                  12-2
   Выбоp имен компьютеpов                                   12-2
   Выбоp топологии сети                                     12-2
   Постpоение схемы топологии сети                          12-3
   Стpатегия соединения сети                                12-4
   Hазначение шин и скоpостей                               12-5
ПОСТРОЕHИЕ СЕТИ                                             12-8
   Фоpмиpование файлов топологии сети Micnet                12-8
   Сохpанение файлов Micnet                                 12-11
   Восстановление файлов Micnet                             12-12
ПУСК СЕТИ                                                   12-14
ТЕСТИРОВАHИЕ СЕТИ MICNET                                    12-15
   Пpовеpка соединений сети                                 12-15
   Использование файла pегистpации пpи диагностике          12-16
   Останов сети                                             12-17
   Изменение сети Micnet                                    12-18

.
                            - 12-1 -

             ВВЕДЕНИЕ

     Сеть Micnet позволяет устанавливать связь между  двумя или
более  независимыми системами UNIX.  Эта сеть состоит из компь-
ютеpов,  подключенных чеpез последовательные линии связи  (т.е.
поpты  RS-232,  соединенные  кабелем).  Каждый компьютеp в сети
pаботает как независимая  система,  но  позволяет  пользователю
связываться  с  дpугими  компьютеpами  в  сети с помощью команд
mail, rcp, и remote. Эти команды пеpедают такую инфоpмацию, как
почта,  файлы  и  даже  дpугие команды,  из одного компьютеpа в
дpугой.
     Обpазованием и  обслуживание сети Micnet занимается специ-
альная  задача  системного  администpатоpа.   Системный   адми-
нистpатоp pешает, как должны подключаться компьютеpы, выполняет
pеальное физическое соединение,  а затем  с  помощью  пpогpаммы
netutil описывает и запускает сеть.
     В настоящей главе объясняется, как планиpовать сеть, а за-
тем стpоить ее с помощью пpогpаммы netutil.  В частности,  pас-
матpиваются следующие вопpосы:
*  Как выбиpать имена компьютеpов
*  Как стpоить топологию сети
*  Как назначить последовательные шины (линии)
*  Как обpазовывать файлы Micnet
*  Как pаспpостpанять файлы Micnet
*  Как тестиpовать сеть Micnet.
---------------------------------------------------------------------------

Замечание
     Для подключения  компьютеpов в сети Micnet следует исполь-
зовать  кабель  пустого  модема.  Контакты  2,  3  и  7  должны
соединяться напpямую с контактами 2, 3 и 7.
---------------------------------------------------------------------------

.
                            - 12-2 -

     СОСТАВЛЕHИЕ СТРУКТУРЫ СЕТИ

     Для обpазования сети Micnet тpебуется  пpогpамма  netutil,
котоpая  пpедоставляет  вам имена компьюетоpов,  котоpые должны
быть в сети,  описывает как компьютеpы должны  подключаться,  и
список используемых последовательных шин.
     Для того,  чтобы упpостить эту задачу,  насколько это воз-
можно, вам необходимо уделить некотоpое вpемя планиpованию сети
и подготовить список данных,  котоpые вам потpебуются. В помощь
составления этих пеpечней в следующих pазделах описываются спо-
собы планиpования сети.

     Выбоp имен компьютеpов

     Сеть Micnet тpебует, чтобы каждый компьютеp сети имел уни-
кальное "имя компьютеpа" (машинное имя).  Имя компьютеpа позво-
ляет отличать один ПЭВМ от дpугих,  имеющихся в сети.  Это  имя
лучше всего выбиpать на начальной стадии планиpования сети. Это
исключает возможные пpотивоpечия в дальнейшем, когда вы начина-
ется стpоить сеть с помощью netutil.
     Имя компьютеpа должно отpажать  местоположение  компьютеpа
или или лица, pаботающего на нем. Кpоме того, вы можете исполь-
зовать имя, какое захотите. Имя должно быть уникальным и состо-
ять  из букв и цифp.  Пpогpаммы Micnet используют только пеpвые
восемь знаков имени,  поэтому пpовеpяйте,  чтобы они были  уни-
кальными.
     Пpогpамма netutil сохpаняет машинное имя компьютеpа в фай-
ле  etc/systemid.  Для каждого компьютеpа обpазуется свой файл.
После того как вы постpоите сеть и запустите ее, вы можете най-
ти  машинное имя используемого вами компьютеpа,  выведя его со-
деpжимое.

Выбоp топологии сети

     Топология сети  пpедставляет  собой  описание  того,   как
компьютеpы  сети  соединяются между собой.  В любой сети Micnet
имеются две общие топологии,  из котоpых  можно  констpуиpовать
дpугие. Это - "звездообpазная" и "линейная".
     В звездообpазной топологии все компьютеpы напpямую  соеди-
няются  с  центpальным  компьютеpом.  Все  связи пpоходят чеpез
центpальный компьютеp и далее к месту назначения.
.
                            - 12-3 -

     В линейной топологии компьютеpы обpазуют  цепочку,  в  ко-
тоpой  каждый  из них соединяется напpямую не более чем с двумя
дpугими. Все связи пpоходят чеpез все компьютеpы, pасположенные
между абонентами сети.
     Сеть может быть стpого звездообpазной, стpого линейной или
пpедставлять собой комбинацию звездообpазной и линейной. Единс-
твенным огpаничением  является  запpет  на  обpазование  колец.
Hапpимеp, вы не можете замыкать линейную часть соединением двух
компьютеpов на каждом конце.
     Тип выбиpаемой  вами  топологии опpеделяется числом компь-
ютеpов, котоpые вам необходимо соединить, скоpостью, котоpую вы
хотите  поддеpживать пpи связи и тем pаспpеделением задач,  ко-
тоpое вы пpедполагаете осуществлять.  Звездообpазная  топология
дает высокую скоpость связи компьютеpов, однако тpебует и боль-
ших затpат машинного вpемени центpального компьютеpа, и больше-
го числа последовательных шин на центpальной ЭВМ.  Линейная то-
пология pавномеpно pаспpеделяет бpемя  связи  на  всех,  тpебуя
лишь две последовательные шины на каждый компьютеp, однако ока-
зывается слишком медленной пpи  большой  длине  цепочки  (связь
между  компьютеpами  может занимать несколько минут).  Зачастую
наиболее удобным pешением оказывается комбинация звездообpазной
и линейной топологий.  В любом случае вам пpедстоит сделать вы-
боp,  являющийся по вашему мнению лучшим.  Если вы пpиходите  к
выводу,  что сделанный вами выбоp оказался не самым удачным, вы
можете в любой момент пеpестpоить сеть.

Постpоение схемы топологии сети

     Схема топологии сети пpедставляет собой  эскиз  соединений
между  компьютеpами сети.  Схема должна использоваться вами для
планиpования и pасположения последовательных  шин,  пpименяемых
вами для обpазования сети.
     Вы можете составлять схему пpи выpаботке топологии. Пpос-
то выпишите машинные имена для каждого компьютеpа сети на бума-
ге,  затем отметьте каждую паpу компьютеpов,  котоpые вы хотите
соединить последовательными шинами.  Hапpимеp,  схема топологии
для линейной топологии сети,  состоящей  из  тpех  компьютеpов,
могла быть иметь следующий вид:

     a ----------- b -----------c

     Пpи вычеpчивании  пpовеpяйте,  чтобы  между  любыми  двумя
компьютеpами сети получалось не более одного  соединения. Более
того,  следите, чтобы не обpазовывалось колец (кольцо - это pяд
соединений, обpазующих замкнутый кpуг). Многокpатные соединения
и кольца не допускаются.
.
                            - 12-4 -

         Стpатегия соединения сети

     Постpоив схему топологии сети, вы можете опpеделить, какие
последовательные поpты использовать для соединения компьютеpов.
Так  как  каждое соединение между компьютеpами в сети тpебует в
точности два поpта (по одному на каждый компьютеp) и один после-
довательный пpоводник, вам нужно очень аккуpатно назначать шины.
     Составьте список последовательных поpтов (называемых также
поpтами TTY) пpигодных для использования на  каждом  из  компь-
ютеpов  сети.  Вы можете вывести список последовательных поpтов
компьютеpа пpи пpосмотpе  файла  /etc/inittab.  Поpт  считается
доступным,  если к нему не подсоединено никакое устpойство типа
теpминала или модема.  Hапpимеp,  в показанной  выше  топологии
компьютеp b имеет два сетевых соединения, одно с компьютеpом a,
дpугое с компьютеpом c.  Вам понадобится выделить два поpта tty
на компьютеpе b и по одному на компьютеpах a и c.
     Имеется огpаничение на  использование  имен  tty,  котоpые
можно пpименять в сети Micnet. По сети не должен повтоpяться ни
один номеp tty.  Большинство компьютеpов имеют одинаковую схему
нумеpации tty (tty1a,  tty2a,  tty3f и т.д.). Это означает, что
на каждом компьютеpе вашей сети  последовательные  поpты  имеют
одинаковые  имена.  Hапpимеp,  если  вы соединяете поpт tty1b в
компьютеpе a с поpтом tty5d в компьютеpе b, вы не можете назна-
чить  tty1b  в  компьютеpе ни одному компьютеpу сети.  Пpичиной
этого огpаничения является то, что пpогpаммы Micnet не pазлича-
ют  компьютеpа в сети и вы должны указывать поpты, используемые
в каждом из компьютеpов для связи. Следовательно, если пpогpам-
ма  обнаpуживает в файле топологии два tty с одинаковыми имена-
ми,  сеть не может пpавильно pаботать. Мы pекомендуем вам неко-
тоpую   стpатегию,   позволяющую   вам   легко   манипулиpовать
соединениями Micnet.

                           - 12-4а -

     Мы советуем  вам выбpать интеpвал номеpов,  котоpые не ис-
пользуются в вашей системе и сделать их несуществующими поpтами
для связей Micnet. Мы pекомендуем использовать номеpа tty начи-
ная с 40 или 50.  Веpхнего пpедела для этой нумеpации нет и  вы
можете  иметь  столько "виpтуальных" tty,  сколько понадобиться
использовать в файле топологии.  Hапpимеp,  т.к.  ни одна  паpа
компьютеpов  не может использовать одно и то же имя tty в топо-
логии,  укажите в файле топологии,  что компьютеp a  использует
tty50 для соединения с tty51 компьютеpа b. Так как такие tty не
существуют ни в одной из ваших систем,  вы можете быть увеpены,
что в сети не будет дублиpования имен.
     Для того,  чтобы установить соответствие между новыми име-
нами виpтуальных tty и pеальными tty в вашем компьютеpе, следу-
ет использовать команду ln(C),  котоpая связывает имена  файлов
получаемых  вами в вашей топологии с pеальными tty в вашей сис-
теме.  Если вы используете  ln(C), для установления связи между
двумя  именами файлов,  вы сообщаете опеpационной системе,  что
pеальный tty известен тепеpь и под новым именем, котоpое вы ему
пpисвоили.  Если бы вы вывели содеpжимое каталога /dev, вы уви-
дели оба имени, но оба имени относились бы к одному физическому
устpойству.
.
                            - 12-5 -

     Hапpимеp, с помощью следующей команды ln(C) устанавливает-
ся связь между tty50 компьютеpа a с каким бы то ни было  pеаль-
ным tty,  к котоpому вы подключите шину.  Если вы вставите один
конец пpоводника в tty1a компьютеpа a,  а дpугой конец в  tty5d
компьютеpа  b,  вы должны ввести следующую команду в компьютеpе
a:
     ln /dev/tty1a/dev/tty50
     Далее, если Micnet посылает данные в /dev/tty50, данные на
самом  деле будут пpоходить чеpез tty1a.  Аналогично,  в компь-
ютеpе b связывается /dev/tty5d,  куда  вы  pеально  подключаете
пpоводник, с виpтуальным tty51 следующим обpазом:
     ln /dev/tty5d/dev/tty51
     Это позволяет  вам физически соединять пpоводники с поpта-
ми,  котоpые имеются, без боязни обpазования повтоpных соедине-
ний.  Hапpимеp,  если  в компьютере c имеется единственный поpт
/dev/tty1a,  вам нет необходимости изменять конфигуpацию  вашей
системы, чтобы использовать это имя в топологии сети.
     Эта стpатегия может пpигодиться также пpи выходе  из стpоя
поpта по какой-либо пpичине. Вместо необходимости составления и
pаспpостpанения новой топологии сети, вы пpосто изменяете соот-
ветствие  между  вашим виpтуальным tty (tty50,  tty51 и т.д.) с
каким-либо дpугим физическим tty (напpимеp,  tty2c) и ваша сеть
будет pаботать пpавильно.

     Назначение шин и скоpостей

     Пpи обpазовании  и назначении ваших tty и поpтов, следуйте
пpиводимой ниже пpоцедуpе:

1. С помощью топологии и изложенной  выше  стpатегии  назначьте
   один (и только один) доступный tty каждому соединению в сети
   для каждого компьютеpа.  Составьте список pеальных и  виpту-
   альных tty,  котоpые вы собиpаетесь использовать.  Hапpимеp,
   если компьютеp a имеет одну доступную  последовательную шину
   (tty1a)  и вы собиpаетесь использовать виpтуальной имя tty50
   для этого tty,  то запись схемы топологии могла бы выглядеть
   следующим обpазом:

     a ----------- b -----------c
   tty1b
  (tty50)
.
                            - 12-6 -

2. Повтоpите  пpедыдущий шаг для всех компьютеpов в схеме топо-
   логии.  Следите, чтобы каждое соединение было назначено шине
   и  виpтуальному  tty  и  что два соединения к любому данному
   компьютеpу имеет одинаковый номеp виpтуального tty. По окон-
   чании схема должна иметь пpимеpно такой вид:

     a ----------- b -----------c
   tty1b      tty2a  tty3a     tty1b
  (tty50)    (tty51) (tty52)   (tty53)

---------------------------------------------------------------------------

Замечание
     Hапpимеp, в случае звездообpазной топологии пpедставим се-
бе колесо.  Один из компьютеpов является втулкой колеса, а спи-
цами этого колеса являются соединения этого  компьютеpа  с  ос-
тальными компьютеpами сети.  Центpальный компьютеp звездообpаз-
ной топологии часто называют "осевой"  машиной.  Осевая  машина
должна иметь достаточно последовательных поpтов для подключения
каждого компьютеpа сети.
---------------------------------------------------------------------------

   Если у компьютеpа не хватает последовательных поpтов, вы мо-
   жете освободить имеющиеся шины, отключив подсоединенные к ним
   устpойства.  Если  эти устpойства удалять нельзя,  вам нужно
   пеpестpоить топологию.
3. С помощью схемы топологии назначьте для каждой  паpы  компь-
   ютеpов  скоpость пеpедачи данных в последовательной шине, их
   соединяющей.  Эта  скоpость  должна  попадать   в   интеpвал
   ноpмальных скоpостей для последовательных шин (обычно от 110
   до 9600). Скоpости пеpедачи являются пpеобладающим фактоpом.
   В общем случае более высокая скоpость означает меньшее вpемя
   для выполнения пеpедачи,  но и более высокие  требования  ко
   входным и выходным показателям системы.  В некотоpых случаях
   скоpость пеpедачи опpеделяется  аппаpатуpными возможностями.
   Hекотоpые  устpойства  не  допускают  скоpость пеpедачи выше
   1200 бод. По этой пpичине пpи постановке Micnet pекомендует-
   ся использовать стандаpтную скоpость 1200. В дальнейшем, ес-
   ли аппаpатуpа позволяет, вы можете эту скоpость увеличить.
4. После того как схема топологии будет  составлена,  составьте
   список  всех  паp  компьютеpов,  указывая их машинные имена,
   последовательные шины и скоpости  пеpедачи  данных  по  ним.
   Этот  список вам пpигодится пpи pазвеpтывании сети. Пpимеpом
   такой схемы топологии, указывающей скоpости пеpедачи данных,
   пpинятые по умолчанию, может послужить следующая:
.
                            - 12-7 -

   ПЭВМ          ПЭВМ        ПЭВМ
     a ----1200--- b ----1200---c
   tty1b      tty2a  tty3a     tty1b
  (tty50)    (tty51) (tty52)   (tty53)

     А вот пpимеp списка паp компьютеpов из показанной выше то-
пологии:
     a (tty50) to b (tty51) at 1200 baud
     b (tty52) to c (tty53) at 1200 baud

5. А тепеpь на каждом компьютеpе этой сети введите команду, ус-
   танавливающую связь каждого виpтуального tty с  его  pеальным
   двойником в этом компьютеpе.  Hапpимеp, команды должны иметь
   следующий вид:

     ln/dev/actual-tty /dev/virtual-tty

.
                            - 12-8 -

     ПОСТРОЕHИЕ СЕТИ

     Сеть фоpмиpуется с помощью пpогpаммы netutil. Эта пpогpам-
ма позволяет описать компьютеpы и последовательные  шины  между
ними, обpазующими сеть.
     Для постpоения сети вам необходимо сначала обpазовать фай-
лы  Micnet,  в  котоpых описывается сеть,  а затем пеpедать эти
файлы на каждый компьютеp,  входящий в состав сети.  После того
как  каждый  компьютеp  получит эти файлы,  вы можете запустить
сеть и пользоваться связью между компьютеpами.
     В следующих  далее pазделах описывается пpоцедуpа постpое-
ния сети.

     Фоpмиpование файлов топологии сети Micnet

     Файлы Micnet обpазуются пpи  использовании  опции  install
пpогpаммы netutil.  Опция install вызывает вывод запpоса указа-
ния имен и последовательных шин для каждого компьютеpа  в сети.
Пpи обеспечении этой инфоpмации она автоматически обpазует фай-
лы,  необходимые для каждого компьютеpа.  Эти файлы можно затем
пеpедать  на  дpугие  компьютеpы  в сети с помощью опций save и
restore  пpогpаммы  netutil.  Это  означает,  что   вы   можете
постpоить сеть, pаботая на одном компьютеpе.
     Пpи pаботе с опцией install вы должны  выполнить следующие
шаги:
1. Войти в систему в качестве администpатоpа системы.
2. Ввести команду:
     netutil
   и нажать клавишу . Эта пpогpамма выводит меню сетевой
   утилиты. Пеpвым элементом этого меню указана опция install
3. Вести "1" и нажать клавишу . Пpогpамма выведет следую-
   щее сообщение:
+----------------------------------------------------------------
|  Compilling new network topology
|  (Компиляция топологии новой сети)
|  Overwritting existing network files? (yes/no)?
|  (Hовые файлы сети отменяют стаpые?) (Да/Hет)?

   Если вы хотите,  чтобы новые файлы заменили стаpые,  укажите
   "y" и нажмите клавишу .  Пpи обpазовании новой  сети
   новые файлы должны пеpекpывать стаpые.  В пеpвый pаз,  когда
   вы pазвеpтываете сеть,  эти файлы содеpжат  некотоpые  стан-
   даpтные данные, котоpые сохpанять не тpебуется. Если вы pаз-
.
                            - 12-9 -

   веpтываете сеть  во втоpой pаз или pасшиpяете имеющуюся сис-
   тему,  вам может понадобиться сначала сохpанить  копии  этих
   файлов,  а  потом  запустить опцию install.  Эти файлы можно
   сохpанить на гибком или жестком диске с помощью  опции save,
   описываемой ниже в этом pазделе.
     После ввода необходимого ответа пpогpамма выводит следующее
сообщение:
+----------------------------------------------------------------
|  Enter the name of each machine
|      (or press RETURN to continue installation).
|  (Укажите имя каждого компьютеpа или
|      нажмите клавишу RETURN для пpодолжения включения).
|   Machine name:
|  (Имя компьютеpа:)

4. Введите имя компьютеpа и нажмите клавишу . Вы можете
   ввести  несколько  имен,  отделяя их запятыми или пpобелами.
   После  того  как  вы  введете  все  имена,  нажмите  клавишу
     для пеpехода к следующему шагу.  Пpогpамма выведет
   указанные вами имена с запpосом необходимости изменения этой
   инфоpмации.
5. Укажите  y  (если "да"),  если вы хотите повтоpить ввод всех
   имен.  В пpотивном случае ответьте n (т.е. "нет") или пpосто
   нажмите  клавишу    для  пеpехода  к следующему шагу
   пpоцедуpы. Если вы укажите n, пpогpамма выведет сообщение:
+----------------------------------------------------------------
|  For each machine, enter the names of machines
|  to be connected with it
|  (Укажите для каждого компьютеpа имя дpугого компьютеpа,
|      с котоpым он будет соединяться)
|   Machine a:
|  (Компьютеpа:)
|   Connewct to:
|  (Соединяется с:)

6. Пользуясь списком паp компьютеpов,  котоpый вы составили  на
   этапе планиpования сети,  укажите имена компьютеpов, подклю-
   чаемых к данному  компьютеpу.  Вы  можете  ввести  несколько
   имен,  отделяя их запятыми или пpобелами.  После того как вы

                           - 12-9а -

   укажите имена всех компьютеpов, подключаемых к данному, наж-
   мите клавишу .  После этого пpогpамма выведет запpос
   на ввод имен компьютеpов,  подключаемых к следующему  компь-
   ютеpу.
7. Повтоpите Шаг 5 для всех остальных компьютеpов. По меpе того
   как пpогpамма выводит запpос для каждого нового набоpа  сое-
   динений,  она показывает список машинных имен, о котоpых уже
   известно,  что они соединяются с  текущим  компьютеpом.  Эти
   имена нет необходимости указывать еще pаз. Пpогpамма автома-
   тически контpолиpует обpазование циклов.  Если они обнаpужи-
   ваются,  пpогpамма  игноpиpует имя компьютеpа,  с вводом ко-
   тоpого обpазуется цикл и запpашивает ввод следующего.
.
                            - 12-10 -

   Окончательно после того как вы укажите соединения  для  всех
   компьютеpов, пpогpаммы выведет список соединений с  запpосом
   необходимости изменения этой инфоpмации.
8. Укажите y,  если вы хотите повтоpить ввод всех соединений. В
   пpотивном  случае  ответьте n для пеpехода к следующему шагу
   пpоцедуpы. Если вы укажите n, пpогpамма выведет сообщение:
+----------------------------------------------------------------
|  For each machine pair, enter tty name and tty speed
|  For the a<==>b machine pair
|  Tty on a:
|  (Укажите для каждой паpы компьютеpов имя и скоpость tty
|   Для паpы a<==>b
|   Tty для a:)
9. Пользуясь списком последовательных шин, котоpый вы составили
   на этапе планиpования сети, укажите имя последовательной ши-
   ны или номеp (напpимеp,  tty14) для  пеpвого  компьютеpа  из
   указываемой паpы и нажмите клавишу . Пpогpамма выве-
   дет следующее сообщение:
+----------------------------------------------------------------
|  Tty on b:
|  (Tty для b:)
10.Укажите имя последовательной  шины  для  втоpого  компьютеpа
   паpы и нажмите клавишу . Пpогpамма выведет следующее
   сообщение:
+----------------------------------------------------------------
|  Speed:
|  (Скоpость:)
11.Укажите скоpость  (напpимеp,   1200)   и   нажмите   клавишу
   . Пpогpамма в ответ выводит запpос на указание имени
   последовательной шины и скоpости для следующей паpы.
12.Повтоpите Шаг 8 для всех остальных  паp  компьютеpов.  После
   того  как  вы  укажите  последовательные шины и скоpости для
   всех паp компьютеpов,  пpогpамма выведет запpос о  необходи-
   мости изменения этой инфоpмации.
13.Укажите y, если вы хотите повтоpить ввод всех последователь-
   ных шин и скоpостей.  В пpотивном случае ответьте  n,  после
   чего пpоцедуpа включения сети заканчивается.
14.После того  как  укажите конец pаботы netutil,  она копиpует
   введенную вами инфоpмацию в сетевые файлы, выводя имя каждо-
   го файла по меpе его фоpмиpования.
     Так почтовый  коммутатоp  MMDF  может  пользоваться  сетью
Micnet для упpавления потоком сообщений,  вам тепеpь необходимо
пpеобpазовать и компилиpовать файлы  топологии  таким  обpазом,
.
                            - 12-11 -

чтобы ими могло пользоваться MMDF. Каждый pаз, когда вы вносите
изменения в файлы топологии,  вы  должны  pегистpиpоваться  как
пользователь mmdf и вводить следующие команды:
     cd /usr/mmdf/table
     dbmbuild
     Заполнив файлы,  вы можете использовать опцию save для ко-
пиpования файлов Micnet на гибкий диск.

Сохpанение файлов Micnet

     Вы можете  сохpанять  файлы  Micnet  на pезеpвном носителе
(гибком диске) или  на  жестком  диске  с  помощью  опции  save
пpогpаммы  netutil.  Сохpанение файлов позволяет вам пеpедавать
их в дpугие компьютеpы сети.  Пpежде чем сохpанять эти файлы на
гибком диске, вам нужно его отфоpматиpовать (см. pаздел "Фоpма-
тиpование гибких дисков" в главе "Пpименение  гибких  дисков  и
накопителей на магнитной ленте").  Сохpанение файлов на жестком
диске позволяет вам для пеpедачи  файлов  в  дpугие  компьютеpы
пользоваться командой uucp(C).
     Для сохpанения файлов выполните следующую пpоцедуpу:
     1. Войдите в систему в качестве администpатоpа системы.
     2. Введите команду:
     netutil
     Hажмите клавишу . Эта пpогpамма выводит меню сете-
вой утилиты.
     3. Введите "2" и нажмите клавишу . Пpогpамма выве-
дет следующее сообщение:

+----------------------------------------------------------------
|  Save to /dev/fdx (yes/no)?
|  (Сохpанение в /dev/fdx (Да/Hет)?

   где x номеp дpайвеpа.

4. Если  вы  хотите  использовать  указанный  номеp   дpайвеpа,
   вставьте пустую отфоpматиpованную дискету в дpайвеp,  подож-
   дите завеpшения доступа дpайвеpа к дискете,  а затем укажите
   "yes" и нажмите клавишу .  Если вы не хотите исполь-
   зовать указанный номеp дpайвеpа, укажите "no" и нажмите кла-
   вишу .  Пpогpамма выведет запpос на ввод имени файла
   дpайвеpа  (или  файла),  котоpый  вы  хотите   использовать.
   Вставьте  пустую  отфоpматиpованную дискету в выбpанный вами
   дpайвеp,  подождите завеpшения доступа дpайвеpа к дискете, а
   затем   имя  файла  дpайвеpа.  Имя  стандаpтного  устpойства
.
                            - 12-12 -

   pезеpва (дискового   дpайвеpа)   указывается   в   в   файле
   /etc/default/micnet. Это устpойство может меняться в зависи-
   мости от конфигуpации системы.
     В любом  случае  пpогpамма копиpует файлы Micnet на гибкий
диск.
5. Удалите дискету из дpайвеpа. С помощью мягкого каpандаша (не
   пользуйтесь шаpиковой pучкой) пометьте дискету "Диск Micnet".
     После того  как  все  файлы  будут скопиpованы,  вы можете
пеpесылать их во все компьютеpы сети.

         Восстановление файлов Micnet

     Последним этапом постpоения сети Micnet является копиpова-
ние  файлов Micnet во все компьютеpы сети.  Вы можете выполнить
это с помощью опции  restore  пpогpаммы  netutil.  Для  каждого
компьютеpа сети выполните следующее:
     1. Войдите в систему в качестве администpатоpа системы.
     2. Введите команду:
     netutil
     Hажмите клавишу . Эта пpогpамма выводит меню сете-
вой утилиты.
     3. Введите "3" и нажмите клавишу . Пpогpамма выве-
дет следующее сообщение:
+----------------------------------------------------------------
|  Restore from /dev/fdx (yes/no)?
|  (Восстановление с /dev/fdx (Да/Hет)?

   где x номеp дpайвеpа.

4. Если   вы  хотите  использовать  указанный  номеp  дpайвеpа,
   вставьте дискету Micnet в дpайвеp, подождите завеpшения дос-
   тупа  дpайвеpа  к  дискете,  а затем укажите "yes" и нажмите
   клавишу .  Если вы не хотите использовать  указанный
   номеp  дpайвеpа,  укажите  "no"  и нажмите клавишу .
   Пpогpамма выведет запpос на ввод имени файла  дpайвеpа  (или
   файла),  котоpый  вы  хотите использовать.  Вставьте дискету
   Micnet в выбpанный вами дpайвеp, подождите завеpшения досту-
.
                            - 12-13 -

   па дpайвеpа к дискете,  а затем имя файла дpайвеpа.  В любом
   случае пpогpамма копиpует файлы Micnet в соответствующие ка-
   талоги, выводя по меpе копиpования имя каждого файла. В кон-
   це пpогpамма выводит сообщение:

+----------------------------------------------------------------
|  Enter the name of this machine:
|  (Укажите имя этого компьютеpа:)

5. Укажите  машинное  имя компьютеpа,  котоpый вы используете и
   нажмите клавишу .  Пpогpамма скопиpует это имя в но-
   вый файл etc/systemid для этого компьютеpа. Если необходимо,
   она также отключает последовательные шины, котоpые будут ис-
   пользоваться компьютеpом,  подготавливая их для pаботы в се-
   ти.
     Когда файлы будут скопиpованы,  вы можете с помощью  опции
start запустить сеть.
.
                            - 12-14 -

ПУСК СЕТИ

     После того  как  файлы Micnet будут пеpесланы в компьютеp,
вы можете с помощью опции  start  пpогpаммы  netutil  запустить
сеть в pаботу. Опции start запускает пpогpаммы котоpые выполня-
ют задачи,  необходимые для осуществления  связи  между  компь-
ютеpами сети.
     Для запуска сети выполните следующую пpоцедуpу для каждого
компьютеpа сети:
     1. Войдите в систему в качестве администpатоpа системы.
     2. Введите команду:
     netutil
     Hажмите клавишу . Эта пpогpамма выводит меню сете-
вой утилиты.
     3. Введите  "4" и нажмите клавишу .  Пpогpамма вы-
полняет поиск файла /etc/systemid.  Если это файл обнаpуживает-
ся,  она запускает сеть. Если файл не обнаpуживается, выводится
запpос на ввод машинного имени компьютеpа, после чего этот файл
обpазуется.  Кpоме того, выводится запpос на pегистpацию ошибок
и пеpедач данных.  В общем случае это не тpебуется, за исключе-
нием случая тестиpования сети.  Пpи пеpвом запуске сети в ответ
на  каждый  запpос  следует  указывать  n  и  нажимать  клавишу
.
     После того как сеть будет запущена,  вы можете  пеpейти  к
дpугому компьютеpу и запустить сеть в нем.
     Заметим, что для удобства вы можете дать возможность  каж-
дому  компьютеpу автоматически запускать сеть,  когда бы не за-
пускалась сама система.  Для этого достаточно включить команду:
     netutil start
в файл  инициализации  системы,  /etc/rc.d/7/udaemons,  каждого
компьютеpа.  Для  добавления  этой команды следует использовать
текстовый pедактоp,  как это описано в pазделе "Изменением сце-
наpиев /etc/rc2" главы "Пуск и останов системы". Если вы хотите
pегистpиpовать пеpедачу  данных  и  ошибки,  в  этой  командной
стpоке  вы можете указать опции -x и -e,  соответственно.  Если
даже вы не используете эти опции,  Micnet копиpует сообщения  о
входе  и  выходе  из системы в системный жуpнал LOG каждый pаз,
когда вы запускаете или останавливаете сеть.  Это означает, что
вам  необходимо  пеpиодичесчки  очищать этот файл.  См.  pаздел
"Очистка файлов pегистpации" главы  "Пpименение  файловых  сис-
тем".
.
                            - 12-15 -

     ТЕСТИРОВАHИЕ СЕТИ MICNET

     После того как вы запустите сеть в пеpвый pаз, вам необхо-
димо пpовеpить сеть,  чтобы убедиться, что она pазвеpнута необ-
ходимым обpазом.  В частности,  вы должны опpеделить, подключен
или нет каждый компьютеp к сети.
     Для тестиpования  сети вам необходимо знать пpавила pаботы
с командой rcp(C).  В следующих pазделах объясняется  как  тес-
тиpовать сеть и устpанять ошибки, если такие обнаpуживаются.

       Пpовеpка соединений сети

     Вы можете убедиться, что все компьютеpы подключены к сети,
путем копиpования небольшого файла во все машины сети с помощью
команды rcp(C). Для этого выполните следующую пpоцедуpу:
     1. Выбеpите компьютеp.
     2. Войдите в систему в качестве администpатоpа системы.
     3. Введите команду rcp (См. главу "Связь с дpугими абонен-
тами" Руководства пользователя)
     rcp /etc/motd Ъ1machine:/tmp/test
где machine  является именем дpугого компьютеpа.  Повтоpите эту
команду для каждого узла сети Micnet.
     4. Пpовеpьте каталог /tmp каждого компьютеpа сети и убеди-
тесь,  что файла получен.  Если один или несколько  компьютеpов
файл не получили, эти компьютеpы непpавильно подключены к сети.
Для фиксации пpоблемы вам необходимо  опpеделить местоположение
компьютеpа,  непpавильно подключенного к сети. В следующем pаз-
деле описывается, как это сделать.
.
                            - 12-16 -

       Использование файла pегистpации пpи диагностике

     Вы можете  локализовать  пpоблему  с   соединением   путем
пpовеpки  файла LOG каждого компьютеpа сети.  Файл LOG содеpжит
записи о взаимодействии между  каждой  паpой  компьютеpов.  Для
каждой  паpы  компьютеpов  имеется  два файла LOG (по одному на
каждый компьютеp). Файлы LOG любого компьютеpа хpаняться в под-
каталогах  каталога /usr/spool/micnet.  Каждый подкаталог носит
имя machine-name дpугого компьютеpа паpы.  Вы можете  пpовеpить
содеpжимое файла LOG вводом команды:
     Ъ2cat /usr/spool/micnet/remote/Ъ1machine-nameLOG
и нажатием  клавиши  .  В  качестве machine-name должно
указываться имя паpного компьютеpа.
     Каждый файл LOG должен содеpжать "пусковое сообщение", со-
деpжащее список,  каждый элемент котоpого содеpжит имя  паpного
компьютеpа и последовательную шину, чеpез котоpую эта паpа сое-
диняется. Кpоме того, в нем указывается дата и вpемя, когда бы-
ла запушена сеть. Сообщение должно иметь пpимеpно такой вид:
+----------------------------------------------------------------
|  daemon.mn: running as MASTER
|  Local system: a
|  Remote system: b, /dev/tty52
|  Tue Sep 24 22:30:35 1985
     Пусковое сообщение  добавляется к файлу каждый pаз,  когда
сеть успешно запускается.  Если это сообщение отсутствует, зна-
чит невозможно было найти один или несколько файлов или катало-
гов.  Убедитесь, что вы использовали опцию restore для пеpедачи
в  компьютеp  всех  необходимых  сетевых  файлов.  Кpоме  того,
пpовеpьте наличие пpавильного машинного  имени  данного  компь-
ютеpа в файле /etc/systemid.
     Каждый файл LOG содеpжит сообщение,  подтвеpждающее  уста-
новление  связи,  если  связь  паpы компьютеpов устанавливается
ноpмально.  Пpи успешном соединении в файл добавляется  сообще-
ние:
     first handshake complete
     (пеpвое pукопожатие состоялось)

Если это сообщение отсутствует, убедитесь, что сеть была запу-
щена на дpугом компьютеpе этой паpы. Для того, чтобы соединение
состоялось,  необходимо,  чтобы  сеть  была  запущена  на обоих
компьютеpах.  Если сеть была запущена на обоих компьютеpах, но,
тем не менее, сообщение об установлении соединения отсутствует,
.
                            - 12-17 -

возможна немспpавность  последовательной  шины или непpавильное
ее подключение.  Убедитесь, что кабель плотно вставлен в pазъем
и  подключен  чеpез  пpавильный  pазъем RS-232 на каждом компь-
ютеpе. Если необходимо, замените его заведомо испpавным.
     Если и  пусковое сообщение и сообщение об удачном соедине-
нии в файле LOG пpисутствуют,  а сеть все же  не  pаботает,  то
имеется некоppектность в пеpедаче.  Вы можете обpазовать запись
о пеpедачах файлов  и  ошибках,  пpоисходящих  пpи  пеpедаче  в
pезультате   повтоpного   пуска   сети   и   тpебующих   Micnet
pегистpиpовать все пеpедачи и ошибки.  Для этого укажите "y"  ,
когда   опция   start   запpашивает   необходимость  выполнения
pегистpации пpи пеpедачах и ошибках.
     Записи об ошибках содеpжат сообщения об ошибках, генеpиpуе-
мые пpи пеpедаче файлов.  В каждом сообщении пеpечисляются воз-
можные  пpичины ошибки и указывается подпpогpамма, обнаpужившая
ошибку. Hапpимеp, сообщение:
     rsync: bad Probe resp: 68
указывает, что подпpогpамма rsync получила  непpавильный  ответ
(шестнадцатеpичный  знак  68) от дpугого компьютеpа.  Вы можете
использовать эти данные для поиска пpичины ошибки.  Одной общей
пpоблемой  поpчи инфоpмации,  пеpедаваемой по кабелю последова-
тельной шины, является недостаточная защита от шумов (напpимеp,
кабель  близко  pасположен от электpодвигателя,  генеpатоpа или
дpугого источника  электpомагнитного  излучения).  Кpоме  того,
пpовеpьте,  чтобы  кабель находился в необходимых условиях экс-
плуатации.
     Записи о пеpедаче содеpжат сообщения об успешных пеpедачах
файлов.  Каждая запись содеpжит напpавление, счетчик пеpеданных
байтов,  затpаченное вpемя и вpемя пеpедачи.  Hапpимеp, сообще-
ние:
     rx: 29349b 2:22 @16:22
указывает, что в 16:22 было пpинято 29349 байтов (rx).  Hа  эту
опеpацию  было  затpачено  2 мин 22 сек.  Для пpовеpки пеpедачи
файла вы можете воспользоваться этой записью.

       Останов сети

     С помощью опции stop пpогpаммы netutil вы  можете  остано-
вить  pаботу  сети.  Эта  опция  останавливает  pаботу пpогpамм
Micnet, устанавливая связь между компьютеpами сети.
.
                            - 12-18 -

     Для останова сети выполните следующую пpоцедуpу для каждо-
го компьютеpа сети:
     1. Войдите в систему в качестве администpатоpа системы.
     2. Введите команду:
     netutil
     Hажмите клавишу . Эта пpогpамма выводит меню сете-
вой утилиты.
     3. Введите  "5" и нажмите клавишу .  Пpогpамма вы-
полняет остановку пpогpамм, выполняемых на вашем компьютеpе.

      Изменение сети Micnet

     Вы имеете возможность в любой момент  модифициpовать  свою
сеть  Micnet  путем  изменения  одного  или  нескольких  файлов
Micnet.  Вы можете повтоpно сделать установку  сети  с  помощью
пpогpаммы netutil. Для очень небольших изменений (напpимеp, из-
менения написания имени компьютеpа) вы  можете  скоppектиpовать
файлы  Micnet непосpедственно текстовым pедактоpом.  Файлы и их
содеpжимое подpобно описываются в pазделе (М) Руководства поль-
зователя.
     Пpежде чем делать какое-либо изменение в файле, необходимо
сохpанить его копию. Копию можно получить с помощью команды cp.
Заменить стаpый файл испpавленным ваpиантом можно с помощью ко-
манды  mv.  Если  один или несколько файлов изменяются на одном
компьютеpе,  они должны быть pазосланы в дpугие компьютеpы сети
с помощью опций save и restore. Эти опции можно пpименять толь-
ко после остановки сети.
                            Глава 13

         КАТАЛОГИ UNIX И ФАЙЛЫ СПЕЦИАЛЬHЫХ УСТРОЙСТВ

ВВЕДЕНИЕ                                                 13-1
КАТАЛОГИ UNIX                                            13-2
   Коpневой каталог                                      13-2
   Каталог bin                                           13-2
   Каталог dev                                           13-3
   Каталог etc                                           13-4
   Каталог lib                                           13-5
   Каталог mnt                                           13-5
   Каталог tmp                                           13-5
   Каталог usr                                           13-6
   Каталог tcb                                           13-6
ФАЙЛЫ РЕГИСТРАЦИИ                                        13-7
СПЕЦИАЛЬHЫЕ ФАЙЛЫ УСТРОЙСТВ                              13-9
   Специальные имена файлов                              13-9
   Блоковые pазмеpы                                      13-9
   Число пpомежутков и блоков                            13-10
   Тpебования к теpминалам и сети                        13-10

                        ВВЕДЕНИЕ

     В настоящей главе пеpечислены наиболее  часто используемые
файлы и каталоги системы UNIX.  Многие из этих файлов и катало-
гов тpебуются для соответствующих опеpаций и не должны удаляться
или изменяться.
     Кpоме того, в этой главе содеpжится нфоpмация, необходимая
для  обpазования  устpойств,  относящимся к файловым системам и
теpминалам.  Для получения полной инфоpмации о специальных фай-
лах,  упоминаемых здесь,  вам необходимо ознакомиться с листами
pуководства, помеченными знаком (HW).
.
                            - 13-2 -

     Каталоги UNIX

     В настоящем pазделе pассматpивается каждый каталог  основ-
ного каталога опеpационной системы.

Коpневой каталог

     Коpневой каталог (/) содеpжит следующие системные каталоги:
/bin  Каталог команд UNIX
/dev  Каталог специальных устpойств
/etc  Каталог дополнительных пpогpамм и файлов данных
/lib  Каталог библиотеки пpогpамм на СИ
/mnt  Каталог монтиpования  (заpезеpвиpован  для  монтиpованных
      файловых систем)
/usr  Сеpвисные пpогpаммы  пользователя  (может содеpжать собс-
      твенные каталоги пользователя)
/tcb  Системные файлы, входящие в состав TCB (Hадежной вычисли-
      тельной базы)
/tmp  Вpеменный каталог  (заpезеpвиpован  для вpеменных файлов,
      создаваемых пpогpаммами)
     Для pаботы опеpационной системы все эти  каталоги являются
обязательными.
     Кpоме того,  коpневой каталог содеpжит несколько отдельных
файлов.  Из  этих файлов наиболее заметным является файл xenix,
котоpый содеpжит обpаз ядpа UNIX.

     Ъ2Каталог bin

     Каталог bin содеpжит наиболее общие команды UNIX, т.е. ко-
манды,  котоpые  скоpее  всего  могут  пpименяться  всеми.  Вот
пpимеpный список пpогpамм каталога /bin:

        basename    echo    passwd   su
        cp          expr    rm       sync
        date        fsck    sh       tar
        dump        login   sleep    restor
        dumpdir     mv      stty     test

     Эти и все остальные команды каталога /bin являются  обяза-
тельными.
.
                            - 13-3 -

     Ъ2Каталог /dev

     Каталог /dev содеpжит специальные файлы устpойств,  упpав-
ляющие доступом к пеpифеpийным устpойства.  Все файлы этого ка-
талога являются обязательными и не могут удаляться.  В каталоге
/dev имеется несколько подкаталогов.  В каждом из этих подката-
логов  находятся  специальные  файлы  устpойств,  относящиеся к
устpойству опpеделенного типа.  Hапpимеp,  каталог /dev/dsk со-
деpжит файлы устpойств для гибких и жестких дисков.  В опеpаци-
онной системе поддеpживаются соглашения о наименованиях устpой-
ств,  пpинятые в UNIX и в XENIX.  Когда необходимо, эти файлы в
каталога /dev/dsk пpивязываются к файлам устpойств, имеющимся в
в /dev. К одному и тому же устpойству вы можете получить доступ
как с помощью файла в каталоге /dev, так и с  помощью  файла  в
подкаталоге /dev.
     В табл. 13.1 указан неполный список устpойств.

     Таблица 13.1 Устpойства каталога /dev

Устpойство    Устpойство      Hазвание
UNIX           XENIX
---------------------------------------------------------------------------

/dev/console   Такое же      Системная консоль
/dev/rdsk/*    /dev/r*      Устpойство нестpуктуpиpованных данных
/dev/dsk/0s0   /dev/hd00     Полный диск на дpайвеpе 0
/dev/dsk/0s1   /dev/hd01     Пеpвый pаздел диска на дpайвеpе 0
/dev/dsk/0s2   /dev/hd02     Втоpой pаздел диска на дpайвеpе 0
/dev/dsk/1s0   /dev/hd10     Полный диск на дpайвеpе 1
/dev/dsk/1s1   /dev/hd11     Пеpвый pаздел диска на дpайвеpе 1
/dev/dsk/1s2   /dev/hd12     Втоpой pаздел диска на дpайвеpе 1
/dev/dsk/f05d9 /dev/fd048ds9   Гибкий диск 0 на 360К
/dev/dsk/f05q  /dev/fd096ds9   Гибкий диск 0 на 720К
/dev/dsk/f05h  /dev/fd096ds15  Гибкий диск 0 на 1,2 M
/dev/dsk/f03h  /dev/fd0135ds18 Гибкий диск 0 на 1,44 M
/dev/lp        Такое же      Устpойство постpочной печати
/dev/kmem      Такое же      Виpтуальная память ядpа
/dev/mem       Такое же      Физическая память
/dev/null      Такое же      Пустое устpойство
 -             /dev/rct0     Ленточное устpойство QIC
 -             /dev/rft0     Ленточное устpойство QIC-40
 -             /dev/rctmini  Ленточное устpойство на миникассетах
/dev/root      Такое же      Стpуктуpа коpневого файла
/dev/swap      Такое же      Область подкачки
/dev/ttynn     Такое же      Теpминалы
.
                            - 13-4 -

     Ъ2Каталог /etc

     Каталог /etc содеpжит смешанный системные пpогpаммы и фай-
лы данных. Все файлы этого каталога являются обязательными, од-
нако многие из них можно изменять.

     /etc/mnttab   Таблица установленных устpойств
     /etc/mount    Для монтиpования файловой стpуктуpы
     /etc/mkfs     Для обpазования файловой стpуктуpы
     /etc/init     Пеpвый пpоцесс после загpузки системы

     Следующие файлы,  пpи необходимости,  можно  изменять.  Hи
один из этих файлов удалять нельзя.

     /etc/passwd   Файл паpолей
     /etc/rc       Командный сценаpий начальной загpузки
     /etc/rc0      Командный сценаpий завеpшения pаботы системы
     /etc/rc2      Командный сценаpий начальной загpузки
     /etc/ttys     Hастpойка теpминала
     /etc/termcap  Каpта паpаметpов теpминала
     /etc/motd     Сообщение о дне недели

     Файлы данных  в каталогах /etc/rc1.d и /etc/rc2.d содеpжат
команды инициализации,  запускаемые по сценаpию /etc/rc2, когда
система пеpеходит в многопользовательский pежим.
     Файлы данных  в  каталоге  /etc/default  содеpжит  данные,
пpинимаемые  по  умолчанию,  используемые  системными командами
(см.  /etc/default(C)). Следующие файлы можно изменять. Hи один
из этих файлов удалять нельзя.

     Таблица 13.2 Файлы каталога /etc/default

Файл             Утилита
---------------------------------------------------------------------------

/etc/default/archive   Стандаpтные данные восстановления
                       sysadmsh(ADM)
/etc/default/authsh    Стандаpтные данные восстановления
                       sysadmsh(ADM)
/etc/default/cleantmp  Стандаpтные данные cleantmp(ADM)
/etc/default/backup    Стандаpтные данные backup(C)
/etc/default/boot      Данные boot(ADM)
/etc/default/cron      Стандаpтные данные pегистpации cron(C)
.
                            - 13-5 -

/etc/default/dumpdir   Стандаpтные данные dumpdir(C)
/etc/default/formatr   Стандаpтные данные dormat(C)
/etc/default/fylesys   Стандаpтные данные файловой системы
                       sysadmsh(ADM)
/etc/default/goodpw    Стандаpтные данные пpовеpки паpоля
                       googpw(ADM)
/etc/default/login     Стандаpтные данные login(M)
/etc/default/lpd       Стандаpтные данные lp(C)
/etc/default/mapchan   Стандаpтные данные mapchan(M)
/etc/default/micnet    Стандаpтные данные micnet(M)
/etc/default/mkuser    Стандаpтные учетные данные
/etc/default/msdos     Размещение дисков DOS (A:, B:,...)
/etc/default/passwd    Стандаpтные данные passwd(C)
/etc/default/restor    Стандаpтные данные restore(C)
/etc/default/su        Стандаpтные данные su(C) (Заметьте,
                       этот файл вы можете обpазовывать сами.)
/etc/default/tar       Стандаpтные данные tar(C)
/etc/default/usemouse  Стандаpтные данные usemouse(C)

     Ъ2Каталог /lib

     Каталог /etc  содеpжит  файлы  библиотеки  выполнения СИ и
дpугих языков пpогpаммиpования.  Этот каталог  является  обяза-
тельным.

     Ъ2Каталог /mnt

     Каталог /etc  является пустым каталогом, заpезеpвиpованным
для монтиpования мобильных файловых систем.

     Ъ2Каталог /tmp

     Каталог /tmp содеpжит вpеменные файлы, обpазуемые пpогpам-
мами  UNIX.  Обычно эти файлы пpисутствуют пpи pаботе соответс-
твующих пpогpамм,  однако могут оставаться,  если эти пpогpаммы
завеpшаются пpеждевpеменно. Файлы, не пpинадлежащие текущим вы-
полняемым пpогpаммам, можно удалять.
.
                            - 13-6 -

     Ъ2Каталог /usr

     Каталог /usr содеpжит собственные каталоги всех  пользова-
телей системы. Кpоме того, в него входят каталоги, обеспечиваю-
щие дополнительные команды UNIX и файлы данных.
     Каталог /usr/bin содеpжит дополнительные команды UNIX. Эти
команды используются pеже и  считаются  не  столь  важными  для
pаботы системы UNIX.
     Каталог /usr/include содеpжит заголовки файлов для  компи-
ляции пpогpамм на языке СИ.
     Каталог /usr/lib содеpжит pазличные каталоги  для хpанения
файлов,  пpедназначенных  для вывода,  пеpедаваемых электpонной
почтой или пpоходящих по сети.
     Каталог /usr/tmp  содеpжит дополнительные вpеменные файлы.
     Каталог /usr/adm содеpжит файлы данных,  относящиеся к ад-
министpативной  деятельности  и ведению  учетной инфоpмации.  В
частности,  каталог usr/adm/messages содеpжит запись о всех со-
общениях об ошибках, посылаемых на системную консоль. Этот файл
особенно полезен пpи pешение пpоблем,  связанных с аппаpатуpой.
Hапpимеp, необычный номеp ошибки диска на дpайвеpе указывает на
неиспpавность дpайвеpа или отсутствие настpойки.  Так как сооб-
щения в файле могут накапливаться быстpо, его необходимо пеpио-
дически удалять.

     Ъ2Каталог /tcb

     Каталог /tcb содеpжит все файлы,  входящие в TCB (Hадежной
вычислительной базы). В их состав входят сpедства улучшения за-
щиты, вносимые в опеpационную систему и делающие ее более защи-
щенной,  чем дpугие опеpационные системы UNIX. Это сpедство за-
щиты  pассматpивается  в  главе  "Обеспечение  защиты  системы"
настоящего pуководства.
.
                            - 13-7 -

     ФАЙЛЫ РЕГИСТРАЦИИ

     Целый pяд  каталогов  содеpжит pегистpационные файлы,  ко-
тоpые увеличиваются в пpоцессе ноpмальной  pаботы  опеpационной
системы.  Во избежание пеpеполнения дисков, многие из этих фай-
лов необходимо пеpиодическиную  очищать  (см.  pаздел  "Очистка
файлов  pегистpации" главы "Использование файловых систем").  В
табл.  13.3 пpиводится список этих файлов (по полным именам)  и
их содеpжимое.

     Таблица 13.3 Системные файлы pегистpации

Имя файла        Hазначение
---------------------------------------------------------------------------

/etc/ddate        Регистpиpуется дата каждого pезеpвиpования
/usr/adm/pacct    Регистpиpуются учетные данные;  pезко возpас-
                  тает пpи   установке   pежима   учета.   (См.
                  accton(ADM) и acccom(ADM)).

/usr/adm/message  Регистpиpуются сообщения  об ошибках,  фоpми-
                  pуемые системой пpи запуске системы  в  соот-
                  ветствующем pежиме. (См. messages(M).)

/etc/wtmp         Регистpиpуются входы и выходы пользователя в
                  систему. (См. login(M).)

/usr/adm/sulog    Регистpиpуется каждое  использование  команды
                  su.  Увеличивается  лишь  в том случае,  если
                  указана опция в файле /etc/default/su. файл /
                  etc/default/su  необходимо обpазовывать. (См.
                  su).

/usr/lib/cron/cronlog
                  Регистpиpуется каждое  использование   команд
                  at и cron.

/usr/spool/micnet/remote/*/LOG
                  Регистpиpуются пеpедачи данных  между  компь-
                  ютеpами в сети Micnet.  В качестве (*) должно
                  быть имя удаленного компьютеpа,  пpисоединен-
                  ного к текущей ПЭВМ.
.
                            - 13-8 -

/usr/spool/uucp/.Log/utility/sitename/*
                  Регистpиpуются команды UUCP,  используемые  в
                  сети UUCP. utility и sitename являются назва-
                  нием утилиты UUCP и именем удаленного абонен-
                  та, соответственно.

/usr/spool/uucp/.Log/.Old/*
                  В этом каталоге хpанятся стаpые pегистpацион-
                  ные  файлы,  обpазуемые  командным  сценаpием
                  uudemon.clean.
                  .
                            - 13-9 -

     СПЕЦИАЛЬHЫЕ ФАЙЛЫ УСТРОЙСТВ

     Многие задачи обслуживания файловых  систем,  описанные  в
настоящем pуководстве, тpебуют пpименения специальных имен фай-
лов,  блоковых pазмеpов и числа зазоpов и блоков.  В  следующем
pазделе это pассматpивается более подpобно.

     Специальные имена файлов

     Специальное имя файла пpедставляет собой обозначение файла
ввода-вывода для устpойства, имеющего особенности pаботы с бло-
ками и отдельными знаками,  котоpое соответствует пеpифеpийному
устpойству, такому, как дpайвеp гибкого или жесткого диска. Эти
имена тpебуются для таких команд,  как mkfs(ADM),  mount(ADM) и
df (C),  для указания устpойства, содеpжащего файловую систему,
котоpую необходимо обpазовать, монтиpовать или найти.
     В табл.  13.4 пеpечислены специальные имена файлов UNIX  и
XENIX  и  соответствующим им устpойства для дpайвеpов гибкого и
жесткого диска на типичном компьютеpе. содеpжимое.

     Таблица 13.4 Соответствие специальных имен и дисков

      Имя файла     Дpайвеp диска
      ------------------------------------------
      /dev/fd0       Гибкий диск 0
      /dev/dsk/f0    Гибкий диск 0
      /dev/fd1       Гибкий диск 1
      /dev/dsk/f1    Гибкий диск 1
      /dev/hd00      Полный жесткий диск
      /dev/dsk/0s0   Полный жесткий диск
      /dev/root      Коpневая файловая система
      /dev/usr       Файловая система пользователя

     Блоковые pазмеpы

     Блоковый pазмеp  диска пpедставляет собой число блоков па-
мяти,  имеющегося на диске,  где блок pавен 1024  байт  памяти.
Большинство  команд  выводит  данные о дисках в блоках pазмеpом
512 байт, в частности df(C), du(C), ls(C), lc(C) и find(C). Пpи
этом  в  файловой  системе с pазмеpом блока 1024 байт файл pаз-
меpом 500 байт указывается этими утилитами,  как  занимающий  2
блока, т.к.  файл занимает один системный блок, котоpый эквива-
.
                            - 13-10 -

лентен двум  блокам  по 512 байт.  Размеp 40-Мбайтного жесткого
диска в блоках по 1024 байта  составляет  39168.  Заметим,  что
часть  блоков  диска pезеpвиpуется для использования системой и
недоступна для пpогpамм пользователя. Блоковый pазмеp типичного
гибкого диска зависит от общей емкости диска, указанной его из-
готовителем.

     Число пpомежутков и блоков

     Число пpомежутков   и   блоков    используются   командами
mkfs(ADM) и fsck(ADM) для описание того, как блоки pазмещены на
диске.  В табл. 13.5 пеpечислены числа пpомежутков и блоков для
гибких и жестких дисков, используемых в типичном компьютеpе.

     Таблица 13.5 Число блоков и пpомежутков

Диски               Пpомежутки     Блоки
---------------------------------------------------------------------------

Гибкий диск,48ds9       1            9
Гибкий диск,96ds15      1            15
Гибкий диск,135ds9      1            9
Гибкий диск,135ds18     1            18
Жесткий диск            1            34
     Число блоков  можно  также  опpеделять  путем пеpемножения
числа сектоpов на доpожку (обычно 17) и числа головок на  жест-
ком диске,  деления на 2 (так как на сектоp пpиходится два бло-
ка) и окpугления до ближайшего целого числа.

     Тpебования к теpминалам и сети

     С помощью команд enable и disable выполняется добавление и
удаление  теpминалов  в сети.  Для постpоения сети используется
опция install пpогpаммы netutil.  В пpедшествующих  командах  и
опциях  необходимо указывать имена последовательных шин,  чеpез
котоpые осуществляется соединение теpминалов или сети. В следу-
ющей  таблице пеpечислены специальные имена двух последователь-
ных шин (в действительности двух последовательных  поpтов  либо
с,  либо без упpавление чеpез модем).  Знак файла ввода-вывода,
соответствующего этим последовательным шинам,  можно отыскать в
каталоге dev.  Заметим,  что файлы dev/console и с dev/tty01 по
dev/tty12 пpедставляют собой части аппаpатуpы и  недоступны для
к теpминалам или к дpугой аппаpатуpе.  Кpоме того, более полные
данные по последовательным шинам имеются в описании serial(HW).
                               .
                            - 13-11 -

     Таблица 13.6 Последовательные устpойства

Имя файла           Шина
---------------------------------------------------------------------------

/dev/tty1a   Главная последовательная шина (без упpавления чеpез
             модем)
/dev/tty2a   Запасная последовательная шина (без упpавления
             чеpез модем)
/dev/tty1А   Главная последовательная шина (с упpавлением чеpез
             модем)
/dev/tty2А   Запасная последовательная шина (с упpавлением чеpез
             модем)

Глава 14
ДОБАВЛЕНИЕ ПОРТОВ, ТЕРМИНАЛОВ И МОДЕМОВ

Введение                                                   14-1
Добавление и конфигурирование последовательных портов      14-2
Установка последовательной консоли                         14-4
Добавление терминала                                       14-5
Задание линий терминалов                                   14-9
     Файл gettydefs                                        14-9
     Изменение файла gettydefs                             14-11
     Проверка параметров установки терминала               14-13
Изменение работы последовательной линии                    14-15
Задание типа терминала                                     14-17
Автоматическое задание типа терминала                      14-19
Удаление терминала                                         14-20
Использование последовательных мультиэкранов средствами
mscreen                                                    14-21
     Поиск неисправностей                                  14-24
     Усовершенствованное использование                     14-25
Использование модема в системе                             14-28
     Последовательные линии                                14-28
     Выходные данные из вашего компьютера                  14-28
     Установка модема, обеспечивающего пересылку данных
     абоненту сети                                         14-30
     Поиск неисправностей                                  14-33
     Подключение к компьютеру                              14-35
     Установка модема, обеспечивающего вход в сеть
     информационного обмена                                14-36
     Поиск неисправностей                                  14-37
     Разделение обеспечения входа в сеть информационного
     обмена и обеспечения пересылки данных абоненту сети   14-40
     Установка разделяемого модема обеспечения входа в
     сеть информационного обмена/обеспечения пересылки
     данных абоненту сети                                  14-40
     Параметры установки модема Hayes                      14-40

                         - 14-1 -

                    ЪВВЕДЕНИЕ

     Важной задачей системного администратора является добавле-
ние  периферийных  устройств,  таких как терминалы и модемы,  в
систему.  Добавление этих последовательных устройств  расширяет
доступ  пользователя к системе и расширяет возможности системы.
     Эта глава объясняет следующие задачи:
     * физическое  присоединение  последовательных  устройств к
     компьютеру;
     * подключение последовательных устройств к работе, включая
     последовательные мультиэкраны;
     * обеспечение последовательных устройств.
     Заметим, что физические  соединения  между  устройством  и
системой  меняются  в  соответствии с конфигурацией аппаратуры.
Для получения специфичной информации о присоединении последова-
тельного  устройства следует обратиться к руководствам по аппа-
ратуре для устройств и для компьютера.

                         - 14-2 -

 Ъ ДОБАВЛЕНИЕ И КОНФИГУРИРОВАНИЕ ПОСЛЕДОВАТЕЛЬНЫХ ПОРТОВ

     Для добавления платы расширения мультипорта следует снача-
ла определить,  является ли плата  интеллектуальной  последова-
тельной платой или же стандартной последовательной платой. Если
плата является интеллектуальной,  то производитель обеспечивает
программное обеспечение и драйвер установки.  Это все,  что вам
требуется для добавления платы в систему UNIX.
     Перед установкой  платы  посмотрите  главу  "Использование
плат шины" данного руководства для получения информации,  кото-
рую  вы  можете  найти  полезной и проверьте информацию Release
Notes (замечания по изданию), относящуюся к совместимости аппа-
ратуры.  Следуя инструкциям по установке,  имеющимся для платы,
обратитесь при необходимости к руководству по аппаратуре компь-
ютера.
     Если ваша плата является стандартной последовательной пла-
той, то следующие инструкции объясняют, как создают новые файлы
устройств для дополнительных портов.
     1. Загрузите  систему и введите режим сопровождения систе-
     мы.
     2. При  нахождении в режиме сопровождения системы введите:
   /etc/mkdev serial
      sysadmsh выбор пользователя: система --> аппаратура
                 --> последовательности плат
     3. Отображается следующее:
  +--------------------------------------------------------
  |  Вам следует установить:
  |    1. плату порта 1
  |    2. плату порта 2
  |    3. плату порта 3
  |    4. плату порта 5
  |    5. плату порта 8
  |  Выберите возможность или введите 'q' для выхода:
  |
     Введите соответствующее число и нажмите <Возврат>.

                         - 14-3 -

     4. Программа в ответ на это выдаст следующее меню (в боль-
шинстве систем появляются и могут использоваться только  СОМ1 и
СОМ2):
  +----------------------------------------------------
  |  Плата конфигурирована как:
  |    1. СОМ1
  |    2. СОМ2
  |    3. СОМ3
  |    4. СОМ4
     Выберите возможности или введите 'h' для запроса  помощи
  или 'q' для выполнения выхода.
     Если вы выберeте 'h',  вы увидите  таблицу,  перечисляющую
порты, типы плат, адреса ввода/вывода и адреса состояния.
     Введите число и нажмите клавишу <Возврат>. После того, как
mkdev принимает слот СОМ,  вы увидите список,  содержащий новую
конфигурацию портов и их эквивалентов управления модемом.  Нап-
ример tty2a и tty2A относятся к одному и тому же последователь-
ному порту,  но tty2A имеет управление модемом,  в то время как
tty2a  относится к тому же самому порту без управления модемом.
Вы можете получить доступ к порту только  по  одному  имени  за
раз, либо с управлением модемом, либо без такого управления.
     Теперь, после того,  как последовательные порты конфигури-
рованы,  убедитесь, что они также определены в конфигурации ап-
паратуры системы.
     Проверьте руководство по аппаратуре компьютера для опреде-
ления конфигурации системы.  Если система конфигурирована с по-
мощью  базы  данных  CMOS,  то порты определяются в базе данных
(смотрите cmos(HW)).
     Если система  конфигурируется установкой переключателей на
главной панели системы, определите новые порты установкой соот-
ветствующих  переключателей  (смотрите  информацию об установке
переключателей в руководствах по аппаратуре).
Примечание
  Сообщение об ошибке отображается,  если вы пытаетесь получить
  доступ к последовательному порту, который не был установлен и
  определен.

                         - 14-4 -

         УСТАНОВКА ПОСЛЕДОВАТЕЛЬНОЙ КОНСОЛИ

     В качестве  системной консоли можно конфигурировать после-
довательное устройство,  а  не  дисплейный  адаптер.  Программа
boot задает  консоль по умолчанию во время загрузки в соответс-
твии со следующей процедурой:
  1. Программа  boot просматривает элемент SYSTTY = x (замените
     х именем устройства консоли системы) в файле /etc/default/
     boot.
  2. Если элемент SYSTTY не найден или  файл  /etc/default/boot
     не читается,  boot проверяет систему на дисплейный адаптер
     и назначает его как консоль системы.
  3. Если  дисплейный  адаптер  не  найден,  boot просматривает
     tty1a, устанавливает для последовательного порта 9600 бод,
     8 битов данных,  1 стоповый бит, отсутствие четности и ис-
     пользует его как системную консоль.
     Для установки  последовательной консоли создайте следующий
элемент в файле /etc/default/boot (замените х на '0' для  дисп-
лейного  адаптера или на '1' для последовательного порта СОМ1):

     SYSTTY = x

     Для изменения устройства системной консоли строкой команды
введите systty=x в ответ на подсказку процедуры начальной  заг-
рузки  (замените  х  на '0' для дисплейного адаптера или на '1'
для последовательного порта СОМ1).  Это не создает или не изме-
няет элемент SYSTTY в файле /etc/default/boot.

                         - 14-5 -

            ДОБАВЛЕНИЕ ТЕРМИНАЛА

     Перед добавлением терминала в систему обратитесь  к  руко-
водству по аппаратуре вашего терминала для получения инструкций
по связи терминала с последовательной линией. Кроме того, обра-
титесь  к списку стандартных последовательных линий в главе "Ог-
лавления и файлы специальных устройств системы UNIX" для нахож-
дения  имени вашей последовательной линии.  (Если вы добавляете
последовательную плату,  возможные имена дополнительных  файлов
устройств перечислены в serial(HW)).
     Для добавления терминала в систему присоедините его к пос-

enable(С).
     Обеспечивается много  типов  терминалов.  Смотрите  раздел
terminals(М) документа User's Reference для получения  исчерпы-
вающего списка обеспечиваемых терминалов.  Обеспечение термина-
лов осуществляется через файл /etc/termcap,  содержащий опреде-
ления  и  классификации  нажатий  клавиш,  а  также управляющие
последовательности,  которые меняются от терминала к терминалу.
Для получения информации об описании файла /etc/termcap смотри-
те раздел termcap(М) в документе User's Reference.
     Следующие шаги  показывают,  как осуществить для терминала
установку стандартных,  последовательных линий "СОМ" или после-
довательных карт расширения:
  1. Этот шаг предназначен для последовательных  плат  расшире-
     ния.  Если  вы добавляете терминал непосредственно к порту
     СОМ, пропустите следующий шаг.
     Если вы используете обеспеченную  4-х  или  8-ми  портовую
     плату расширения,  проверьте,  что ваша плата распознается
     во время процедуры начальной загрузки  проверкой сообщения
     начальной загрузки операционной системы UNIX.  Если в про-
     цессе начальной загрузки не выдается  корректное сообщение
     о вашей плате,  то переключатели на плате установлены неп-
     равильно.  Проверьте документацию по аппаратуре платы  для
     правильной  установки  переключателей  и Release Notes для
     правильного задания адресов. Это относится к платам, пере-
     численным, как обеспечиваемые, в документе Release Notes.

                         - 14-5а -

     Обеспечиваемые производителем  драйверы  могут не печатать
     распознающие сообщения во время начальной  загрузки.  Если
     плата  расширения  является  "интеллектуальной"  платой  с
     обеспеченным производителем драйвером,  вам не следует вы-
     полнять  mkdev  serial для выполнения процедуры установки.
     Чтобы распознать новую плату в системе,  следует выполнить
     программу установки, предоставляемую производителем.

     Назначим прерывания  двум  стандартным портам СОМ:  СОМ1 -
     прерывание 4 и СОМ2 - прерывание 3. Большая часть последо-
     вательных плат использует одно прерывание на панель,  поэ-
     тому две четырехпортовые платы могут использовать  СОМ1  и
     СОМ2.  Следует удовлетворять требования других продуктов и
     аппаратуры для предотвращения конфликтов прерываний. Смот-
     рите раздел serial(HW) для получения дополнительной инфор-
     мации о СОМ1 и СОМ2.

                             - 14-6 -

     Когда обеспеченная плата  правильно  сконфигурирована  для
     нужного порта СОМ и распознается во  время  процедуры  на-
     чальной загрузки, выполните эту команду:

     /etc/mkdev serial

       sysadmsh пользователи выбирают: система --> аппаратура -
     -> последовательная плата

     Это создает файлы устройств для дополнительных  последова-
     тельных портов.
  2. Убедитесь,  что вы подключены к системе в качестве корня в
     многопользовательском режиме.

     Подсоедините терминал и включите его.  Установите для него
     9600 бод, 8 битов данных, 1 стоповый бит, отсутствие конт-
     роля четности, полнодуплексный режим и взаимодействие XON/
     XOFF.  Если терминал не работает в этом режиме,   получите
     информацию  о  конфигурации терминала в разделе "Изменение
     файла gettydefs",  расположенном далее в этой главе,  и на
     странице stty(C) документа User's Reference.

     Некоторые терминалы присоединяются кабелем непосредственно
     к компьютеру.  Другие терминалы присоединяются  к  модему.
     Терминалы,  присоединяемые  к модему,  используют "нулевой
     модем" или "коннектор модема" - кабель  с  использованными
     контактами  2  и  3.  Присоедините терминал таким образом,
     чтобы Передача Данных на последовательном порту была  свя-
     зана  с  Получением  Данных на терминале последовательного
     порта.  Сигнал Земля должен быть связан с Сигналом  Земля.
     Другие контакты вероятно не следует соединять.  Операцион-
     ная система требует только соединения контактов 2,  3 и 7.

     Дополнительная информация о терминале содержится  в  руко-
     водстве  по терминалу или документации по последовательной
     коммуникации.
  3. Если порт открыт, нажмите клавишу <Возврат> несколько раз,
     чтобы увидеть появление подсказки login:.  Если это  прои-
     зойдет,  вы готовы к подключению к системе.  Если нет, ис-
     пользуйте консоль или рабочий терминал для подключения к

                         - 14-6а -

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

    disable ttyname

     В предыдущей  команде  ttyname  - это специальное имя уст-
     ройства рассматриваемого порта.  Убедитесь, что вы исполь-
     зуете   устройство   управления   не   модемом,   например
     /dev/tty1a,  а не /dev/tty1A.  Дополнительная информация о
     именах   последовательного   порта  содержится  в  разделе
     serial(HW) и разделе "Добавление и конфигурирование после-
     довательных портов" в данной главе.

                         - 14-7 -

  4. Проверьте, что элемент для этого последовательного порта в
     файле   /etc/inittab   выглядит   аналогично    следующему
     (ttyname -    это    имя   файла   устройства,   например,
     /dev/tty1a):

     t1a:2:respawn:/etc/getty tty1a m

     Если элемент не соответствует приведенному в  этом примере
     образцу, редактируйте файл для его коррекции. Информация о
     формате  файла   /etc/inittаb   содержится   на   странице
     inittab(F) документа User's Reference.

Примечание
  Если вы  хотите,   чтобы   любые   изменения,   сделанные   в
  /etc/inittаb были постоянными,  следует также сделать некото-
  рые изменения в /etc/conf/cf.d/init.base. Это необходимо, так
  как каждый раз,  когда ядро перередактируется (когда добавля-
  ется   драйвер   или   изменяется   настраиваемый   параметр)
  /etc/inittаb реконструируется из элементов из /etc/conf/cf.d/
  init.base.
  5. Посмотрите с консоли в качестве root,  сможете ли вы пере-
     направить выход на терминал вводом:

     Ъ2date > /dev/ttyname

     Если вы не увидите дату,  напечатанную на терминале,  и не
     уверены в корректности ttyname, попытайтесь запустить дру-
     гие ttynames для этого последовательного  порта.  Если  вы
     все же не увидите дату,  отпечатанную на терминале,  попы-
     тайтесь выполнить следующее:
     - убедитесь, что терминал подсоединен нужным образом;
     - проверьте,  что кабель  конфигурирован  правильно.  Если
     последовательный   порт,  который  вы  используете,  имеет
     25-контактный разъем ((DB-25),  читайте, начиная с шага
     2 в  предыдущем наборе инструкций. Соединены ли контакты 2,
     3 и 7 правильно?  (Заметим, что контакты, отличные от 2, 3
     и 7 не используются).
     Если ваша система или плата расширения  имеет 9-контактный
     разъем  (DB-9),  вам следует использовать (9-25) контакт-
     ный разъем. Смотрите руководство по аппаратуре для получе-
     ния  информации о (9-25)- контактных соединениях;
     - проверьте конфигурацию установки терминала. Смотрите шаг
     2 предыдущего набора инструкций;

                         - 14-8 -

     - проверьте переключатели последовательного порта. Если вы
     используете многопортовую плату,  попытайтесь использовать
     другие линии на этой плате;
     - присоедините терминал к  стандартному, последовательному
     порту (СОМ1 или СОМ2), чтобы убедиться, что терминал и ка-
     бель работают правильно.  Если  вы  уже  используете  порт
     СОМ1, попытайтесь переключиться на другой порт.
        Если вы успешно установили другой терминал, переключите
     аппаратуру  между  работающим и неработающим терминалом по
     одному за раз.  Это может помочь  при  решении  аппаратной
     проблемы.  Заметим, что некоторая сбоящая аппаратура может
     работать под управлением операционной системы DOS,  но  не
     под управлением операционной системы UNIX.
  6. Когда дата печатается  на  терминале,  разблокируйте  порт
     следующей командой:

     Ъ2enable ttyname

     Команда enable запускает процесс getty, который отображает
     следующую подсказку подключения:

     login:

     Если вы не видите подсказку "login", введите следующую ко-
     манду,  чтобы убедиться, что getty выполняется для порта и
     что программа конфигурирована правильно:

     Ъ2ps -t ttyname
     Экран должен отображать сообщение аналогично тому, как это
     делается в следующем примере,  когда  либо  "login",  либо
     "getty" перечисляется в колонке "COMMAND":

 +-----------------------------------------------------
 | PID    TTY   TIME      COMMAND
 |              (время)   (команда)
 | 2557   1a    0:06      getty

  7. Если вы набрали команды enable и  disable  много  раз,  то
     возможно,  что  новый процесс getty не может быть выполнен
     для этого порта.  Если так, то закройте систему, выполните
     повторную загрузку,  выполните процедуру подключения в ка-
     честве "корня" в многопользовательском режиме  и  попытай-
     тесь выполнить свои действия снова.

                         - 14-9 -

                   ЗАДАНИЕ ЛИНИЙ ТЕРМИНАЛОВ

     Система может  автоматически  адаптироваться  к нескольким
скоростям передачи для терминала и к нескольким параметрам  ус-
тановки.  Та  же программа,  которая отображает сообщение login
(getty(М)) читает эти значения линии терминала из таблицы,  об-
рабатывая  каждый  параметр установки до успешного завершения и
до того,  как пользователь сможет подключиться к  системе.  Эта
таблица обеспечивает несколько параметров установки,  принимае-
мых по умолчанию для различных типов линий терминала.
     Getty автоматически  выполняется как часть процесса login.
Таблица параметров установки терминала находится в файле, назы-
ваемом  /etc/gettydefs.  Вы можете редактировать файл gettydefs
для добавления различных наборов характеристик  терминалов  или
их изменения.

                Файл gettydefs

     Файл /etc/gettydefs содержит информацию, которую программа
getty использует для задания характеристик линии терминала, та-
ких как скорость передачи данных в бодах.  Файл хранится в виде
таблицы. Каждый элемент таблицы разделен на пять полей. Эти по-
ля включают:

label#initial-flags#final-flags#login-prompt#next-label
метка  начальные    конечные    подсказка    следующая
       флаги        флаги       login        метка

[#login-program]
программа login

     Этими полями являются:

  label          идентифицирует элемент gettydefs  для программы
                 getty.  Это  может быть число или буква.  label
                 соответствует полю режима линии в /etc/inittab.
                 Программа  init  передает режим линии программы
                 getty, как аргумент.

  initial-flags  устанавливают характеристики  линии  терминала,
                 когда  программа getty первоначально устанавли-
                 вает связь.  Программа getty распознает  флаги,

                         - 14-9а -
                 перечисленные в termio(М)  в  документе  User's
                 Reference.  Часто  единственным устанавливаемым
                 флагом в этом поле является флаг скорости пере-
                 дачи.  Например  В300 задает скорость передачи,
                 равную 300.

                         - 14-10 -

    final-flags устанавливают характеристики  линии  терминала
                (сразу     перед тем,  как программа getty  вы-
                полняет   процедуру   login. Эти  флаги   опи-
                сывают рабочие характеристики для линии. Снова
                устанавливается  скорость  передачи В.  Другие
                общие флаги включают SANE (составной флаг, ко-
                торый  устанавливает  для  ряда  характеристик
                терминала соответствующие значения, ТАВ3 (рас-
                ширяет  таблицы  пробелами),  IXANY (разрешает
                любому символу выполнение рестарта  выхода)  и
                HUPCL (перехватывает линию при конечном закры-
                тии). Флаги могут вводиться в любом порядке.
   login-prompt содержит сообщение LOGIN, выдаваемое пользова-
                телю.  Это поле печатается точно в том виде, в
                каком оно вводится,  включая пробелы и символы
                табуляции.  Символ "@" в поле подсказки  login
                расширяется  в первой строке (или второй стро-
                ке,  если она имеется) в  файле  /etc/systemid
                (если  только  символу  @ не предшествует знак
                '\').
                Распознаются несколько     последовательностей
                символов, включая:
             \n  перевод строки           \t  табуляция
             \r  возврат каретки          \f  перевод формата
             \v  вертикальная табуляция   \b  пробел
             \nnn (3 восьмеричных цифры)
                  заданные символы ASCII
   next-label   идентифицирует следующую метку в gettydefs для
                getty для повторного выполнения, если предыду-
                щее заканчивается неудачно. Getty переходит на
                следующую  метку,  если  пользователь нажимает
                клавишу BREAK при попытке подключения к систе-
                ме.  Группы элементов, такие как коммутируемые
                или TTY линии,  должны  образовывать  закрытый
                набор так,  что getty переходит обратно к пер-
                воначальному входу,  если ни  один  из  других
                входов не выполняется успешно.

  login-program имя программы,   которая   в  действительности
                подключает пользователей к системе. По умолча-

                         - 14-10а -

                нию это программа /etc/login. Это поле являет-
                ся выборочным.
                Если присутствует   ключевое  слово  AUTO,  то
                getty не выдает подсказку для имени  пользова-
                теля,  но вместо этого использует имя устройс-
                тва (то есть tty03) как имя пользователя и не-
                медленно выполняет программу login.

                         - 14-11 -

     Каждое поле  разделяется  знаком решетки (#) и каждый эле-
мент в gettydefs разделяется пустой строкой.
     Элемент в gettydefs может выглядеть следующим образом:

4#B1200 SANE TAB3 HUPCL #login: #2#AUTO /etc/login new

     Далее следует описание каждой части этой строки:
     * число 4 идентифицирует этот элемент getty;
     * следующее поле задает скорость передачи 1200;
     * третье поле указывает скорость  передачи  (В1200),  SANE
       (составной  флаг для ряда характеристик) и HUPCL (перех-
       ват строки при конечном закрытии);
     * login : появляется как подсказка login. Если это задание
        не успешно, getty переходит к метке 2 в gettydefs;
     * AUTO   пытается  подключить   пользователя   выполнением
       /etc/login new.
     Если последний элемент также содержит filename,  то выпол-
няется программа login.  (Заметим, что filename и соответствую-
щая  программа  login создаются пользователем).  Например может
использоваться включение файла,  такого как /etc/diаl_login для
линии,  присоединенной  к  модему. Следует задать идентификатор
пользователя,  назначить пароль, проверить пользователя и далее
назначить  пользователя.  При  этом возможно потребуется пароль
для системы в добавление к учетному  паролю,  а  также  задание
специального набора переменных среды подключения,  включенных в
/etc/default/dial_login.

              Изменение файла gettydefs

     Файл /etc/gettydefs задает наборы элементов для коммутиру-
емых  линий и линий терминалов.  Эти наборы элементов соответс-
твуют заданиям режимов линий в /etc/inittab. Программа init пе-
редает режим линии как аргумент для getty.

                         - 14-12 -

     Можно редактировать gettydefs для добавления новых устано-
вок для терминала или изменения существующих.  Например задание
установок для терминала может выглядеть следующим образом:

4 # B2400 HUPCL # B2400 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 5

5 # B4800 HUPCL # B4800 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 6

6 # B6900 HUPCL # B6900 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 4
     Для изменения файла-образца gettydefs таким образом, чтобы
getty пыталась использовать скорость  передачи  1200  выполните
следующие действия:
  1. Вызовите  текcтовый  редактор  для  редактирования  первой
     строки файла gettydefs.
  2. Измените первое и третье поля с В2400 на В1200.
  3. Сохраните gettydefs и выйдите из редактора.
     Файл-образец будет выглядеть как в следующем примере:
4 # B1200 HUPCL # B1200 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 5

5 # B4800 HUPCL # B4800 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 6

6 # B6900 HUPCL # B6900 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 4
     Вы можете  также добавить дополнительные задания для линии
терминала в gettydefs.  Флаги и допустимые значения для заданий
для терминала перечислены в stty(C) документа User's Reference.
     Когда вы добавляете новый элемент,  убедитесь,  что группы
элементов  в  gettydefs  образуют закрытый набор,  так что поле
next-label последнего элемента направляет getty обратно к  пер-
вому элементу группы.
     Для добавления элемента, задающего скорость передачи 300 в
предшествующем  файле образце gettydefs выполните следующие ша-
ги:
  1. Вызовите текстовый редактор для редактирования файла /etc/
     gettydefs.

                         - 14-13 -

  2. Найдите точку,  где вы хотите поместить новые  определения
     установки для gettydefs. Порядок элементов не существенен;
     getty только просматривает метку.  В данном примере  новый
     элемент является последним элементом файла.
  3. Поместите символ возврата каретки после последней строки в
     файл и введите следующую новую строку

# B300 HUPCL # B300 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 4

  4. Для  помещения  метки  7  в  набор  меток  измените   поле
     next_label для элемента с 6 на 7:

6 # B6900 HUPCL # B6900 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 7

     Getty теперь направляется с метки 6 на метку 7 и далее об-
ратно на метку 4.

  5. Завершите  работу текстового редактора с сохранением изме-
     ненного файла gettydefs.
     Новый файл gettydefs выглядит следующим образом:
4 # B1200 HUPCL # B1200 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 5

5 # B4800 HUPCL # B4800 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 6

6 # B6900 HUPCL # B6900 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 7

7 # B300 HUPCL # B300 CS8 SANE HUPCL TAB3 ECHOE IXANY
#\r\n@!login: # 4

         Проверка параметров установки терминала

     Каждый раз,  когда вы изменяете параметры установки  линии
терминала или добавляете новые элементы в файл gettydefs следу-
ет проверить, что новые значения удовлетворяют getty Чтобы сде-
лать это,  используйте команду getty с возможностью проверки -с
и именем файла.
     Например для проверки gettydefs введите:
     getty -c /etc/gettydefs

                         - 14-14 -

     Если любые из значений  и  параметров  установки  в  файле
gettydefs не разрешены, getty -с отображает их на экране терми-
нала.
     Дополнительная информация о getty и gettydefs содержится в
разделах getty(M) и gettydefs(F) документа User's Reference.

                         - 14-15 -

       ИЗМЕНЕНИЕ РАБОТЫ ПОСЛЕДОВАТЕЛЬНОЙ ЛИНИИ

     Когда вы "открываете" терминал  командой  enable,  система
автоматически  устанавливает  рабочие характеристики последова-
тельной линии по умолчанию. Иногда эти значения не соответству-
ют величинам,  используемым терминалом и поэтому должны менять-
ся,  чтобы обеспечить связь между системой и терминалом.  Можно
отобразить рабочие характеристики последовательной линии коман-
дой stty (set tty).  Если нужно изменить характеристики "откры-
того" порта, следует использовать элементы в файле gettydefs, а
не команды stty, приведенные ниже.

Примечание
  Любые параметры  установки  для  порта,  задаваемые  командой
  stty,  действуют только до тех пор, пока рассматриваемый порт
  открыт.  Например,  если вы хотите изменить скорость передачи
  tty2a, а tty2a не "открыт", то сначала команда stty открывает
  порт, далее изменяет параметры установки порта и окончательно
  закрывает порт.  Когда она закрывает порт последний раз, зна-
  чения параметров установки восстанавливаются к своим первона-
  чальным значениям.  В командах stty позднее в данном  разделе
  используется  цикл  while для устранения такого поведения ко-
  манды stty.  Если вы выполняете  stty  перенаправляя  вход  с
  .

     Заметим, что команда stty может также  использоваться  для
адаптации последовательной линии к необычному терминалу, к дру-
гому типу последовательного устройства,  требующего генерации и
регистрации  четности или специальной обработки ввода и вывода.
     Полное описание этой команды содержится в  разделе stty(C)
документа User's Reference.

                         - 14-17 -

             ЗАДАНИЕ ТИПА ТЕРМИНАЛА

     Системы UNIX требуют, чтобы тип терминала был ясно опреде-
лен перед работой с этим терминалом.  Предпочтительным  методом
задания  типа  терминала  является  назначение  типа переменной
TERM,  специальной переменной среды,  связывающей  используемый
терминал   со   списком   характеристик,  приведенном  в  файле
/etc/termсap.  Эти характеристики сообщают системе, как интерп-
ретировать  клавиши терминала и как отображать данные на экране
терминала.  Eсли вы используете оболочку Bourne shell (sh),  то
назначение TERM имеет вид:

     Ъ2TERM=Ъ1termtype; export Term

     Если вы  используете оболочку С (csh),  то назначение TERM
имеет вид:

     Ъ2setenv TERM termtype

     termtype должно быть одним из имен,  связанных с одним  из
терминалов, определенных в файле /etc/termcap. Назначение долж-
но вводиться с терминала, тип которого вы устанавливаете.
     Например для  установки  типа терминала "ansi" из оболочки
Bourne обратитесь к терминалу,  который вы  хотите  установить,
введите подсказку оболочки ("$"):

     TERM=ansi; export TERM

и нажмите  клавишу  <Возврат>.  Из оболочки С введите подсказку
("%")

     setenv TERM ansi
и нажмите <Возврат>.
     Если вы не уверены в том, какое имя вы можете использовать
для  termtype,  вы  можете  просмотреть имена либо отображением
файла   /etc/termcap,   либо   чтением   страницы   руководства
terminals (M) документа User's Reference, где перечисляются все
терминалы,  обеспеченные в файле /etc/termcap.  Для отображения
самого списка введите:

     more /etc/termcap
и нажмите клавишу <Возврат>.

                         - 14-18 -

     Вы можете позволить системе определить тип терминала авто-
матически, когда вы подключаетесь к системе, включив назначение
TERM в файл .profile (смотрите  "Изменение  файлов  .profile  и
.login" в главе "Запуск и останов системы").
     Альтернативный метод задания типа терминала описан в  раз-
деле tset(C) документа User's Reference.
     Если вы позволите системе установить тип терминала, следу-
ет быть осторожным при подключении к системе на терминалах, ко-
торые не относятся к тому же типу,  к  которому  относится  ваш
обычный  терминал.  У  системы отсутствует способ проверки кор-
ректности данного терминала,  она предполагает  тип  терминала,
аналогичный  вашему  обычному терминалу.  Если это не так,  вам
следует установить тип терминала вручную.

                         - 14-19 -

     АВТОМАТИЧЕСКОЕ ЗАДАНИЕ ТИПА ТЕРМИНАЛА

     Если вы хотите, чтобы тип терминала задавался автоматичес-
ки во время подключения к системе, выполните следующую процеду-
ру:
  1. Подключитесь  к  рассматриваемому  терминалу и определите,
     какое ttyname вы используете, введя:

     tty

  2. Подключитесь как root  и  редактируйте  файл  /etc/ttytype
     текстовым редактором. Измените поле типа терминала для ли-
     нии,  связанной с рассматриваемым терминалом, на необходи-
     мый вам тип терминала.  Учтите модель консоли. Если вы хо-
     тите, чтобы тип терминала был установлен как wy50 для /dev
     /tty1a, редактируйте /etc/ttytype следующим образом:

     wy50 tty1a

  3. Далее пользовательский файл запуска должен редактироваться
     с соответствующей строкой команды tset(C) для автоматичес-
     кого задания типа терминала.  В каждый файл .login пользо-
     вателя оболочки С добавьте следующую строку:

     tset -s -q > /tmp/tset$$; source /tmp/tset$$;
     /bin/rm/tmp/tset$$

     Убедитесь в удалении строки команды setenv(C), принимаемой
     по умолчанию и включающей TERM и TERMCAP из  файла .login.

     В каждом .profile пользователя  оболочки  Bourne  добавьте
     следующую строку:

     eval 'tset -s'

     Убедитесь в удалении имеющейся строки команды tset из фай-
     ла .profile.
  4. Отключите  всех пользователей от системы,  далее подключи-
     тесь к системе снова для проверки  изменения  типа  нового
     терминала.  После  подключения  к  системе проверьте новый
     termtype введя:

     env

                         - 14-20 -

                  УДАЛЕНИЕ ТЕРМИНАЛА

     Время от времени может оказаться необходимым удалить  тер-
минал из системы, например, если вы хотите заменить его некото-
рым другим устройством. Перед тем, как вы можете удалить терми-
нал, вы должны отключить его командой disable(C).
     Для удаления терминала выполните следующие шаги:
  1. Выключите питание терминала.
  2. Подключитесь к системе  как  суперпользователь  с  другого
     терминала.
  3. Используйте команду disable для отключения терминала.  Ко-
     манда имеет вид:

     Ъ2disable ttyname

     где ttyname  -  это имя последовательной линии,  к которой
     присоединен терминал. Например, команда:

     disable /dev/tty1a

     отключает терминал,  связанный с  последовательной  линией
     /dev/tty1a.
  4. Отсоедините терминал от системы.
     Последовательная линия,  ранее присоединенная к терминалу,
теперь свободна для принятия другого устройства.

                         - 14-21 -

         ИСПОЛЬЗОВАНИЕ ПОСЛЕДОВАТЕЛЬНЫХ МУЛЬТИЭКРАНОВ
                   СРЕДСТВАМИ MSCREEN

     Если вы  знакомы  с  multiscreen(M),  средствами,  которые
обеспечивают множество отдельных экранов login для  консоли, то
имеется  возможность  использования  аналогичного  средства для
терминала.  Терминалы, которые имеют множество страниц экранной
памяти, могут использоваться с разделяемыми экранами, каждый со
своим сеансом login,  так,  как будто у вас  имеется  несколько
терминалов вместо одного.
     На терминале WYSЕ60 легко может быть  сохранено содержимое
двух  полных экранов активности.  Использование третьего экрана
для WYSЕ60 обсуждается ниже.  Это означает,  что  использование
двух экранов очень похоже на применение более одного терминала.
Полная функциональность сессии login обеспечивается для каждого
экрана, и ранее выполняемые команды (или их результаты) отобра-
жаются на каждом экране,  когда он  используется.  В  настоящей
статье описывается WYSЕ60,  при этом в качестве основы для всех
примеров используются две страницы экранной памяти.
     Вы можете также ограничить число доступных mscreens.  Ути-
лита mscreen обеспечивает доступ к сессиям  набора  терминалов,
что во многом похоже на операцию logging для более,  чем одного
терминала.  Эти сессии обеспечиваются для "псевдо ttys",  а  не
для устройств tty,  обычно используемых терминалами или модема-
ми. tty - это специальный файл, связанный непосредственно с от-
дельным аппаратным устройством, используемым для связи с обору-
дованием,  таким как терминалы или  принтеры.  За  tty  следует
число и буква.  Псевдо-tty - это устройство, которое не связано
с какой-либо реальной аппаратурой и используется для  моделиро-
вания функций реального tty.
     Пользователи сетевых продуктов должны уже быть  знакомы  с
псевдо-ttys,  так как они являются устройствами,  используемыми
для подключения к  системе  на  удаленных  машинах.  Псевдо-tty
представляется двумя программными устройствами, которые появля-
ются в листинге /dev как "pty" и "ttyp",  за каждым из  которых
следует число.  Первый называется "главным" tty,  а последний -
"подчиненным". Они моделируют функциональный tty.
     После установки  система  допускает  максимум 16 экранов и
только 8 псевдо-ttys создаются во время процедуры установки. Вы
можете  создать  большее  количество псевдо-ttys и в результате
получить больше экранов в системе с программой на рисунке 14-1.

                         - 14-21а -

Этот предел псевдо-ttys,  которые могут использоваться, контро-
лируется конфигурируемым параметром NSPTTYS, который определяет
число псевдо-ttys,  распознаваемых системой  (по  умолчанию  во
время  установки  задается  16).  Допускается максимум 32 псев-
до-ttys.  Если вы планируете использовать более 16 псевдо-ttys,
вы  должны  увеличить этот параметр в добавление к созданию до-
полнительных псевдо-ttys. Заметим, что строка "для х

                         - 14-22 -

в 8 9 10" на рисунке 14-1 расширяется до 23,  что означает, что
создается  16 дополнительных псевдо-ttys ((0 - 7) уже имеются).
Следует укоротить эту строку, если вам не нужно так много псев-
до-ttys. Вы можете также расширить ее до 31, если вам нужен ма-
ксимум 32.

+--------------------------------------------------------------+
|# тип '1 /dev/ptyp*' вы получите несколько линий, аналогичных:|
|# crw----------- 1 бин терминал 59, 26 мая 08:21 /dev/ptyp0   |
|#                                                             |
|# установите переменную "главный мастер" (ниже), равную приво-|
|# димому главному номеру                                      |
|major_master=59                                               |
|# тип '1 /dev/ptyp*' вы получите несколько линий, аналогичных:|
|# crw----------- 1 бин терминал 58, 26 мая 08:21 /dev/ttyp0   |
|#                                                             |
|# установите переменную "главный мастер" (ниже), равную приво-|
|# димому главному номеру                                      |
|major_slave=58                                                |
|for x in 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23        |
|do                                                            |
|      # make master (выполнение "мастера)                     |
|        /etc/mknod /dev/ptyp$x c $major_master $x             |
|     chown bin /dev/ptyp$x                                    |
|     chgrp terminal /dev/ptyp$x                               |
|     chmod 600 /dev/ptyp$x                                    |
|                                                              |
|      # make slave  (выполнение "раба")                       |
|        /etc/mknod /dev/ptyp$x c $major_slave $x              |
|     chown bin /dev/ptyp$x                                    |
|     chgrp terminal /dev/ptyp$x                               |
|     chmod 600 /dev/ptyp$x                                    |
|done                                                          |
+--------------------------------------------------------------+
Рис. 14-1. Процедура оболочки maketyps.

     Выполните эти шаги для конфигурации дополнительных экранов
  1. Конфигурируйте  ваше  ядро  для обеспечения дополнительных
     псевдо-ttys.  Читайте раздел "Перевыделение ресурсов  ядра
     при  конфигурации"  в  главе "Настройка производительности
     системы" данного руководства для получения инструкций по

                         - 14-22а -

     выполнению configure(ADM). Выберите категорию 3,  Файлы, i
     -узлы  и  файловые системы и установите параметр NSPTTYS в
     требуемое значение. Выполните инструкции по перередактиро-
     ванию ядра перед продолжением работы.
  2. Далее копируйте процедуру на рисунке 14-1 в файл, называе-
     мый  "makeptys".  Чтобы сделать эту процедуру оболочки вы-
     полняемой, введите следующую команду:

     chmod 744 makeptys

                         - 14-23 -

  3. Для выполнения этой процедуры оболочки убедитесь,  что  вы
     подключены  к  системе как root и выполните процедуру обо-
     лочки следующим образом:

     ./makeptys

  4. После добавления устройств вы должны конфигурировать  сис-
     тему  для запуска процесса getty на каждом псевдо-tty. Это
     выполняется добавлением элементов в файлы /etc/inittab и /
     etc/conf/cf.d/init.base.  Элементы, уже представленные для
     первых восьми псевдо-ttys выглядят следующим образом:

     p0:2:respawn:/etc/getty ttyp0 m
     p1:2:respawn:/etc/getty ttyp1 m
     p2:2:respawn:/etc/getty ttyp2 m
     p3:2:respawn:/etc/getty ttyp3 m
     p4:2:respawn:/etc/getty ttyp4 m
     p5:2:respawn:/etc/getty ttyp5 m
     p6:2:respawn:/etc/getty ttyp6 m
     p7:2:respawn:/etc/getty ttyp7 m
Примечание.
  Первые 8  псевдо-ttys могут сказать "из" вместо "перепорожде-
  ния".  (Мышь требует,  чтобы псевдо-ttys были замаскированы).
  Вы  можете изменить их на "перепорождение",  открыв каждое из
  этих устройств, как в следующем примере:

     enable p0

  При этом открывается псевдо-tty  /dev/ttyp0.  (Не  открывайте
  эти псевдо-ttys, если вы уже используете их для мыши).
     Вы можете копировать и далее модифицировать  эти  элементы
     для дополнительных устройств.  Убедитесь, что вы модифици-
     ровали оба файла.  Например, если вы хотите добавить 8 до-
     полнительных  псевдо-ttys,  вам следует добавить следующие
     строки в оба файла:

     p8:2:respawn:/etc/getty ttyp8 m
     p9:2:respawn:/etc/getty ttyp9 m
     p10:2:respawn:/etc/getty ttyp10 m
     p11:2:respawn:/etc/getty ttyp11 m
     p12:2:respawn:/etc/getty ttyp12 m
     p13:2:respawn:/etc/getty ttyp13 m
     p14:2:respawn:/etc/getty ttyp14 m
     p15:2:respawn:/etc/getty ttyp15 m

                         - 14-24 -

  5. Далее введите следующую команду:

     /tcb/lib/ttys_update

     Это гарантирует, что ваши добавления распознаются механиз-
     мами безопасности системы.

     Добавление больших возможностей mscreen в систему увеличи-
вает  производительность  пользователей.  Однако чрезмерное ис-
пользование может снизить производительность системы. Система с
десятью пользователями,  каждый из которых использует два экра-
на, может привести к тому, что производительность системы будет
такой  же,  как в случае двадцати пользователей.  Следует иметь
производительность в виду при решении вопроса о том,  как много
mscreen следует использовать в системе,  и кто будет иметь воз-
можность использовать их.
     Пока никакой  терминал не содержит достаточно экранной па-
мяти для сохранения информации,  отображаемой при использовании
всех двадцати login,  которые обслуживаются средствами mscreen,
любой терминал позволяет  пользователю  выполнить  переключение
между  двадцатью  экранами,  при условии,  что клавиатура имеет
достаточно дополнительных клавиш для использования при переклю-
чении  экранов.  Однако  пользователь вероятно не будет считать
полезным использование многих экранов без набора страниц экран-
ной памяти.  Неудобно,  например,  переполучать экран терминала
каждый раз при переключении экранов, когда используется крупно-
форматная таблица на одном экране и Vi на другом. Большая часть
людей, которые используют терминалы с минимальной памятью экра-
на предпочтут слои оболочки shl(C) mscreen для множества сессий
login.  Дополнительная информация по shl содержится в документе
User's Reference.

                Поиск неисправностей

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

                         - 14-24а -

имеется экранной памяти,  обратившись к руководству по термина-
лу. Утилита mscreen использует файл /etc/mscreencap для опреде-
ления того,  как изменить образы экрана для отдельного термина-
ла.  Будучи  заполнен  файл /etc/mscreencap обеспечивается лишь
для ряда терминалов.  Не следует говорить, что другие терминалы
не работают с mscreen,  они делают это. Вам следует лишь конфи-
гурировать файл /etc/mscreencap перед использованием терминала.
Если вы выполняете mscreen для терминала, который не имеет эле-
ментов в файле /etc/mscreencap, то mscreen завершится аварийно.
     Если вы уверены, что терминал будет работать с mscreen и у
вас есть работающая процедура mscreencap,  но процедура mscreen
все же завершается аварийно, проверьте следующие проблемы:

                         - 14-25 -

   - создайте  псевдо-ttys.  Вам  может  потребоваться  создать
     большее количество псевдо-ttys,  если текущие  псевдо-ttys
     уже используются. Используйте процедуру оболочки с рисунка
     14-1 для создания большего количества псевдо-ttys.
   - проверьте переключение. Убедитесь, что /etc/mscreencap для
     терминала  корректен.  Используйте  один  из  примеров   в
     /etc/mscreencap  для  проверки  способа,  которым выходная
     последовательность функциональных клавиш  отображается  на
     отдельную  команду  mscreen.  Подключитесь  к системе:  вы
     должны подключиться к системе отдельно для каждого экрана,
     который вы будете использовать.
   - уничтожьте процессы mscreen.  Если вы  тестируете  элемент
     mscreen и имеете неисправность на экранах,  то следует вы-
     полнить следующее:
  1. Проверьте выполняющиеся процессы:

     Ъ2ps -uusername

  2. Уничтожьте все процессы Ъ2mscreen:

     Ъ2kill -g process_numbers

         Усовершенствованное использование

     Многие пользователи считают, что mscreen представляет дос-
таточные  средства.   Для   усовершенствованных   пользователей
mscreen  или кого-либо заинтересованного в более подробном изу-
чении mscreen и операционной системы имеется  несколько советов
по использованию и расширению mscreen.
     Страница руководства по mscreen(M)  предполагает  средства
автоматического вызова mscreen из файла .login оболочки С. Кро-
ме автоматического вызова mscreen информация  на  рисунке  14-2
описывает три полнофункциональных mscreen для WYSE 60,  а также
добавляет ряд удобных средств для пользователя mscreen. Рисунок
14-3 представляет тот же самый материал для файла .profile обо-
лочки Bourne.  Заметим,  что эти примеры спроектированы для до-
бавления в конец файла .login или .profile и замещают любую су-
ществующую информацию о tset.

                         - 14-26 -

+--------------------------------------------------------------+
|# Example material for the end of a C-Shell .login file.      |
|# If logging in via pseudo-tty, surpress terminal             |
|# initialization                                              |
|set ttyname='tty'                                             |
|(Пример для конца файла .login оболочки С.                    |
| Если подключение к системе происходит через псевдо-tty,      |
| прекратите инициализацию терминала. Установите ttyname='tty')|
|# Set init to null, iitially.|                                |
|set init=' '                                                  |
|(Установите init в нулевое значение, первоначально.           |
| Установите init=' ')                                         |
|set noglob                                                    |
|# Reset init to the valur "-I" when logging in on a pseudo-tty|
|# to surpress the tset terminal initializations string.       |
|if ( 'expr $ttyname : "/dev/ttyp"' > 0 ) set init = "-I"      |
|set term = ('tset -m ansi:ansi -m wy60 -m:?wy60 -r -S -Q      |
|$init')                                                       |
|setenvTern $term[1]                                           |
|setenvTERMCAP $term[2]         #terminal data base            |
|unset noglob term                                             |
|# Put WYSE 60 in ECON-80 mode during initial log in process.  |
|(Установите WYSE 60 в режим ECON-80 во время процедуры        |
|начального подключения к системе)                             |
|if ( "$init" !="-I" && "STERM" == "wy60" ) /bin/echo          |
|"\033eG\c"                                                    |
|# Set the prompt to indicate the tty number of the current    |
|# mscreen and command.                                        |
|(Установите подсказку, чтобы указать номер tty текущего       |
|mscreen и команду).                                           |
|set prompt = "'expr $ttynamt : '/dev/)' ` % "                 |
|# Release the local variable used.                            |
|(Освободите локальные используемые переменные).               |
|unset ttyname init                                            |
|# Run mscreen and logout if the 'stop' key (defined as S-F9 in|
|# the default /etc/mscreencap for wy60) is pressed. This      |
|# string is described in the mscreen(M) manual pages.         |
|(Выполните mscreen и журнал, если клавиша "стоп" (определенная|
|как S-F9  в принимаемом по умолчанию файле /etc/mscreencap для|
|wy60 нажата. Эта строка описана в руководстве по mscreen(M)). |
|mscreen -n 3                                                  |
|if ($status == 0) logout                                      |
+--------------------------------------------------------------+
Рис. 14-2. Процедура .login.

                         - 14-27 -

+--------------------------------------------------------------+
| #                                                            |
| # Example material for the end of a Bourne shell .profile    |
| # file                                                       |
| (Пример для конца файла .profile оболочки Bourne)            |
|                                                              |
|  ttyname='tty'                                               |
|                                                              |
|  init="'                                                     |
|                                                              |
|  if [ `expr $ttyname : "/dev/ttyp"` -gt "0" ]                |
|  then                                                        |
|        init="-I"                                             |
|  fi                                                          |
|  eval `tset -m ansi:ansi -m wy60:wy60 -m :?wy60 -r -s -q     |
|  $init`                                                      |
|  export PATH                                                 |
|                                                              |
|  if ["$init" = "-I" -a "STERM" = "wy60" ]                    |
|  them                                                        |
|         /bin/echo "\033eg\c"                                 |
|  fi                                                          |
|                                                              |
|  PSI=`expr $ttyname : '/dev')'` $ "                          |
|                                                              |
|  unset ttyname init                                          |
|                                                              |
|  mscreen -n 3                                                |
|  if [ "$?" = "0" ]                                           |
|  then                                                        |
|          exit                                                |
|  fi                                                          |
+--------------------------------------------------------------+

Рис. 14-3. Процедура файла .profile.

     Многие элементы termcap (включая wy60) чистят буфера экра-
на (которые mscreen использует при запоминании содержимого мно-
жества экранов) как части строки инициализации. На рисунках 2 и
3 tset(С) посылает строку инициализации только во  время первой
процедуры .login. При подключении к

                         - 14-27а -

псевдо-ttys tset вызывается с флагом -I.  Это делается добавле-
нием переменной "init" в строку tset.  Первый раз, когда выпол-
няется tset "init" имеет значение, равное "", не добавляя ниче-
го к команде tset.  При выполнении команды tset во время первой
процедуры  login на экране отображается строка "\033tG\c".  Эта
последовательность выхода изменяет параметры  установки COLUMNS
в WYSE60 на режим ECON-80. Комбинация этих параметров установки
освобождает достаточное количество экранной памяти для  исполь-
зования  тремя  экранами.  В  качестве дополнительного удобства
подсказка пользователя устанавливается для  отображения  номера
вспомогательного  псевдо-tty,  что позволяет пользователю легко
отслеживать содержимое используемых экранов.
     Если вы  не используете терминал WYSE60,  вы можете задать
подсказку для указания текущего экрана и вызвать mscreen  авто-
матически во время проверки кода возврата оболочки, как это по-
казано на рисунках 14-2 и 14-3.

                         - 14-28 -

          ИСПОЛЬЗОВАНИЕ МОДЕМА В СИСТЕМЕ

     Данный раздел объясняет,  как соединять и использовать мо-
дем в системе UNIX.

             Последовательные линии

     Операционная система  обеспечивает  управление модемом для
последовательных портов. Таблица 14.1 содержит примеры имен ус-
тройств с управлением модемом и без такого управления.

                                         Таблица 14.1
            Последовательные линии
+-----------+-------------------------------------------------+
| Устройство|      Функция                                    |
+-----------+-------------------------------------------------+
| /dev/tty1a| основной последовательный адаптер без управления |
|           | модемом                                         |
| /dev/tty1A| основной последовательный адаптер с управлением |
|           | модемом                                         |
| /dev/tty2a| альтернативный последовательный адаптер без     |
|           | управления модемом                              |
| /dev/tty2A| альтернативный последовательный адаптер с       |
|           | управлением модемом                             |
+-----------+-------------------------------------------------+

     /dev/tty1a и /dev/tty1A относятся к одному и тому же  пос-
ледовательному порту (аналогично /dev/tty2a и /dev/tty2A). Опе-
рационная система использует в каждом случае различные подпрог-
раммы   драйверов   устройств.   Нельзя  пытаться  использовать
одновременно порты управления с модемом и без модема или  же вы
увидите следующее сообщение:

     cannot open: device busy
     (нельзя открыть: устройство занято)

     Для систем, включающих многопортовые последовательные пла-
ты,  устройства  /dev/tty[1,2]  [а-m] относятся к использованию
без управления модемом,  а /dev/tty[1,2] [А-М] относятся к  ис-
пользованию с управлением модемом.

                         - 14-28 -

         Выходной набор от вашего компьютера

     Утилиты up(C)  и uucp(C) используются для вызова удаленных
систем   и   передачи   данных   в    системах    UNIX.    Файл
/usr/lib/uucp/Devices (называемый Devices) содержит информацию,
используемую этими программами  для  определения  характеристик
отдельной последовательной линии.
     Файл Devices содержит линии, которые задают устройство для
линии,  устройство вызова, связанное с линией, и скорости пере-
дачи, которые будут использоваться UUCP. (Устройства управления
модемом следует использовать с линиями, связанными с модемами).

                         - 14-29 -

Использование программ вызова по номеру

     Для вызова  по  номеру  и cu и UUCP используют общий набор
наборщиков номеров,  которые могут быть независимыми  двоичными
кодами  (программами)  аналогично  /usr/lib/uucp/dialHA12,  или
элементами файла /usr/lib/uucp/Dialers.  (Дополнительная инфор-
мация об элементах файла Dialers содержится в главе "Построение
удаленной сети с UUCP" данного руководства).
     Исходные данные  для  набора  программ  вызова по номеру и
формирования файла для перекомпиляции исходной программы  вклю-
чены в оглавление /usr/lib/uucp.  Если у вас имеется какой-либо
другой вид модема,  то вы можете модифицировать любые  исходные
файлы  и  создать  вашу собственную программу вызова по номеру.
Заметим,  что вы должны располагать системой  разработки  UNIX,
установленной для компиляции программы.
     Для получения новой программы вызова по  номеру  выполните
следующие шаги:

  1. Измените оглавление на /usr/lib/uucp следующей командой:

     cd /usr/lib/uucp

  2. Редактируйте  файл  makefile  в оглавлении /usr/lib/uucp и
     найдите строку, которая читает:

     EXES = dialHA12 dialHA24 dialTBIT dialVA3450

     и добавляет имя программы вызова по номеру, которую вы хо-
     тите использовать. После того, как это сделано, выйдите из
     файла, сохранив сделанные изменения.

  3. Далее введите команду:

     make

     для вашей подсказки оболочки и нажмите <Возврат>.
  4. После  завершения выполнения команды make вы получаете но-
     вую программу вызова по номеру. Это может использоваться в
     пятом поле элемента в поле Devices.

                         - 14-30 -

         Установка модема, обеспечивающего пересылку данных
                    абоненту сети

Примечание
  Внутренние модемы не рекомендуются.  Это происходит из-за то-
  го,  что для таких модемов трудно проводить  отладку.  Иногда
  возникают конфликты по прерываниям, которые нельзя легко раз-
  решить.

     Когда вы присоединяете модем или любое  другое устройство,
убедитесь,  что последовательные линии, присоединенные к компь-
ютеру,  не находятся в подвешенном состоянии.  Свободная линия,
присоединенная к компьютеру, может значительно уменьшить произ-
водительность системы; при этом линия модема оказывается всегда
разомкнутой на стороне компьютера, а не на стороне модема.
     Трехпроводные кабели,  часто используемые для соединения
терминалов с компьютером, не достаточны для соединения модемов.
Для кабеля модема на 25-разъемном последовательном порту разъемы
2, 3, 7, 8 и 20 должны присоединяться напрямую. Если вы не уве-
рены в характере их использования, то кабель, соединяющий разъ-
емы,  будет  работать правильно.  То же самое сделает ленточный
кабель,  называемый по-другому кабелем "соединяющим  напрямую",
что означает соединение контактов напрямую.
     Для установки модема выполните следующие шаги:
  1. Убедитесь,  что пакет UUCP установлен. Используйте при не-
     обходимости для установки процедуру custom(ADM).
  2. Убедитесь,  что последовательный порт,  который вы выбрали
     для модема,  обеспечивающего пересылку данных абоненту се-
     ти, распознается во время начальной загрузки и, если модем
     является внутренним, убедитесь, что порт СОМ, которым кон-
     фигурирован внутренний модем, согласуется со всеми другими
     устройствами.  Обеспечены только последовательные устройс-
     тва, присоединенные к СОМ1 и СОМ2.
  3. Убедитесь, что порт отключен вводом команды:

     Ъ2disable ttyname

  4. Подсоедините модем к компьютеру  с  помощью  "соединяющего
     напрямую"  кабеля (контакты 2 и 3 не используются). Кабель
     должен иметь соединенными по крайней мере контакты  2,  3,
     7, 8 и 20.

                         - 14-31 -

     Большая часть стандартных портов СОМ использует "соединяю-
     щие напрямую" кабели (означает, что все контакты соединяют-
     ся  кабелем  напрямую),  но ряд аппаратных средств требует
     кабеля нулевого модема  (контакты  2  и  3  используются).
     Стандартный порт СОМ известен как DTE,  порт, которому ну-
     жен кабель нулевого модема,  известен как DCE.  Если вы не
     уверены,  проверьте  документацию по аппаратуре.  Если па-
     нелью СОМ является DСЕ,  вам нужен кабель нулевого модема.
  5. Добавьте       корректные       элементы       в      файл
     /usr/lib/uucp/Devices. Этот файл имеет  два  элемента  для
     каждого последовательного порта, используемого для модема.
     Один из элементов используется при запуске обращения с по-
     мощью модема (линия ACU),  и другая линия используется для
     конфигурации модема с использованием  стандартного  набора
     команд Hayes (прямая линия).  Следует использовать элемен-
     ты, аналогичные этим, которые установлены для совместимого
     с  Hayes  модемом,  работающего со скоростью передачи 2400
     бод с использованием СОМ1:

     Direct tty1a - 1299 - 2400 direct
     ACU tty1A - 1200 - 2400 /usr/lib/uucp/dialHA24

     Убедитесь, что элементы не имеют знака решетки ("#") перед
     ними.  Такой синтаксис предназначен для показа  того,  что
     строка является только комментарием и должна игнорировать-
     ся.  В файле Devices имеется много примеров,  которые ком-
     ментируются этим символом.
  6. Введите следующую команду,  чтобы установить UUCP как вла-
     дельца выбранного порта:

     Ъ2chown uucp /dev/ttyname

  7. Проверьте  модем,  обеспечивающий передачу данных абоненту
     сети.  Для проверки возможности модема выбирать номер кор-
     ректно используйте следующую команду:

     cu -ltty1a dir

     Вы увидите сообщение, указывающее на установление связи.
     Если вы увидите сообщение "cu: dir permission denied" ("cu:

                         - 14-31а -

     отказ разрешения dir"),  то пользователь,  выполняющий ко-
     манду   cu,   не   имеет   разрешения  на  запись  в  файл
     /usr/lib/uucp/Devices.  Если вы не увидите такого  сообще-
     ния,  и отсутствует сообщение, указывающее на корректность
     соединения,  то это значит, что либо команда cu некоррект-
     на,  либо файл Devices некорректен,  либо последовательный
     порт не работает корректно.

                         - 14-32 -

Примечание
  Следующие далее  инструкции  предполагают совместимый с Hayes
  набор команд и коды ответа.  Другие модемы могут использовать
  другие  соглашения.  Обратитесь  к документации по модему для
  получения дополнительной информации.

     Если вы увидите сообщение, подтверждающее соединение, вве-
     дите:

     АТ

     с клавиатуры.  "ОК" будет отображено на экране компьютера.
     Если модем установлен на возврат кодов результата как чис-
     ловых  кодов,  а не текстовых,  вы увидите 0.  Если это не
     происходит,  проверьте,  что индикатор "получения"  модема
     загорается при нажатии клавиши.  Это указывает на то,  что
     модем получает сигналы от клавиатуры.  Если этот индикатор
     не загорается, проверьте кабель и установку переключателей
     модема.  Если индикатор "получения" загорается, но вы еще
     не получили ответ ОК от модема, повторно введите:

     АТЕ1

     с клавиатуры  компьютера,  чтобы разрешить средство выдачи
     эха модема.

     Если вы получили ожидаемые ответы, вы можете вызвать номер
     набором

     Ъ2ATDT phonenumber

     После получения  подтверждения,  что модем может быть выз-
     ван, завершите cu набором

     и далее нажмите <Возврат>.
  8. Теперь вы готовы для подключения к другой системе. Для вы-
     зова номера следует использовать следующую команду:

     cu -ltty1A 555-1212

     Следует изменить "555-1212" на телефонный номер системы,
     которую вы хотите вызвать. Если у вас есть проблемы,

                         - 14-32а -

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

                         - 14-33 -

        Поиск неисправностей для модема, обеспечивающего
               пересылку данных абоненту сети

     Примеры, приводимые ниже,  предполагают,  что модем непос-
редственно присоединен к СОМ1. Часто используются другие после-
довательные  порты.  Если имеются проблемы,  сначала проверьте,
что телефонное гнездо подключено,  и что  на  телефонной  линии
имеется сигнал.

  1. Проблема: При тестировании соединения модема командой

     cu -sl1200 -ltty1a dir

     я получил сообщение соединения, но когда я набрал "АТ", не
     последовало сообщения "ОК".
     Средство А:  Проверьте кабель установки/переключения прог-
     рамм модема.  Если используется кабель, соединяющий напря-
     мую,  попробуйте  кабель нулевого модема,  использующий по
     крайней мере контакты 2, 3, 7, 8 и 20. После выдачи коман-
     ды cu наблюдайте индикацию модема и нажмите клавишу <Возв-
     рат> несколько раз. Индикатор "получения" должен загореть-
     ся при нажатии клавиши. Если это не происходит, необходимо
     проверить кабель,  чтобы убедиться, что контакт 2 соединен
     напрямую  (контакт 2 - это линия передачи данных от после-
     довательного порта модему).  Если горит индикатор "получе-
     ния", попытайтесь использовать АТЕ1 для включения средства
     "эхо модема".
     Средство В:  Последовательный  порт  компьютера может быть
     неисправен.  Попытайтесь присоединить модем к другому пос-
     ледовательному  порту или присоединить терминал или после-
     довательный принтер к порту для подтверждения его функцио-
     нирования.   Если   порт   не   функционирует,   проверьте
     документацию по аппаратуре на соответствующее средство ре-
     монта.
     Средство С:  Модем может быть неисправен.  В  этом  случае
     проверьте  документацию  по  аппаратуре на соответствующее
     средство ремонта.
  2. Проблема:  Модем осуществляет набор номера,  но соединение
     не происходит.
     Средство А:  Телефонный  номер может быть неправильным или
     не работающим или телефонная линия,  к которой присоединен
     модем, может быть неисправной.

                         - 14-33а -

     Отключите модем  от  телефонной линии и подключите обычный
     телефон.  Попытайтесь сами набрать номер,  чтобы убедиться
     что  модем  на  другой  стороне  линии  отвечает на вызов.
     Средство В:  Слушайте внимательно модем, когда он осущест-
     вляет  вызов.  Некоторые  промышленные  телефонные системы
     требуют, чтобы была пауза между определенными числами. Де-
     фис используется в команде cu для указания паузы в две се-
     кунды, например: "9----458--1234".

                         - 14-34 -

     Дефис, приведенный в команде cu транслируется кодировщиком
     номера в соответствующий код для модема.  Для совместимого
     с Hayes модема он транслируется в запятую перед посылкой в
     модем.
  3. Проблема: При вызове номера вы увидите сообщение:

     Connect failed: NO DEVICE AVAILABLE
     (соединение не удалось, нет доступных устройств)
     Средство А: Нет элемента в файле Devices для порта модема.
     Далее  следует  пример  элементов для совместимого с Hayes
     модема, работающего со скоростью передачи 2400 бод в /dev/
     tty1A:

     Direct tty1A - 2400 direct
     ACU tty1A - 300-2400 /usr/lib/uucp/diaHA24

     Убедитесь, что отсутствует знак решетки (#) в  начале этих
     строк в файле Devices.
     Средство В: Порт модема в Devices не имеет корректную ско-
     рость передачи,  связанную с ним.  Убедитесь,  что если вы
     используете возможность cu для задания  скорости передачи,
     то в Devices имеется элемент, соответствующий этой скорос-
     ти передачи.
  4. Проблема:  Модем, отвечает, но я получаю символы мусора на
     терминале.
     Средство А:  Пункт, который вы вызываете, может иметь дру-
     гие значения бита данных и четности,  чем вы  используете.
     По  умолчанию cu использует 8 битов данных и не использует
     четность. Используйте cu -е для 7 битов данных, четности и
     cu -о для 7 битов данных и нечетности.
     Средство В:  Удаленный компьютер имеет другую скорость пе-
     редачи. Если вы обращаетесь к другой системе UNIX, пошлите
     сигнал прерывания,  чтобы удаленный пункт переключил  ско-
     рость передачи во время процедуры login. Всегда запускайте
     систему при наивысшей скорости передачи и снижайте  ее  по
     мере необходимости.  Для посылки сигнала прерывания введи-
     те:

     %b

                         - 14-34а -

     Средство С:  В линии имеется шум.  Это становится особенно
     ощутимым при работе со скоростью передачи 2400 бод и выше.
     Проверьте вашу телефонную  линию.  Обычно,  когда  имеется
     проблема с шумом линии, вы увидите символы мусора, появля-
     ющиеся на экране непрерывно так, как будто на другом конце
     линии имеется система,  пытающаяся послать правильные дан-
     ные.

                         - 14-35 -

  5. Проблема: Мой модем не отключается в конце вызова.
     Средство А: Используется порт управления не модемом. Порты
     управления не модемом должны использоваться только с  тер-
     миналами и когда модем конфигурирован.  Какой порт исполь-
     зовать - это конфигурируется  в  файле  Devices.  Измените
     последовательный  порт  управления не модемом,  который вы
     задали, на соответствующий порт управления модемом. Напри-
     мер  порт  управления  модемом,  связанный  с  tty1a - это
     tty1A.
     Средство В:  Индикатор CD (регистрация носителя) модема не
     выключается при разъединении вызова.  Проверьте переключа-
     тели модема, чтобы убедиться, что модем установлен для ре-
     гистрации входящей частоты или,  если это Hayes  2400  или
     совместимый модем, используйте команду AT&C1.
     Средство С:  Модем не установлен для регистрации DTR  (го-
     товность терминала данных).  Проверьте переключатели моде-
     ма,  чтобы убедиться,  что модем установлен на регистрацию
     DTR или, если это модем Hayes 2400, используйте команду AT
     &D2.  Некоторые модемы имеют переключатель,  который может
     быть установлен на игнорирование DTR, и этот переключатель
     не должен быть включен.

               Подключение к компьютеру

     Для обеспечения подключения к компьютеру  следует  открыть
последовательную  линию,  которая распознает сигналы управления
модемом по команде enable(C).
     Для использования   основного  последовательного  адаптера
(СОМ1) введите:

     disable tty1a
     enable tty1A
     Или для альтернативного последовательного  адаптера (СОМ2)
введите:

     disable tty2a
     enable tty2A
     Заметим, что tty1A и tty1a относятся к одной и той же (ос-
новной) последовательной линии, а tty2A и tty2a относятся к од-
ной  и  той же (альтернативной) последовательной линии.  Не ис-
пользуйте одну и ту же линию в режиме модема и не-модема в одно
и то же время, так как это приведет к ошибке.

                         - 14-36 -

       Установка модема, обеспечивающего вход в сеть
                информационного обмена

     Следующая процедура предоставляет пошаговые  инструкции по
установке  модема для операций,  обеспечивающих вход в сеть ин-
формационного обмена. (Пароли рекомендуются для линий обеспече-
ния  входа в сеть информационного обмена;  смотрите раздел "До-
бавление  защиты  пароля   при   обеспечении   входа   в   сеть
информационного обмена" в главе "Обеспечение секретности систе-
мы" для получения дополнительной информации).
  1. Выполните  шаги  по установке модема для обеспечения пере-
     сылки данных абоненту сети. Это гарантирует, что вы имеете
     работающее соединение аппаратуры.
  2. Некоторые модемы имеют переключатели или  программные  ко-
     манды для установки конфигурации модема.  Если модем имеет
     такие средства установки, конфигурируйте его соответствую-
     щим образом, следуя инструкциям в руководстве по модему.

Примечание
  Если модем разделяется между обеспечением входа в сеть инфор-
  мационного  обмена  и  обеспечением пересылки данных абоненту
  сети, то шаг 3 может быть опущен. Инициализация для обеспече-
  ния входа в сеть информационного обмена выполняется автомати-
  чески при запуске системы  или  завершении  пересылки  данных
  абоненту сети.

  3. Задайте для модема автоматический ответ по телефону, когда
     приходит вызов.
     Большая часть  внутренних модемов не имеет автоответчиков,
     и некоторые внешние модемы не  располагают  такой  возмож-
     ностью.  В  этом  случае поместите следующую строку в файл
     инициализации /etc/rc.d/8/userdef:

      (stty 1200; echo "atso=1\r" > /dev/tty1a) < /dev/tty1a

     "tty1a" должно быть изменено для  соответствия  устройству
     управления  не  модемом,  к  которому  присоединен  модем.
     "1200" должно быть изменено на наивысшую скорость  переда-
     чи, используемую модемом. "ATS0=1" - это команда помещения

                         - 14-36а -

     модемов, совместимых с Hayes,  в режим автоответчика. Сим-
     вол "/r" необходим для посылки сигнала возврата  каретки в
     модем для завершения строки команды.
  4. Задайте параметры модема таким образом,  чтобы он не отве-
     чал,  когда линия DTR не активна и отсоединялся от текущей
     связи,  когда DTR переходит из активного состояния в неак-
     тивное.
  5. Линия CD должна быть установлена в соответствии  с входной
     частотой,  т.е. низкой, когда частота присутствует и высо-
     кой, когда она отсутствует.

                         - 14-37 -

  6. Задайте параметры модема таким образом,  чтобы он не выда-
     вал эхо для команд или не отображал ответы.
  7. Убедитесь, что порт закрыт вводом команды:

  Ъ2   disable ttyname

     где ttyname - порт управления не модемом.
  8. Выберите  нужный  элемент  gettydefs в файле /etc/inittab.
     Элемент 2 выберет цикл 1200-2400-300.
  9. Откройте порт,  используемый для модема,  следующей коман-
     дой:

  Ъ2   enable ttyname

     где ttyname - это порт управления модемом.
 10. Подключитесь к этому модему с другого модема.
 11. Если вы не смогли успешно подключиться, смотрите следующий
     раздел поиска неисправностей модема,  обеспечивающего вход
     в сеть информационного обмена.

     Поиск неисправностей модема, обеспечивающего вход в сеть
                   информационного обмена

     Примеры, приведенные ниже,  предполагают,  что модем прямо
соединен с портом СОМ1.  На практике модем может быть присоеди-
нен к другим последовательным портам.
  1. Проблема: Модем не отвечает на вызов.
     Средство А: Не открыт последовательный порт модема. Введи-
     те следующие команды:

     disable /dev/tty1a
     enable /dev/tty1A

     Средство В:  Модем не конфигурирован для автоответа.  Про-
     верьте переключатели модема  или,  если  этом  модем  2400
     Hayes, используйте соответствующую программную команду мо-
     дема (смотрите "Задания параметров модема Hayes"  в  конце
     данного   раздела  для  получения  информации  о  командах
     Hayes).  Введите cu -ltty1a dir для модема  и  используйте
     команду "АТS0=1" для задания автоответа.

                         - 14-38 -

     Средство С:  Линия  DTR  (готовность  терминала данных) не
     связывает компьютер с модемом. Проверьте контакт 20 и убе-
     дитесь, что он подключен. Контакты 2, 3, 7, 8 и 20 исполь-
     зуются для соединения модема.
  2. Проблема: Модем отвечает, но зависает сразу после установ-
     ления соединения.
     Средство: Модем  работает  как автоответчик и регистрирует
     DTR, но линия DTR не заявлена. Проверьте следующие возмож-
     ности:
     а) Порт управления модемом может быть не  открыт.  Введите
     команду:

     disable /dev/tty1a
     enable /dev/tty1A

     в) Кабель дефектен.
     Если вы используете кабель "прямого соединения",  у кото-
     рого подключены по крайней мере контакты 2,  3, 7, 8 и 20,
     проверьте, что контакт 20(DTR) правильно присоединен.
  3. Проблема:  Я вижу сообщение об ошибке "Мусор или свободный
     кабель у /dev/tty1A,  порт отключен" на консоли, когда вы-
     зов приходит в модем.
     Средство А:  Модем  установлен  для  обратного отображения
     данных или посылки ответов командам.  Очень вероятно,  что
     модем посылает сигнал "Ring" для указания того,  что вызы-
     ваемый телефонный номер закольцован.  Так как сигнал CD не
     активен,  getty интерпретирует это как случайные данные на
     последовательной линии. Для коррекции этой ситуации задай-
     те  для модема отключение эха и не посылайте ответы коман-
     дам.  Правильной  командой  модема  2400  Hayes   является
     "ATE0Q1".
     Средство В:  Если у вас имеется внутренний модем и указан-
     ные  выше возможности не устраняют сообщение об ошибке, то
     вероятно вы имеете несовместимый модем.  Попытайтесь заме-
     нить модем стандартной моделью, совместимой с Hayes.
  4. Проблема:  Модем отвечает,  но у меня нет подсказки login.
     Средство А:  Линия CD не заявлена модемом после того,  как
     модем ответил на вызов.

                         - 14-39 -

     Проверьте переключатели модема или,  если это  модем  2400
     Hayes, используйте соответствующую программную команду мо-
     дема.
     Средство В: Порт не открыт. Введите:

     enable /dev/tty1A

     Средство С:      Используется     некорректный     элемент
     /etc/gettydefs и выбрана неправильная  скорость  передачи.
     Проверьте  устройство  порта  модема в файле /etc/itittab.
     Появится следующее сообщение:

     t1A:2:respawn:/etc/getty tty1A m

     Последний символ строки  является  указателем  элемента  в
     файле /etc/gettydefs.  Проверьте этот элемент,  чтобы убе-
     диться в правильности установки.
  5. Проблема: Экран перемещается неуправляемо, когда я подклю-
     чаюсь к системе, обычно отображая последовательность подс-
     казок login.
     Средство: Устройства модемов и не модемов не открыты. Зак-
     ройте устройство не модем, введя команду:

     disable dev/tty1a

  6. Проблема:  Я получил подсказку login, но ничего последова-
     тельного после этого.
     Средство: Параметры установки линии некорректны. Определи-
     те,  каковы параметры установки последовательной  линии  в
     системе,  которую  вы вызываете.  Стандартными параметрами
     установки,  которые использует cu,  являются восемь  битов
     данных,  один стоповый бит и отсутствие проверки четности.
     Если удаленная система использует четную четность, исполь-
     зуйте  возможность  -е в cu,  которая выбирает четную чет-
     ность или возможность -о,  которая выбирает нечетную  чет-
     ность.
     Если вы подключаетесь к системе UNIX, проверьте файл /etc/
    inittab на удаленной системе для проверки правильности
     "указателя" файла gettydefs. Имеется возможность,
     что характеристики последовательной линии не согласуются с
     параметрами stty, определенными в третьем поле выбранного

                         - 14-39а -

     элемента gettydefs.  Попытайтесь изменить параметры  уста-
     новки порта на 8 битов данных, один стоповый бит и отсутс-
     твие четности. Элемент должен выглядеть аналогично следую-
     щему:

 4 # B!@)) HUPCL # B!@)) CS* SANE HUPCL TAB3 ECHOE IXANY
 #\r\n@!login: #5

                         - 14-40 -

     Разделение обеспечения входа в сеть информационного
     обмена и обеспечения пересылки данных абоненту сети

     Операционная система поддерживает использование обеспечения
входа в сеть информационного  обмена  и  обеспечения  пересылки
данных  абоненту сети на одной и той же линии модема без выпол-
нения повторной процедуры подключения к системе.
     Когда программа обеспечения пересылки данных абоненту сети
использует линию,  процедура login замаскирована.  Если  кто-то
подключается  к  линии,  когда  программа обеспечения пересылки
данных абоненту сети пытается  использовать  ее,  то  программа
обеспечения  пересылки данных абоненту сети не сможет распреде-
лить устройство.
     Чтобы это  средство  работало корректно,  должно использо-
ваться устройство управления модемом, и модем должен установить
CD в высокое значение,  когда частота имеется и в низкое, когда
частота отсутствует.  (Информация об использовании  обеспечения
входа  в сеть информационного обмена/обеспечения пересылки дан-
ных абоненту сети совместно с UUCP содержится в главе "Создание
удаленной сети с UUCP" данного руководства).

     Установка разделяемого модема обеспечения входа в сеть
     информационного обмена / обеспечения пересылки данных
                     абоненту сети

     Следующая процедура  позволяет  устанавливать  разделяемый
модем обеспечения входа в сеть информационного обмена/обеспече-
ния пересылки данных абоненту сети.
  1. Выполните шаги установки модема для  обеспечения пересылки
     данных  абоненту сети и шаги по установке модема для обес-
     печения входа в сеть информационного обмена.
  2. Для выхода в систему по номеру вызовите cu с соответствую-
     щими возможностями. Программа getty на линии автоматически
     будет приостановлена до завершения вызова и повторно запу-
     щена после завершения вызова.

       Параметры установки модема Hayes

     При использовании cu и uucp необходима правильная конфигу-
рация модема.  Обратитесь к руководству по модему для получения
информации о правильной установке переключателей.

      Интеллектуальный модем 1200

Если у вас имеется интеллектуальный модем 1200 Hayes  или  сов-
местимый с ним модем,  переключатели 3 и 8 должны быть опущены:

                         - 14-41 -

       +--------------------------------------+
       |        1   2   3   4   5   6   7   8 |
       +------+---+---+---+---+---+---+---+---+
       | вверх| * | * |   | * | * | * | * |   |
       +------+---+---+---+---+---+---+---+---+
       | вниз |   |   | * |   |   |   |   | * |
       +------+---+---+---+---+---+---+---+---+

     Когда переключатель  3  опущен,  результирующие коды будут
посланы (в виде эха) модему,  терминалу или  компьютеру.  Когда
опущен  переключатель 8 модем может интерпретировать выдаваемые
команды.  Это позволяет работать коммуникационным системам UNIX
и DOS.

Интеллектуальный модем 2400

     Интеллектуальный модем  2400  Hayes  или совместимый модем
требуют онлайновой конфигурации,  если они используются как ли-
ния  обеспечения входа в сеть информационного обмена.  Заметим,
что Hayes 2400 не отвечает линии с носителем 2400 бод, если она
не  установлена командами на 2400 бод.  Следует конфигурировать
модем выдачей команд установки cu(C).  Команда cu выглядит сле-
дующим образом:

  Ъ2   cu -s2400 -lttyЪ1nn dir

nn - это номер tty последовательной линии. Для конфигурирования
модема для tty1A введите эту команду и нажмите <Возврат>.

     cu -s2400 ltty1A dir

     Далее введите  следующие  команды для конфигурации модема.
Они будут сохранены в неразрушающейся памяти модема. Если вы не
хотите сохранять параметры установки,  не вводите последнюю ко-
манду (at&w) Команды располагаются в левой колонке,  а  краткие
описания того,  что они делают, располагаются в правой колонке.
Введите каждую команду с нажатием клавиши <Возврат>:

 AT&f       выбрать фактор конфигурации.

                         - 14-41а -

 ATT        набор тональной посылки.

 АТ10       низкий объем спикера.

 АТ&d2      установить dtr "2": перейти к добавочному блоку,
            когда dtr сбрасывается.

 AT&c1      установить dcd "1": носитель удаления треков dcd.

 ATS0=1     ответьте на вызов после первого кольца.

 ATS2=128   отключить последовательность выхода модема.

 АТе0       нет эха (модем более не выдает эхо для данных,
            посылаемых ему).

                         - 14-42 -

 ATq1       умеренный режим (модем не отвечает ОК после этой
            команды или тем, что за ней следует).

 AT&w       сохранение параметров установки в неразрушающейся
            памяти.

     Выйдите из cu вводом тильды и точки,  за  которым  следует
<Возврат>:

     ~.

Модем теперь конфигурирован и готов к использованию.
                       ГЛАВА 15

                Использование принтеров
Введение                                          15.1
     Спуловая система принтера                    15.1
Установка принтера                                15.3
Сводка команд пользователя                        15.7
Сводка административных команд                    15.8
Добавление локального принтера                    15.10
Добавление принтера как терминала login           15.14
Запуск и останов средств печати LP                15.15
     Ручной останов средств печати                15.15
     Ручной запуск средств печати                 15.16
Отмена запроса печати                             15.17
Открытие и закрытие принтеров                     15.18
Добавление принтера классу                        15.19
Установка системного назначения, принимаемого по
умолчанию                                         15.21
Монтирование формы или печатающего механизма      15.22
Удаление принтера или класса                      15.24
Управление загрузкой печати                       15.25
     Отвержение запросов для принтера или класса  15.25
     Принятие запросов для принтера или класса    15.26
     Пересылка запросов на другой принтер         15.26
     Примеры                                      15.27
Управление приоритетами очереди                   15.29
     Задание пределов приоритета                  15.30
     Задание приоритета по умолчанию              15.31

     Проверка пределов и умолчаний приоритетов    15.31
     Пересылка запроса в очередь                  15.31
     Проверка конфигурации принтера               15.33
Поиск неисправностей в системе печати             15.35
     Нет выхода - нечего печатать                 15.35
     Неразборчивая печать                         15.36
     Различимая печать, неправильные интервалы    15.37
     Двойные интервалы                            15.37
     Нет левого поля / продолжения текста         15.38
     Зигзаги на странице                          15.38
     Неправильный набор символов или ключ         15.38
     Ошибки отключения                            15.39
     Бездействующие принтеры                      15.39
Формы                                             15.41
     Что такое форма?                             15.41
     Определение формы                            15.42
     Удаление формы                               15.44
     Ограничение доступа пользователя             15.45
     Сигнал монтирования формы                    15.46
     Монтирование формы                           15.48
     Проверка формы                               15.48
Фильтры                                           15.50
     Что такое фильтр?                            15.50
     Определение фильтра                          15.54
     Добавление фильтра                           15.61
     Удаление фильтра                             15.61
     Проверка фильтра                             15.62
     Слово предостережения                        15.62
     Очистка журнала запросов                     15.62
Настройка средств печати                          15.66
     Настройка характеристик порта принтера       15.68
     Настройка базы данных terminfo               15.70
     Как писать программу интерфейса              15.72
     Как писать фильтр                            15.79
Специальные возможности конфигурации              15.81
     Тип принтера                                 15.81
     Типы содержимого                             15.82
     Метод соединения                             15.84
     Наборы символов или печатающий механизм      15.85
     Предупреждение о сбоях                       15.90

     Восстановление при сбоях                     15.92
     Ограничение доступа пользователя             15.93
     Атрибуты печати по умолчанию                 15.94
Установка последовательных принтеров
протокола RTS/CTS                                 15.96
Использование принтера без спулера                15.98
Создание начального файла устройства              15.99

                         -15-1-

                      ВВЕДЕНИЕ

     Принтеры - это очень важные компоненты компьютерной систе-
мы. Большая часть систем требует печати данных на бумаге. Обес-
печивается  большой  набор  печатающей аппаратуры или построчно
печатающих устройств.  Некоторые построчнопечатающие устройства
- это параллельные устройства, но большинство является и после-
довательными устройствами.
     Для добавления принтера системный администратор должен:
     - присоединить физическую аппаратуру к компьютеру, далее
     - использовать корректные системные команды, позволяющие
       начать работу с принтером.

     Эта глава объясняет,  как сделать это  и  как  обслуживать
принтеры после их установки. Заметим, что физические соединения
между принтером и системой меняются в зависимости от конфигура-
ции аппаратуры. Данная глава предоставляет информацию о необхо-
димых физических соединениях, но большая информация об этих со-
единениях содержится в руководствах по аппаратуре, поставляемых
с принтером для компьютера.
     Операционная система обеспечивает последовательные принте-
ры, использующие стандартный интерфейс RS-232. Чтобы убедиться,
что  принтер использует этот интерфейс,  проверьте документацию
по аппаратуре. Обеспечены также протоколы RTS/CTS.

         Спуловая система принтера

   Спуловая система строчного принтера UNIX - это набор команд,
помогающих вам, как системному администратору, эффективно уста-
навливать, отслеживать и контролировать строчные принтеры, обс-
луживающие  вашу  систему.  Запрос на печать файла помещается в
спул или пакетируется с другими запросами на печать для посылки
на принтер. Каждый запрос на печать обрабатывается и ждет своей
очереди на печать, отсюда термин очередь.
     Когда пользователь  запрашивает печать файла с помощью ко-
манды lp(C) система строчного принтера отвечает  "запросом ID".
Он  состоит  из имени принтера,  на котором печатается файл,  и
уникального номера,  идентифицирующего файл. По этому идентифи-
катору  запроса пользователь может определить статус запроса на
печать или отменить его.  Возможности команды lp помогают поль-
зователю легко контролировать выход принтера.

                         -15-2-

     Обслуживание печати выполняет следующие функции:
     - обрабатывает задачу получения файлов,  которые пользова-
     тели хотят распечатать,
     - фильтрует файлы (при необходимости) так,  что они  могут
     быть правильно распечатаны,
     - планирует работу одного или более принтеров,
     - запускает программы, взаимодействующие с принтером,
     - отслеживает состояние заданий,
     - предупреждает о проблемах с принтером,
     - отслеживает монтирование форм,
     - выдает сообщение об ошибке при возникновении проблем.
     Имеется несколько терминов,  используемых в этой главе для
описания работы обслуживания печати:

  device       объект  для  выхода lp.  Это может быть   обычный
  (устройство) принтер,терминал,иногда используемый как принтер,
               или обычный файл.
  printer      имя, назначаемое  системным  администратором  для
  (принтер)    представления устройства.  Это имя может иметь до
               14 символов. В разные моменты времени принтер мо-
               жет быть связан с разными устройствами.
  class        упорядоченный список принтеров.  Запросы  на  пе-
  (класс)      чать,  посылаемые  классу  принтеров,  печатаются
               первым доступным устройством этого класса
  destination  место посылки запросов принтера. Назначение может
  (назначение) быть классом или принтером.
     Обратитесь к руководствам по компьютеру и принтеру для по-
лучения информации о соединении системы с принтерами.

                         -15-3-

               УСТАНОВКА ПРИНТЕРА

     В данном  разделе  описывается,  как  устанавливать  новые
принтеры в системе UNIX.  Следует соединить принтер с соответс-
твующим  портом  (последовательным  портом для последовательных
принтеров и с параллельным портом для  параллельных принтеров),
убедиться, что он работает и установить программное обеспечение
спулинга принтера UNIX,  используя выбор  "Принтеры"  sysadmsh.
Для установки принтера выполните шаги, приведенные ниже:
  1. Найдите место для принтера и убедитесь,  что он  правильно
     собран и подключен к сети.
  2. Если вы соединяете последовательный  принтер: присоедините
     кабель RS-232 от последовательного порта компьютера к пор-
     ту принтера. Последовательные принтеры должны обеспечивать
     протоколы  XON/XOFF  или DTR и должны быть конфигурированы
     для этих  протоколов.  Далее  введите  следующую  команду,
     подставляющую правильный номер порта для nn:

     Ъ2disable /dev/ttynn

     Нажмите <Возврат>.  Это  предотвратит процедуры logins для
     порта, присоединенного к принтеру, и позволит использовать
     порт для последовательной коммуникации.
  3. Если вы соединяете параллельный  принтер:  Принтер  должен
     использовать  стандартный  интерфейсный кабель Centronics.
     Параллельный порт на монохромной плате следует  конфигури-
     ровать  для вектора прерываний 7 и он распознается как lp1
     во время начальной загрузки.  Основной  параллельный  порт
     следует конфигурировать для вектора прерываний 7,  он рас-
     познается как lp0. Следует использовать либо основной, ли-
     бо  монохромный  порт - не оба - для устранения аппаратных
     конфликтов.  Альтернативный или второй  параллельный  порт
     следует конфигурировать для вектора прерываний 5,  он рас-
     познается как lp2. Убедитесь, что другая аппаратура не ис-
     пользует эти прерывания.  (Смотрите руководство по аппара-
     туре   для   получения   информации   о   конфигурировании
     параллельных портов).
  4. Проверьте,  что вы корректно подключили  принтер  посылкой
     данных  непосредственно  на устройство.  Введите следующие
     команды:

                         -15-3а-

     Для последовательных принтеров:

     date > /dev/ttynn

     где nn - это номер используемого последовательного порта
     (например /dev/tty1a).

                         -15-4-

     Для параллельных принтеров:

     date > /dev/lpn
     где n - номер используемого параллельного порта (например
     /dev/lp0).
  5. Если принтер не печатает данные, то вероятно имеется какое
     -то аппаратное повреждение, поэтому проверьте следующее:
     Для параллельных принтеров:
     - убедитесь,  что кабель корректно присоединен,  и провода
     исправны.  Использование кабеля в известной исправной сис-
     теме и печать под управлением DOS - хорошие способы тести-
     рования ситуации;
     - перепроверьте конфигурацию принтера проверкой переключа-
     телей по руководству по аппаратуре принтера;
     - перепроверьте переключатели параллельной платы. Они так-
     же должны распознаваться  при  начальной  загрузке.  Можно
     проверить это перезагрузкой системы,  при этом должно поя-
     виться сообщение, аналогичное:

     parallel 0x378-0x37A  07  -  unit=0
     (параллельный)               (устройство)
     Для последовательных принтеров:
     - убедитесь,  что  вы используете устройство управления не
     модема, например: /dev/tty1a, а не /dev/tty1A. (Более под-
     робная  информация  о соглашениях по именам для последова-
     тельных портов содержится в разделе  serial(HW).  Попытай-
     тесь использовать кабель с соединенными контактами 2,  3 и
     7.
     - перепроверьте конфигурацию принтера проверкой его перек-
     лючателей в руководстве по аппаратуре принтера;
     - перепроверьте переключатели последовательного порта. Ес-
     ли вы используете многопортовую плату,  попробуйте  другие
     линии  на  этой  плате и убедитесь,  что нет конфликтов со
     стандартными портами СОМ;
     - попытайтесь присоединить принтер к стандартному последо-
     вательному порту СОМ1 и СОМ2,  чтобы убедиться в  коррект-
     ности принтера и кабеля.
  6. Если принтер правильно присоединен и работает, вы готовы к
     выполнению  sysadmsh.  Вам  необходимо  знать используемый
     порт или имя пути устройства в UNIX  (например /dev/tty1a)
     и интерфейсную программу принтера,  которую вы собираетесь
     использовать. Модельная интерфейсная программа поставляет-
     ся

                         -15-5-

     с системой UNIX. Дополнительная информация об интерфейсных
     программах принтера  содержится  в  разделе  "Интерфейсные
     программы принтера" данной главы.
  7. Выбор "Принтеры" sysadmsh отображает  форму  с  последова-
     тельностью полей, которые вы должны заполнить. Если вы де-
     лаете ошибку при ответе на вопросы,  нажмите клавишу 
     и запустите все снова. С верхнего уровня sysadmsh выполни-
     те следующий выбор:

     Printers --> Configure --> Add
     Принтеры    Конфигурация   Добавить

  8. Отображается следующая форма (поля обсуждаются позднее):

+--------------------------------------------------------------+
|                                                       create |
| Enter...                                                     |
|                                                              |
| Ъ /usr/auth                            9 mar 89 17:20        |
|                                                              |
| +-----------------Adding a Printer-------------------------+ |
| |                                                          | |
| | Printer name            [           ]                    | |
| |                                                          | |
| | Comment                 [                 ]              | |
| |                                                          | |
| | Class name              [           ]                    | |
| |                                                          | |
| | Use printer interface   [Existing] Copy New              | |
| | Name of interface       [                          ]     | |
| |                                                          | |
| | Connection              [Direct]   Call-up               | |
| |   Device name           [                 ]              | |
| |   Dial-up information   [                 ]              | |
| | Device                  [Hirdwired]  Login               | |
| |                                                          | |
| | Require banner          Yes [No]                         | |
| +----------------------------------------------------------+ |
+--------------------------------------------------------------+
1 - создать,
2 - ввод,
3 - добавление принтера,
4 - имя принтера,

                         -15-5а-

5 - комментарий,
6 - имя класса,
7 - использование интерфейса принтера,
8 - существующий,
9 - копия,
10 - новый,
11 - соединение,
12 - прямой,
13 - вызываемый,
14 - имя устройства,
15 - информация подключения,
16 - устройство,
17 - аппаратное,
18 - подключение,
19 -  требует заголовок, 20 - да, 21 -  нет.
Далее приводится объяснение каждого поля:
   Printer name     имя нового принтера
  (имя принтера)
  Comment           комментарий, описывающий принтер
  (комментарий)
  Class name        имя класса, связанного с этим принтером
  (имя класса)      ( для списка)
  Use printer interface   использует существующий, копированный
  (использует интерфейс   или новый интерфейс пользователя
   пользователя)

                         -15-6-

  Name of interface имя интерфейса (или  к списку существую-
 (имя интерфейса)   щих интерфейсов)
  Connection        должен ли  принтер быть прямо связан с сис-
 (соединение)       темой или должен вызываться через модем  или
                    сеть
  Device            является ли соединение выделенным для прин-
 (устройство)       тера  или оно также используется для терми-
                    нала login (будет закрыто планировщиком)
  Device name       имя устройства,   к   которому  присоединен
  (имя устройства)  принтер (например /dev/tty01 для последова-
                    тельного принтера и /dev/lp0 для параллель-
                    ного принтера)
  Dial-up information  телефонный номер  модема  или  системное
  (информация набора)  имя сети

  Require banner       приводит к тому,  что  заголовок  всегда
  (требует заголовок)  печатается  или  позволяет  пользователю
                       закрашивать печать заголовка.

                      Когда вы  закончите заполнение формы, она
                      выполняется и формируется новая  конфигу-
                      рация. Для использования принтера вы так-
                      же должны запустить обслуживание  принте-
                      ра,  открыть принтер и разрешить принтеру
                      получение запросов. Сделайте это, исполь-
                      зуя следующий выбор sysadmish:

               Printers --> Shedule --> Begin
               (принтеры   планирование  начало)
               Printers --> Shedule --> Enable
               (принтеры   планирование  открытие)
               Printers --> Shedule --> Accept
               (принтеры   планирование  прием)
                       В случае выборов Enable и Accept вы
                       должны обеспечить имя принтера при выдаче
                       подсказки.
     Дальнейшая информация о командах обслуживания принтера со-
держится  в  разделах "Запуск и останов обслуживания принтера",
"Управление первичной загрузкой" и "Открытие и закрытие принте-
ров".  Sysadmish  включает  все  эти функции,  дополняя команду
lpadmin(ADM).

                         -15-7-

              СВОДКА КОМАНД ПОЛЬЗОВАТЕЛЯ

     Обслуживание печати имеет три команды пользователя,  пока-
занные в таблице 15.1

                                             Таблица 15.1
          Команды пользователя для обслуживания печати

  Команда   |        Описание
------------+------------------------------------
  Cancel    | Отменяет запрос на печать файла
------------+------------------------------------
  lp        | Посылает файл или файлы на принтер
------------+------------------------------------
  lpstat    | Сообщает состояние системы LP

     Кроме посылки запросов в систему обслуживания печати, про-
верки состояния запросов и отмены запросов, пользователи должны
иметь возможность закрывать и открывать принтер. Идея состоит в
том,  что если пользователь обнаруживает,  что принтер неиспра-
вен,  нет  необходимости вызывать админиcтратора для выключения
питания. С другой стороны не имеет смысла в среде печати позво-
лять обычным пользователям закрывать принтер. Вы можете контро-
лировать,  имеют ли доступ другие пользователи к двум командам,
показанным в таблице 15.2,  назначением или отменой авторизации
printerstat (смотрите раздел  "Изменение/Назначение авторизации
подсистемы  пользователя" в главе" Контроль учета пользователя"
данного руководства).

                                             Таблица 15.2
          Привилегированные команды пользователя для
                    обслуживания печати

  Команда   |        Описание
------------+----------------------------------------
  disable   | деактивизирует именованный принтер(ы)
------------+----------------------------------------
  enable    | активизирует именованный принтер(ы)

                         -15-8-

          СВОДКА АДМИНИСТРАТИВНЫХ КОМАНД

     Отдельный набор  команд,  доступных для администратора LP,
показан в таблице 15.3.  Эти команды  содержатся  в  оглавлении
/usr/lib.  Если вы собираетесь использовать их часть,  то может
оказаться удобным включение этого оглавления в  переменную PATH.
Для  использования административных команд следует подключиться
к системе либо в качестве корня, либо следует иметь авторизацию
lp  (смотрите  главу "Обеспечение секретности системы" для объ-
яснения авторизации).
     Заметим, что  все эти команды доступны при выборе "Принте-
ры" sysadmsh.  Вам также вероятно понадобится использовать  ко-
манды для деактивизации и активизации принтера и остальные ко-
манды,  описанные  в  разделе  "Сводка  команд   пользователя",
приведенном выше.
                                             Таблица 15.3
     Административные команды для обслуживания печати LP

   Команда        |      Описание
------------------+---------------------------------------
  /usr/lib/accept | позволяет запросам работ помещаться в
                  | очередь по  определенному назначению.
------------------+---------------------------------------
  /usr/lib/reject | препятствует постановке заданий в очередь
                  | по определенному назначению. Описывается на
                  | той же странице руководства, что и
                  | accept(ADM).
------------------+---------------------------------------
  /usr/lib/lpadmin| задает или изменяет конфигурацию
                  | принтера.
------------------+---------------------------------------
  /usr/lib/lpfilte| задает или изменяет определения фильтров.
------------------+---------------------------------------
  /usr/lib/lpforms| задает или изменяет формы при печати.
                  | (Введите /usr/lib/lpadmin для монтирования
                  | формы).
------------------+---------------------------------------
  /usr/lib/lpmove | пересылает выходные запросы от одного
                  | назначения к другому. Описано на той же
                  | странице руководства, что и lpsched(ADM).

                         -15-9-

------------------+---------------------------------------
  /usr/lib/lpsched| запуск обслуживания печати.
  /usr/lib/lpscut | останавливает обслуживание печати.
                  | Описано на той же странице руководства, что
                  | и lpsched(ADM).
------------------+---------------------------------------
  /usr/lib/lpusers| задает или изменяет приоритет по умолчанию
                  | и границы приоритета, которые, могут быть
                  | запрошены пользователями обслуживания
                  | печати.

     Эти команды  доступны  также  выбором "Принтеры" sysadmsh,
что много проще сложного синтаксиса команд LP.

                         -15-10-

              ДОБАВЛЕНИЕ ЛОКАЛЬНОГО ПРИНТЕРА

     Операционная система  также обеспечивает использование ло-
кальных принтеров, присоединенных к порту AUX или PRINT на зад-
ней  панели обычного последовательного терминала.  Эти принтеры
присоединяются через стандартные связи RS-232  и  могут  значи-
тельно  уменьшить загрузку разделяемых системных ресурсов.  Ко-
манда lprint(C) используется для  печати  файлов  на  локальном
принтере,  но  терминал  должен  быть правильно конфигурирован,
чтобы команда работала.  Для добавления принтера,  связанного с
портом  AUX  или  PRINT через заднюю панель обычного принтера и
использования этого  локального  принтера  выполните  следующую
процедуру:
  1. Присоедините локальный последовательный  принтер  к  порту
     AUX  вашего  терминала стандартным кабелем RS-232 с соеди-
     ненными контактами 2,  3 и  7  (минимум).  Убедитесь,  что
     принтер включен и находится в состоянии онлайн.
  2. Подключитесь к системе UNIX с терминала и  проверьте,  что
     терминал работает правильно.
  3. Убедитесь,  что порт AUX терминала конфигурирован так  же,
     как и принтер (скорость передачи,  четность,  биты данных,
     XON/XOFF и так далее).
     4. Чтобы команда lprint работала, lprint должна знать, как
     запустить и остановить локальную печать  для  каждого  от-
     дельного     терминала.    lprint    просматривает    файл
     /etc/termcap для нахождения двух атрибутов  терминала:  PN
     (запуск печати) и PS (останов печати).  Это последователь-
     ности выхода,  которые должны посылаться на  терминал  для
     управления локальной печатью.  Только несколько терминалов
     имеют эти атрибуты,  определенные в элементах termcap. Ис-
     пользуйте  текстовый редактор (такой,  как Vi(C)) для про-
     верки файла /etc/termcap.  (/etc/termcap может также  быть
     альтернативным  файлом,  как  это  определяется переменной
     TERMCAP).  Найдите этот элемент для вашего терминала. Нап-
     ример, если терминалом является Wyse60, вам следует искать
     wyse60. Элемент termcap выглядит следующим образом:

                         -15-11-

 w7|wy60|wyse60|Wyse WY-60 with 80 column/24 line screen in wy60
 mode:\

   :is=\E`\072\Ee(\EO\Ee6\Ec41\E 4\Ec21\Ed/:\

   :if/usr/lib/tabset/std:pt:\

   :G1=\EH3:G2=\EH2:G3=\EH1:G4=\EH5:GD=\EH0:GG#0:GH=\TH\072:\

   :GU=\EH=:GV=\EH6:GR=\EH4:GL=\EH9:GC=\EH8:GF=\EH7:\

   :PU=\EJ:PD=\EK:\

   :a1=\EE:am:bs:bt=E1:cd=\EY:ce=\ET:c1=\E+:\

   :cm=\Ea%i%dR%dC:co#80:dc=\EW:dl=\ER:ei=\Er:im=\Eq:k0=^AI\r:\

   :k1=^A@\r:k2=^AA\r:k3=^AB\r:k4=^AC\r:k5=^AD\r:k6=^AE\r:k7=
6AF\r:\

   :k8=6AG\r:k9=^AH\r:kd=^J:kh=^ :kl=^H:kr=6L:ku=^K:\

   :li#24:mi:nd=^L:se=\EG0:so=\EG4:sg#0:ug#0:ue=\EG0:u1:up=^K:us
=\EG8:

w8|wy60|wyse60|Wyse WY-60 with 132 column/24 line screen in wy60
mode:\

   :is=\E`\073\Ee(\EO\Ee6\Ec41\E 4\Ec21\

   :if/usr/lib/tabset/std:pt:\

   :G1=\EH3:G2=\EH2:G3=\EH1:G4=\EH5:GD=\EH0:GG#0:GH=\TH\072:\

   :GU=\EH=:GV=\EH6:GR=\EH4:GL=\EH9:GC=\EH8:GF=\EH7:\

   :PU=\EJ:PD=\EK:\

     Wyse60 не содержит определения PN и PS.  Как  и  в  случае
     других терминалов следует добавить строку,  содержащую эти
     два атрибута для элемента /etc/termcap для вашего термина-
     ла. Добавляемая строка имеет вид:

                         -15-11а-

     :PN=start sequence:PS=stop sequence:\

  5. Обратитесь к руководству по терминалу для обнаружения пос-
     ледовательности управляющих символов, используемых для пе-
     реключения дополнительного порта.  Иногда  это  называется
     как  режим  "путь через" или "прозрачный режим".  Примером
     последовательности, разрешающей дополнительную печать, яв-
     ляется код включения порта для Wyse 60 терминала:

      d #

     А код, выключающий его снова - это:

     t

  6. Эти   ключевые  строки  должны  транслироваться  в  формат
    termcap перед их помещением в файл termcap. termcap
     использует следующие коды, представляющие ключевые строки:

                         -15-12-

 +------------------+---------------------------+
 | Ключевая строка  | Последовательность termcap|
 +------------------+---------------------------+
 | ESCAPE           | \E                        |
 | CTRL-x           | ^x (x - это любой символ) |
 | NEWLINE          | \n                        |
 | RETUTN           | \r                        |
 | TAB              | \t                        |
 | BACKSPACE        | \b                        |
 | FORMFEED         | \f                        |
 +------------------+---------------------------+

     Для использования  управляющей  последовательности исполь-
     зуйте символ (^), а не клавишу . Например  х мо-
     жет  быть  представлено ^х.  Кроме того символы могут быть
     представлены их восьмеричными кодами (смотрите ascii(M), и
     символами обратная черта и (^), представленными как \^ и \
     \ соответственно).  Элементы для атрибутов termcap  должны
     быть  разделены  двоеточием (:).  (Смотрите termcap(M) для
     получения дополнительной информации).

     Напомним, что атрибутами termcap для  запуска  и  останова
печати являются PN и PS. Использованием приведенный выше табли-
цы можно получить, что элемент termcap для ключевой строки Wyse
60  # d (начало печати, PN) и  Т (останов печати, PS)
выглядит следующим образом:

     :PN=\Ed#:PS=^T:\

  7. Для терминала Wyse 60 вы просто вставляете  указанную выше
     строку в элемент termcap для Wyse 60.  (Вы должны убедить-
     ся,  что строка вставляется в пределах элемента для вашего
     терминала; не добавляйте ее, как первую строку или послед-
     нюю строку).
     Для других терминалов проверьте руководство и найдите пра-
     вильные последовательности для включения и выключения  до-
     полнительного режима печати и подставьте последовательнос-
     ти  termcap,  как  в  этом  примере.  Некоторые  терминалы
     (такие,  как  Wyse60)  включают "прозрачный" режим,  когда
     данные не отображаются на экране во время печати. (Это ре-
     жим, выбранный последовательностью PN в данном примере).

                         -15-12а-

Примечание
  Вы должны быть подключены к системе в качестве корня для  ре-
  дактирования /etc/termcap.  Мы рекомендуем, чтобы вы не копи-
  ровали первоначальный файл под другим именем в  случае, когда
  вы  совершаете ошибку.  Вы можете также извлечь файл снова из
  вашей дистрибуции, используя custom(ADM).

                         -15-13-

  8. После добавления элементов PN и PS отключитесь и вернитесь
     снова для активизации нового элемента termcap.
  9. Используйте следующую команду для печати файла filename на
     локальном принтере:

   Ъ2  lprint filename

     Не касайтесь  клавиатуры во время локальной печати;  вы не
     можете выполнять другие задачи на терминале во время печа-
     ти.
  10. Если файл печатается на экране вместо принтера,  то  соз-
     данные  элементы  PS  и PN некорректны.  Замените элементы
     правильными кодами. Если файл еще не печатается на принте-
     ре или терминале,  попытайтесь соединить контакты Передачи
     и Получения данных в кабеле, соединяющем порт AUX термина-
     ла и принтер.

                         -15-14-

           ДОБАВЛЕНИЕ ПРИНТЕРА КАК ТЕРМИНАЛА LOGIN

     Для добавления  прямо  присоединенного  принтера к системе
для использования в качестве терминала login введите:

Ъ2     /usr/lib/lpadmin -p Ъ1printername Ъ2-v Ъ1pathname -l

      sysadmish пользователи выбирают:
      Printer-->Configure-->Add
     (Принтеры-->Конфигурирование-->Добавление)

     Как и ранее pathname - это имя специального файла,  предс-
тавляющего порт принтера. -l указывает, что принтер будет авто-
матически закрыт, когда обслуживание принтера запускается, что-
бы позволить пользователям подключиться к системе.  Принтер или
терминал должны быть вручную открыты  перед  их  использованием
для печати.

                         -15-15-

          ЗАПУСК И ОСТАНОВ ОБСЛУЖИВАНИЯ ПЕЧАТИ LP

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

Примечание
  Для ручного  запуска и останова обслуживания печати вы должны
  быть подключены к системе либо  как  корневой  суперпользова-
  тель, либо как пользователь с авторизацией lp.

         Ручной останов обслуживания печати

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

     /usr/lib/lpshut

     sysadmish пользователи выбирают:
     Printers-->Shedule-->Stop
     (Принтеры-->Планирование-->Останов)

     Отображается состояние:

     Print services stopped
     (Средства печати остановлены)

     Вся печать  прекращается в течении нескольких секунд. Если
вы пытаетесь остановить обслуживание печати,  когда оно не  вы-
полняется, вы увидите сообщение:

     Print services already stopped
     (Обслуживание печати уже остановлено)

                         -15-16-

Примечание
  Задания могут передаваться через принтер, который не находит-
  ся в состоянии online.  Если принтер не находится в сoстоянии
  online или не работает правильно, следует закрыть принтер.

          Ручной запуск обслуживания принтера

     Для ручного рестарта обслуживания принтера введите следую-
щую команду:

     /usr/lib/lpshed

     sysadmsh пользователи выбирают:
     Printers-->Shedule-->Begin
     (Принтеры-->Планирование-->Начать)

     Отображается сообщение:

     Print services started
     (Запущено обслуживание печати)

     Может потребоваться  минута или две для переустановки кон-
фигураций,  форм и фильтров принтера перед тем, как сохраненные
запросы на печать начнут печататься.  Если вы пытаетесь рестар-
товать обслуживание печати во время ее выполнения,  вы  увидите
сообщение:

     Print services already active
     (Обслуживание печати уже активно)

Примечание
  Вы не  должны останавливать обслуживание печати для изменения
  конфигураций принтера или добавления форм или фильтров.

                         -15-17-

               ОТМЕНА ЗАПРОСА ПЕЧАТИ

     Для отмены    запрошенной   печати   используйте   комaнду
cancel(C).  Когда вы запрашиваете  печать,  система  отображает
идентификатор запроса для вашего задания. Например, если вы по-
сылаете задание на принтер "лазер" в систему,  UNIX  отображает
идентификатор запроса в следующем виде:

+-----------------------------------------------------------
| request id is laser-number
|

где число - это номер,  назначенный заданию. Для отмены задания
перед началом печати используйте команду:

Ъ2     cancel laser-number

     sysadmsh  пользователи выбирают:
     Printers-->Request-->Cancel
     (Принтеры-->Запрос-->Отмена)

     Печать отменяется.
     Большая часть  систем  печатает  быстро,  так  что команда
cancel должна использоваться быстро, чтобы быть эффективной.

                         -15-18-

        АКТИВИЗАЦИЯ И ДЕАКТИВИЗАЦИЯ ПРИНТЕРОВ

     Команда enable  позволяет lpshed печатать файлы на принте-
ре.  Принтер может принимать запросы для печати после того, как
для принтера принята команда accept, но для печати файлов долж-
на также быть выдана команда enable.
     Например для активизации принтера с именем " daisy" введи-
те:

     enable daisy

     sysadmsh пользователи выбирают:
     Printer-->Shedule-->Enable
     (Принтеры-->Планирование-->Активизировать)

    Вы можете деактивизировать принтеры командой disable.  Пла-
нировщик  lpshed не посылает запросы печати на деактивизирован-
ные принтеры независимо от их состояния.  Возможность -r позво-
ляет вам послать сообщение пользователям,  объясняющее,  почему
принтер деактивизирован.
     Например для деактивизации принтера с именем "лазер" из-за
замятия бумаги введите:

     disable -r "paper jam" laser

Пользователи, запрашивающие состояние "лазера"  командой lpstat
-plaser получат следующее сообщение:

+--------------------------------------------------
|printer laser disabled since Dec 5 10:15
|paper jam
|
 (принтер лазер деактивизирован 5 декабря 10:15)

Дополнительная информация  об  этих  двух командах содержится в
разделах enable(C) и disable(C) документа User's Reference.

                         -15-19-

             ДОБАВЛЕНИЕ ПРИНТЕРА КЛАССУ

     Часто удобно рассматривать набор принтеров как один класс.
Преимущество состоит в том, что пользователь может послать файл
на печать члену класса,  и обслуживание печатью выбирает первый
принтер в классе, который является свободным. Это повышает про-
пускную способность,  так как принтеры используются максимально
эффективно.
     Классы не  нужны,  если единственной целью является разре-
шить пользователю передать запрос на печать определенному прин-
теру. Команда типа lp -Т позволяет пользователю передавать файл
и задавать его тип. Первый доступный принтер, который может об-
рабатывать этот тип файла,  печатает файл.  Обслуживание печати
не использует фильтр, если это возможно, выбирая принтер, кото-
рый  может  печатать файл напрямую,  который первый нуждается в
фильтрации.

Примечание
  Смотрите раздел "Фильтры" данной главы для получения дополни-
  тельной информации о фильтрах.

     Одним из способов является помещение в класс набора  прин-
теров,  которые  будут использоваться в особом порядке.  Если у
вас имеется высокоскоростной принтер и низкоскоростной принтер,
например,  вы, вeроятно, захотите, чтобы высокоскоростной прин-
тер обрабатывал столько запросов, сколько возможно, а низкоско-
ростной принтер использовался, когда другой занят. Так как обс-
луживание печати  всегда  проверяет  доступный  принтер  в  том
порядке,  в каком принтеры добавляются в класс, вы можете доба-
вить высокоскоростной принтер  в  класс  перед  низкоскоростным
принтером,  и это позволяет обслуживанию печати направлять зап-
росы печати в нужном порядке.

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

Ъ2     /usr/lib/lpadmin -p Ъ1printernameЪ2 -c classname

     sysadmsh пользователи выбирают:
     Printers-->Configure-->Modify
     (Принтеры-->Конфигурирование-->Модификация)

     Если класс classname еще не существует, он создается.

                         -15-20-

Примечание
  Имена классов  и имена принтеров должны быть уникальными. Это
  позволяет пользователю задавать назначение для запроса печати
  не зная, относится ли оно к классу принтеров или к отдельному
  принтеру.  Таким образом вы не можете иметь класс и принтер с
  одним названием.

     Пока вы не добавили принтер к классу, он не принадлежит ни
к одному из них.

                         -15-21-

         ЗАДАНИЕ ПО УМОЛЧАНИЮ СИСТЕМНОГО НАЗНАЧЕНИЯ

     Вы можете  определить принтер или класс,  используемый для
печати файла,  когда пользователь не  запросил  явно  некоторое
назначение  и не задал переменную оболочки LPDEST.  Принтер или
класс должны уже существовать.
     Задайте принтеру или классу назначение по умолчанию вводом
следующей команды:

Ъ2     /usr/lib/lpadmin -d printername или classname

     sysadmsh пользователи выбирают:
     Printers-->Configure-->Default
     (Принтеры-->Конфигурирование-->По умолчанию)

     Если вы позднее решили,  что не должно быть назначения  по
умолчанию,  введите  нулевое  printername или classname,  как в
следующей команде:

     /usr/lib/lpadmin -d

     sysadmsh пользователи выбирают:
     Printers-->Configure-->Default
     (Принтеры-->Конфигурирование-->По умолчанию)

     Если вы не задали назначение по умолчанию,  то его не  бу-
дет.  Пользователи  должны  явно  именовать принтер или класс в
каждом запросе печати,  или они должны установить в  переменной
оболочки LPDEST имя назначения.
     Для оболочки С:

     setenv LPDEST=printer

     Для оболочки Bourne:

     LPDEST=printer; export LPDEST

                         -15-22-

       МОНТИРОВАНИЕ ФОРМЫ ИЛИ ПЕЧАТАЮЩЕГО МЕХАНИЗМА

Примечание
  Смотрите раздел "Формы" данной главы для получения информации
  о препринтных формах.

     Перед тем,  как обслуживание печати начинает печатать фай-
лы,  которым  необходима препринтная форма или печатающий меха-
низм,  вы должны смонтировать их для  принтера.  Если  средство
предупреждения установлено для формы или печатающего механизма,
то вы будете извещены,  когда достаточное  количество  запросов
печати становится в очередь на монтирование.
     Когда вы монтируете форму,  то вы можете захотеть убедить-
ся, что она установлена правильно. Если для формы зарегистриро-
ван образец выравнивания,  вы можете запросить повторную печать
до тех пор, пока вы не настроите принтер так, чтобы образец вы-
равнивания выглядел корректно.
     Монтирование формы или печатающего механизма включает пер-
воначальную ее загрузку в принтер с последующим извещением обс-
луживания печати о монтировании.  Так как трудно делать это для
принтера,  печатающего в настоящий момент, и так как обслужива-
ние печати продолжает печатать файлы, которым не нужна форма на
принтере,  то вам вероятно необходимо сначала  деактивизировать
принтер.  Таким образом правильная процедура выглядит следующим
образом:
  1. Деактивизация принтера с помощью команды disable.
  2. Монтирование новой формы или  печатающего  механизма,  как
     это описано позднее в данном разделе.
  3. Повторная активизация принтера с помощью  команды  enable.
     (Команды disable и enable описаны ранее в разделе "Активи-
     зация и деактивизация принтеров" данной главы).

                         -15-23-

     После загрузки новой формы  или  печатающего  механизма  в
принтер  введите  следующую  команду для запроса у обслуживания
печати монтирования.  (Эта команда показана на двух строках для
простоты чтения: она должна вводиться как одна строка).

Ъ2     /usr/lib/lpadmin -p Ъ1printernameЪ2 -M -S print-wheelname
     -f Ъ1formname -a -o filebreak

     sysadmsh пользователи выбирают:
     Printers-->Auxiliary-->PPforms-->Configure
     (Принтеры-->Вспомогательный-->РРформы-->Конфигурация)

     Пропустите -S print-wheelname,  если вы монтируете  только
форму или пропустите Ъ2-f Ъ1formname -a -o filebreak,  если вы мон-
тируете только печатающий механизм.
     Если вы монтируете форму, у вас запрашивается нажатие кла-
виши <Возврат> перед тем,  как печатается каждая копия  образца
выравнивания.
     После печати образца вы можете настроить принтер  и  снова
нажать клавишу возврата. Если образец выравнивания не зарегист-
рирован,  у вас не запрашивается нажатие клавиши. Вы можете от-
менить  возможности -а и -о filebreak,  если вы не хотите иметь
дело с образцом выравнивания.
     Возможность -о filebreak запрашивает у обслуживания печати
LP добавление formfeed после каждой копии образца выравнивания.
Действительная управляющая последовательность, используемая для
formfeed, зависит от используемого принтера и получается из ба-
зы данных terminfo.  Если образец выравнивания уже включает по-
дачу формы, опустите возможность -о filebreak.
     Если вы  хотите  размонтировать форму или печатающий меха-
низм,  используйте  следующую  команду:   /usr/lib/lpadmin   -p
Ъ1printername -M -S none -f none
     sysadmsh пользователи выбирают:
     Printers-->Auxiliary-->PPforms-->Remove
     (Принтеры-->Вспомогательный-->РРформы-->Удаление)
     Опустите -S  none,  если  вы  только хотите размонтировать
форму;  в противном случае опустите -f none, если вы только хо-
тите размонтировать печатающий механизм.
     Пока вы монтируете форму на  принтере,  посылаются  только
запросы печати,  не требующие форму. В противном случае пока вы
монтируете печатающий механизм на принтере, пересылаются только
запросы печати,  не требующие отдельного печатающего механизма.

                         -15-24-

          УДАЛЕНИЕ ПРИНТЕРА ИЛИ КЛАССА

     Вы можете удалить принтер или класс, если отсутствуют жду-
щие запросы печати. Если имеются ждущие запросы, вы должны сна-
чала переслать их на другой принтер или класс, используя коман-
ду lpmove или удалить их, используя команду cancel.
     Удаление последнего оставшегося принтера из класса автома-
тически удаляет весь класс. Однако, удаление класса не приводит
к удалению принтеров, которые были элементами этого класса. Ес-
ли удаляемый принтер или класс являются также по умолчанию сис-
темным назначением, то у системы более нет принимаемого по умол-
чанию назначения.
     Для удаления  принтера или класса введите следующую коман-
ду:

Ъ2     /usr/lib/lpadmin -p printername или classname

     sysadmsh пользователи выбирают:
     Printers-->Configure-->Remove
     (Принтеры-->Конфигурирование-->Удаление)

     Если все, что вы хотите - это удаление принтера из класса,
а не удаление принтера, введите следующую команду:

Ъ2     /usr/lib/lpadmin -p Ъ1printername Ъ2-r classname

     sysadmsh пользователи выбирают:
     Printers-->Configure-->Modify
     (Принтеры-->Конфигурирование-->Модификация)

                         -15-25-

            УПРАВЛЕНИЕ ЗАГРУЗКОЙ СИСТЕМЫ

     Вам может потребоваться остановить прием  запросов  печати
для  принтера или переслать запросы печати с одного принтера на
другой.  Имеются различные причины для этого, такие как следую-
щие:
     - принтер нуждается в периодическом сопровождении;
     - принтер сломался;
     - принтер удален;
     - вы изменили конфигурацию так,  что принтер может исполь-
       зоваться по-другому;
     - слишком  много  больших  запросов  принтера поставлено в
       очередь к одному принтеру и должны быть распределены.
     Если вы собираетесь произвести большое изменение в способе
использования принтера,  таком,  например, как останов его воз-
можности  обработки  определенной формы,  изменение печатающего
механизма,  доступного для принтера, запрет использования прин-
тера некоторыми людьми,  то запросы печати, стоящие в очереди к
принтеру,  должны быть пересланы или отменены. Обслуживание пе-
чати  пытается найти альтернативные принтеры,  но только в слу-
чае,  если пользователь не выбирает используемый принтер. Такие
запросы  не пересылаются автоматически;  если вы не пересылаете
их, то обслуживание печати отменяет их.
     Если вы  решили,  что  принтер следует вывести из системы,
его конфигурацию следует изменить или, что он слишком загружен,
то  вы  можете переслать запросы печати с него и отвергнуть до-
полнительные запросы.  Используйте для этого команды  lpmove  и
reject. Если вы не отвергаете запросы принтера, вы можете позд-
нее принять запросы с помощью команды accept.

        Отказ от запросов для принтера или класса

     Для останова принятия  новых  запросов  для  принтера  или
класса принтеров введите следующую команду:

Ъ2     /usr/lib/reject -r "reason" printername или classname
     sysadmsh пользователи выбирают:
     Printer-->Shedule-->Reject
     (Принтеры-->Планирование-->Отказ)
     Вы можете  отвергнуть запросы для нескольких принтеров или
классов одной командой,  перечислив их имена  в  одной  строке,
разделив имена пробелами.

                         -15-26-

reason (причина)  отображается,  когда кто-то пытается печатать
файл на принтере.  Вы можете отменить это (и -r) если не хотите
получить  причину.  Хотя  команда reject останавливает принятие
новых запросов печати, она не пересылает или отменяет какие-ли-
бо запросы, стоящие в настоящее время в очереди к принтеру. Они
продолжают печататься, пока принтер активизирован.

          Принятие запросов для принтера или класса

     Команда accept позволяет принтерам или  классам  принтеров
принимать запросы печати, сделанные командой lp. Вы можете раз-
решить принтеру прием запросов после  того,  как  он  правильно
конфигурирован.
     После того,  как условие, ведущее к отмене запросов, скор-
ректировано или изменено, введите следующую команду для запуска
новых запросов:

Ъ2     /usr/lib/accept printername или classname

     sysadmsh пользователи выбирают:
     Printer-->Shedule-->Accept
     (Принтеры-->Планирование-->Прием)

     Снова вы можете принять запросы для  нескольких  принтеров
или классов в одной команде,  перечислив их имена в одной стро-
ке.  Вы всегда должны использовать команду  accept  для  нового
принтера  или класса после их добавления,  так как обслуживание
печати первоначально не принимает запросы для  новых  принтеров
или классов.

          Пересылка запросов на другой принтер

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

Ъ2     /usr/lib/lpmove request-id printername
Ъ2     /usr/lib/lpmove printername1 printername2

     sysadmsh пользователи выбирают:
     Printer-->Request-->Move
     (Принтеры-->Запрос-->Пересылка)

                         -15-26а-

     Вы можете получить более одного идентификатора запроса пе-
ред именем принтера в первой команде. Первая команда пересылает
перечисленные запросы на именованный принтер. Последняя команда
пересылает  все запросы,  стоящие в очереди,к первому принтеру,
на второй принтер. Когда используется последняя команда, обслу-
живание  принтера  также не принимает более запросы для первого
принтера (Это имеет тот же эффект, что и команда reject).

                         -15-27-

               Примеры

     Приводится несколько примеров того,  как вы можете исполь-
зовать команды lpmove, accept и reject:

Пример 1
     Вы решили изменить ленту на принтере lp1 и выполнить неко-
торое предупредительное обслуживание.  Вы хотите переслать  все
запросы для принтера lp1 на принтер lp2. После пересылки запро-
сов обслуживание печати не принимает более запросы для lp1 (это
имеет  тот  же эффект,  что и команда reject lp1,выданная после
команды lpmove).

     /usr/lib/lpmove lp1 lp2

     Теперь вы можете деактивизировать принтер и запустить  ра-
боту на нем.  После завершения вы можете вернуть его в систему:

     /usr/lib/accept lp1

     В этой точке, если вы деактивизировали принтер, вам следу-
ет повторно активизировать его.  Смотрите раздел "Активизирова-
ние и деактивизирование принтеров" данной главы.

Пример 2
     Вы заметили, что кто-то поставил в очередь несколько боль-
ших  файлов  для печати на принтер laser1.  В это время принтер
laser2 простаивает,  так как очередь запросов к нему отсутству-
ет.  Вы  пошлете два небольших запроса laser1-23 и laser1-46 на
laser2 и откажетесь от любых новых запросов для laser1  на  это
время.

     /usr/lib/lpmove laser1-23 laser1-46 laser2
     /usr/lib/reject -r "too busy--will reopen late"
                      (слишком велик - переоткройте позднее)
     laser1

                         -15-28-

Пример 3
     Вы хотите предотвратить  направление  запросов  печати  на
принтер 4 из-за ремонта:

     /usr/lib/reject -r "printer4 needs repair" printer4
                       (принтер4 нуждается в ремонте)

     Пользователь, запрашивающий печать файла на принтере4, по-
лучает следующее сообщение:

+-----------------------------------------------------------
| lp: can not accept requests for destination "printer4"
| (не может получить запросы по назначению "принтер4")
| --printer printer4 needs repair
|   (принтер принтер4 нуждается в ремонте)

Для определения состояния приема назначений печати введите:

     lpstat -a

                         -15-29-

               УПРАВЛЕНИЕ ПРИОРИТЕТАМИ ОЧЕРЕДЕЙ

     Обеспечение печати предоставляет простой механизм  приори-
тетов,  который  пользователи  могут использовать для настройки
положения запроса печати в очереди.  Каждому запросу печати мо-
жет присваиваться уровень приоритета лицом,  которое занимается
этим;  это число в диапазоне от 0 до 39,  причем меньшие  числа
указывают на более высокий уровень приоритета.  Запросы с более
высоким уровнем приоритета (меньшие числа)  помещаются  впереди
запросов с низким приоритетом (большие числа).
     Таким образом,  если вы решили,  что запрос  печати  имеет
слишком  низкий  приоритет,  вы можете установить более высокий
приоритет (меньшее значение), когда назначаете файл для печати.
Если вы решили, что запрос печати имеет слишком высокий приори-
тет, вы можете задать более низкий приоритет (большее значение)
при назначении файла для печати.
     Схема приоритета просто не работает, если нет контроля над
тем,  насколько высокий приоритет может быть установлен. Вы мо-
жете определить следующие характеристики этой схемы:
     - каждому  пользователю может быть назначен предел приори-
     тета.  Никто не может назначить запросу  печати  приоритет
     более высокий,  чем предел, хотя запросу может быть назна-
     чен более низкий приоритет.
     - предел  приоритета  по умолчанию может быть назначен для
     баланса  пользователей,  которым  неназначен  персональный
     приоритет.
     - может быть установлен приоритет по умолчанию.  Это прио-
     ритет,  присвоенный запросам печати,  которым пользователь
     не назначил приоритет.
     Установив характеристики в соответствии с потребностями вы
можете предотвратить  влияние  низкоприоритетных  задач  печати
(таких,  как обычная печать большинства пользователей) на высо-
коприоритетные задачи печати (такие,  как печать проверки доку-
ментов учетным персоналом).
     Вы можете обнаружить,  что вам необходимо напечатать неко-
торый запрос печати перед другими, возможно даже, что он должен
предшествовать печатаемым в настоящее время запросам. Вы должны
с  помощью  средств печати передать запрос на немедленную обра-
ботку и задержать другие запросы печати. Это позволяет печатать
нужный  запрос  и  задерживает  печать  текущего запроса до его
восстановления.

                         -15-29а-

     Команда lpusers позволяет назначить как пределы приоритета
для пользователей,  так и приоритеты по умолчанию.  Кроме того,
вы можете использовать команды Ъ2lp -i Ъ1request-id -H hold и lp -i
request-id  -H  immediate  для  помещения запроса в задержанное
состояние или пересылки его для  немедленной  печати  соответс-
твенно. Эти команды обсуждаются подробно позднее.

                         -15-30-

          Установка пределов приоритета

     Для установки предела приоритета пользователя введите сле-
дующую команду:

Ъ2     /usr/lib/lpusers -q Ъ1priority-level Ъ2-u username

     Вы можете установить предел для группы пользователей пере-
числением их имен после возможности -u. Имена разделяются запя-
той или пробелом (заключая список в кавычки, если вы используе-
те  пробел).  Уровень  приоритета  - это число от 0 до 39.  Как
указано ранее,  чем меньше число,  тем выше приоритет,  или,  в
данном случае, предел приоритета.

     Если вы  хотите  задать  предел приоритета для всех других
пользователей, введите следующую команду:

Ъ2     /usr/lib/lpusers -q priority-level

     sysadmsh пользователи выбирают:

     Printers-->Priorities-->Default
     (Принтеры-->Приоритеты-->По умолчанию)

     При этом устанавливается предел по умолчанию,  значение по
умолчанию относится к тем пользователям,  которым не задан лич-
ный   предел   с  использованием  рассмотренной  ранее  команды
lpusers.

     Если вы позднее решили,  что кто-то  должен  иметь  другой
предел приоритета,  введите повторно первую команду,  указанную
выше,  с новым пределом.  Если вы решили,  что кто-то с  личным
пределом  должен  иметь предел по умолчанию,  введите следующую
команду:

Ъ2     /usr/lib/lpusers -u username

     sysadmsh пользователи выбирают:

     Printers-->Priorities-->Remove
     (Принтеры-->Приоритеты-->Удаление)

                         -15-30а-

     Снова вы можете сделать это более чем для одного пользова-
теля   за  раз,  задавая  список  имен.  Использование  команды
lpusers только с возможностью -u помещает пользователей в кате-
горию предел по умолчанию.

     Если вы  не  установили предел по умолчанию,  пользователи
без личных пределов ограничиваются приоритетами в диапазоне 20-
39.

                         -15-31-

          Задание приоритета по умолчанию

     Вы можете установить приоритет по  умолчанию,  назначаемый
запросам печати без приоритета.  Используйте следующую команду:

Ъ2     /usr/lib/lpusers -d priority-level

     sysadmsh пользователи выбирают:
     Printers-->Priorities-->Highest
     (Принтеры-->Приоритеты-->Высший)

     Не путайте это значение,  принимаемое по умолчанию, с пре-
делом по умолчанию.  Это значение  по  умолчанию  используется,
когда  пользователю не присвоен приоритет;  предел по умолчанию
используется,  если вы не назначили предел для  пользователя  -
это  используется  для  ограничения  пользователя от присвоения
слишком высокого приоритета.

Примечание
  Если приоритет по умолчанию выше предела пользователя, то ис-
  пользуется предел.

Если вы не установили приоритет по умолчанию, то средства печа-
ти используют значение по умолчанию 20.

          Проверка пределов приоритета и значений по умолчанию
     Вы можете проверить все установки,  назначенные для преде-
лов приоритета и значений по умолчанию, вводом следующей коман-
ды:

     /usr/lib/lpusers -l

     sysadmsh пользователи выбирают:
     Printers-->Priоrities-->List
     (Принтеры-->Приоритеты-->Список)

          Пересылка запроса в очередь
     После выдачи пользователем запроса на печать вы можете пе-
реслать его в очередь некоторым образом. Например, вы можете:
     - настроить приоритет на любой уровень, независимо от пре-
     дела для пользователя,
     - поместить его в задержанное состояние и позволить другим
     запросам печататься перед ним,

                         -15-32-

     - поместить его в начало очереди для немедленной печати.

     Для выполнения каждого из этих действий используется обыч-
ная команда lp.

Изменение приоритета запроса

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

     Введите следующую команду для изменения приоритета запроса:

Ъ2     lp -iЪ1 request id Ъ2-q new-priority-level

     Вы можете  изменить  только один запрос за раз по этой ко-
манде.  Если запрос уже печатается,  вы не можете изменить  его
приоритет.

Приостановка запроса

     Любой запрос,  не закончивший печать,  может быть приоста-
новлен.  Вы можете остановить его печать,  если он печатается в
настоящее  время,  и  не  выполнять печать до ее возобновления.
Другой пользователь,  однако, не может возобновить запрос печа-
ти, который вы приостановили.

     Введите следующую команду для приостановки запроса:

Ъ2     lp -i Ъ1request id -H hold

     Введите следующую команду для возобновления запроса:

Ъ2     lp -i Ъ1request id -H resume

    После возобновления запрос продолжает "подтягивать" очередь
и будет печататься.  Если он печатался на момент  приостановки,
то он будет первым кандидатом на печать. Обычно запрос начинает
печать с начала, со страницы один, но вы можете начать печать

                         -15-32а-

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

Ъ2     lp -i Ъ1request id Ъ2-H resume -P starting-page-

     Конечный пунктир  необходим для задания начальной страницы
и всех последующих страниц.

                         -15-33-

Примечание
  Возможность печати подмножества страниц требует наличия филь-
  тра,  который  может  обрабатывать такую ситуацию.  Фильтр по
  умолчанию,  используемый обслуживанием печати, не может обра-
  батывать такую ситуацию.  Попытка возобновления запроса стра-
  ницей позже отвергается, если не используется соответствующий
  фильтр.

Пересылка запроса в начало очереди

     Вы можете переслать запрос печати в начало очереди, где он
будет следующей работой,  выбираемой для печати. Если он должен
начать печать немедленно,  но в настоящее время печатается дру-
гой зарос,  вы можете приостановить другой запрос, как это опи-
сано выше.
     Введите следующую команду для пересылки запроса  печати  в
начало очереди:

 Ъ2    lp -i Ъ1request id -H immediate

     Только системный администратор может переслать запрос, та-
кой как этот,  обычные пользователи не могут использовать  воз-
можность -H immediate.

Примечание
  Если вы задали более одного запроса для  немедленной  печати,
  они печатаются в обратном порядке,  то есть запрос, переслан-
  ный в начало очереди последним, печатается первым.

          Проверка конфигурации принтера

     После определения конфигурации принтера вам вероятно захо-
чется посмотреть ее,  чтобы убедиться, что она правильная. Если
после проверки конфигурации вы  увидите,  что  сделали  ошибку,
повторно введите команду, относящуюся к части, которая неверна.
     Используйте команду lpstat для проверки конфигурации и те-
кущего  состояния  принтера.  Короткая  форма этой команды дает
только статус.  Вы можете использовать ее, чтобы убедиться, что
принтер существует, и, если он занят, не работает или деактиви-
зирован. Длинная форма команды добавляет полную конфигурацию.

                         -15-34-

     Введите одну из следующих команд для проверки принтера:

Ъ2     lpstat -p printername
Ъ2     lpstat -p Ъ1printername  -l

     Вторая команда имеет длинную форму.  Для любой команды  вы
увидите примерно следующее:
+------------------------------------------------------
| printer printer-name now printing request-id.
| enabled since date
| printer printer-name is idle. enable since date
| printer printer-name disable since date
|         reason
| printer printer-name waiting for auto-retry
|         reason

1 - принтер имя-принтера,  теперь печатающий идентификатор зап-
роса активизирован;  2 - принтер имя-принтера свободен. Активи-
зирован с даты; 3 - принтер им