Звездного неба над головой, и чтобы не было войны!

Международный форум городов мира

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

Привет, Гость! Войдите или зарегистрируйтесь.


Вы здесь » Международный форум городов мира » Компьютеры, Интернет, Хакеры » Пособие администратора системы UNIX


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

Сообщений 1 страница 20 из 36

1

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

0

2

- 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.
    <BKSP>     Backspace    удаляет символ слева от курсора
    <CTL>d     Ctrl-d       сигнализирует конец ввода с кла-
                            виатуры; выходит из текущей обо-
                            лочки или инициализирует процеду-
                            ру выхода - logout - если текущая
                            оболочка - оболочка входа.
    <CTL>h     Erase        удаляет первый символ слева от
                            курсора. Также называется ERASE.
    <CTL>q     Ctrl-q       рестарт печати после останова ее
                            при помощи Ctrl-s.

                       - 1-8 -

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

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

                       - 1-9 -

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

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

                       - 1-10 -

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

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

0

3

- 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.
возврат к предыдущему  <ESC>
меню
Получение подсказки    <F1>
___________________________________________________________
    Вы можете  познакомиться с опциями меню при помощи стре-
лок-клавиш или клавиши пробела для перемещения подсветки  от
одной опции к другой. Каждый раз как вы подводите подсветку,
описание данной опции появляется в строке описания.
    sysadmsh имеет иерархическую структуру меню. Большинство
опций меню перемещают вас вниз  к  другому  меню.  Например,
когда вы выбрали опцию Процессы из главного меню,  выводится
под-меню, содержащее еще опции,  обеспечивающие  проверку  и
работу с процессами на вашей машине. Иерархия меню позволяет
легко найти команду,  перемещаясь вниз от одного меню к дру-
гому. Обычно вы получаете опцию меню,  которая или выполняет
команду UNIX или выводит на экран форму,  которую вы  должны
заполнить в  деталях,  нужных данной команде.  Отметим,  что
ввод первой буквы имени опции - быстрейший способ  прохожде-
ния по уровням меню;  когда вы будете часто обращаться к од-
ной и той-же команде,  лучше набрать несколько букв, которые
вы запомните.
    Лучший способ изучить  использование  меню  -  практика.
Если по ошибке вы выбрали неправильное меню,  то можете вер-
нуться к предыдущему нажав клавишу <ESC>.  Если вы прошли по
меню далеко,  то  можете вернуться в главное меню при помощи
нажатия <F2> и ввода n. <F2> перемещает вас к опции 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 -

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

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

                       - 2-9 -

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

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

                       - 2-10 -

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

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

                       - 2-11 -

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

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

                       - 2-12 -

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

                       - 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.
    Вы можете узнать окно сканирования по вертикальному стол-
бику прокрутки, который появился в верхнем правом углу окна,
здесь он представлена как #.  Когда окно появится в  верхней
части вашего текста, то становится видимым символ +, если же
окно в нижней части - то внизу  будет  +.  Если  весь  текст
уместился  в окне, то можно видеть два символа +.
    Столбик прокрутки показывает также где вы  находитесь  в
окне. Высвеченная порция столбика представляет часть текста,
который в настоящее время выведен на экран. По мере того как
вы прокручивает  его вверх и вниз высвеченный столбик двига-
ется за вами.
    При работе в окне сканирования нужно использовать следу-
ющие клавиши:

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

  Выход из файла                    <ESC>
  переместиться вверх на строку     стрелка вверх
  переместиться вниз на строку      стрелка вниз
  переместиться вниз на страницу    <PgDn> или пробел
  переместиться вверх на страницу   <PgUp>
  переместиться вверх дисплея       <Home>
  переместиться вниз дисплея        <End>
  поиск последовательности (; и     <F5>
  : повторяют поиск вперед и
  назад, соответственно.)
  распечатать вывод команды или     <F7>
  файл, выведенный в окно скани-
  рования

                       - 2-16 -

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

    Вы можете   нажать  клавишу  <F1>  для  вывода  информа-
ции-подсказки. После  ее  нажатия  откроется  окно  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.
           Для быстрого выхода можно нажать <F2> или <ESC>.

                       - 2-18 -

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

                       - 2-19 -

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

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

                       - 2-20 -

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

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

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

                       - 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.

0

4

- 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. Нажмите клавишу ввода - <Return>. Программа раскру-
       тки загрузки загрузит операционную систему.

    Когда система загружена,  она выводит информацию о  себе
самой и  проверяет  правильность  корневой  файловой системы
(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 -

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

                       - 3-4 -

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

    /etc/shutdown  -g2  su

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

                       - 3-5 -

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

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

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

           root

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

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

     Система откроет бюджет суперпользователя и  выведет  на
экран сообщения дня и приглашение суперпользователя (#).
     Примите меры предосторожности при входе как  суперполь-
зователь. В  частности  осторожно удаляйте или модифицируйте
файлы. Это важно,  поскольку суперпользователь имеет неогра-
ниченный доступ ко всем файлам; он может удалить или модифи-
цировать файлы,  жизненно важные для системы. Избегайте при-
менять общие символы для работы (символы,  определяющие весь
набор файлов) и сохраняйте свой текущий каталог.
     В любое  время  можно выйти из режима суперпользователя
при помощи нажатия <CTL>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.
    Для изменения программы, загружаемой по умолчанию, когда
вы входите  в  систему только с нажатием <Return> в ответ на
приглашение загрузки модифицируйте набор строк  загрузки  по
умолчанию при    помощи    опции    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. По завершению этого интерва-
ла времени загрузка пойдет так,  как будто вы нажали клавишу
<Return>.
    Вы можете  установить  опцию  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 </dev/console

    Вы можете  добавить  или  изменить функции инициализации
редактируя файл inittab (смотри описание inittab(F) для  по-
лучения более детальной информации). После модификации изме-
нения будут только временными поскольку новый  файл  inittab
создается во время пересвязывания ядра.  Чтобы сделать изме-
нения постоянными для процедуры инициализации вы должны так-
же модифицировать  исходный  файл  из которого этот файл пе-
ресоздается. Для модификации записи найдите и отредактируйте
существующую запись  в  файле /etc/conf/cf.d/init.base или в
одном из других файлов компонент в каталоге /etc/conf/init.d.

      Изменение записей /etc/rc2

    При входе в многопользовательский режим (init  state  2)
init выполняет запись /etc/rc2 в соответствии с инструкциями
в inittab.  rc2 устанавливает некоторые переменные  среды  и
запускает несколько записей инициализации. Записи, запускае-
мые rc2 хранятся в нескольких каталогах и выполняются в пре-
начертанном порядке  для  обеспечения правильной инициализа-
ции. Этот раздел описывает записи в /etc/rc2.d,  которые за-
пускаются rc2   и   объясняет   шаги  для  добавления  вашей
собственной записи. Пособие по rc2(ADM) описывает другие за-
писи, запускаемые rc2.

                       - 3-13 -

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

    S00SYSINIT         запуск генератора сообщений ядра
      V
    S01MOUNTFSYS       монтировать файловую систему, заданную
      V                в /etc/default/filesys
    S03RECOVERY        приборка сессии редактирования vi после
      V                краха
    S04CLEAN           ]
      V                 удалить временные файлы
    S05RMTMPFILES      ]
      V
    S15HWDNLOAD        загрузка аппаратуры
      V
    S16KERNINIT        запуск сети, mapkey, распределение про-
      V                цессов, инициализация другого ядра
    S20setup           распечатать конфигурацию системы и
      V                генерировать /etc/systemid
    S21perf            расчет системы
      V
    S70uucp            очистка файлов блокировки UUCP
      V
    S75cron            запуск процесса-демона ,обслуживания
      V                cron
    S80lp              запуск утилит lpshed и сети
      V
    S97USRDAEMON       старт демона пользователя
      V
    S88USRDEFINE       команды, определяемые пользователем,
      V                выполняемые после загрузки
    S90RESERVED        вывод почты fsck, сохраненный во вре-
                       мя автозагрузки в корне.

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

                       - 3-14 -

    1. Создайте запись, которая выполняет нужную функцию.
    2. Назовите файл так,  что он начнется с буквы S и двух-
       цифрового числа, означающего порядок, в котором он
       должен быть выполнен относительно других файлов ката-
       лога и заканчиваться именем, которое описывает функции
       записи (например, S03RECOVERY управляет восстановлени-
       ем после  краха и выполняется после записи,  начинаю-
       щейся с S02 и перед записью с номером S04.) Вы должны
       следовать этому соглашению для надежности выполнения
       этой записи в нужное время.
    3. Скоприруйте запись в каталог /etc/rc2.d для того, что-
       бы она исполнилась файлом rc2.
    Если функция, которую вам нужно добавить, той же катего-
рии, что  и  функции,  выполняемые записью в /etc/rc2.d,  то
просто отредактируйте существующую запись с вводом в нее но-
вой функции.  Нам, вы можете добавить функцию, соответствую-
щую UUCP в файл S70uucp.

      Изменение файлов .profile и .login

    Эти файлы содержат команды, которые инициализируют среду
для каждого   пользователя.  Для  пользователей,  обладающих
стандартной командной оболочкой /bin/sh, файл .profile нахо-
дится в их домашних каталогах.  Если пользователь использует
С-оболочку /bin/csh,  они должны иметь файл .login  в  своих
домашних каталогах.  (В  зависимости от оболочки входа можно
применять другие файлы.) Команды в этих  файлах  выполняются
независимо от того, где вошел пользователь. Файлы обычно со-
держат команды,  которые устанавливают различные  переменные
системы (то есть,  TERM,  PATH,  MAIL).  Эти переменные дают
системе такую информацию как тип терминала,  где искать  за-
пускаемые пользователем программы,  где просматривать почто-
вый ящик пользователя,  какие клавиши предполагать для функ-
ций kill и backspace,  и так далее (смотри главы об оболочке
и Си-оболочке в User's Guide).
    Для каждого бюджета пользователя есть один файл .profile
или .login.  Эти файлы размещены в домашнем каталоге пользо-
вателя при создании его бюджета.  Обычный пользователь может
модифицировать свой собственный файл .profile или .login или
позволить менеджеру системы делать нужные модификации. В лю-
бом случае файл можно  редактировать  как  любой  текстовый.
Внем можно добавлять или удалять команды.

                       - 3-15 -

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

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

0

5

- 4-1 -

     ВВЕДЕНИЕ

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

     ЧТО ТАКОЕ ФАЙЛОВАЯ СИСТЕМА?

     Файловая система - это раздел операционной системы, состоя-
щий из файлов, каталогов и информации, необходимой для их поиска
и доступа к ним. Файловую систему можно представить как структу-
ру, на основе которой строятся каталоги и файлы.
     В каждой системе UNIX существует по крайней мере одна  фай-
ловая система - на первичном жестком диске. Эта файловая система
называется корневой и обозначается символом "/". В корневой фай-
ловой системе содержатся программы и каталоги, составляющие опе-
рационную систему.  На малых жестких дисках в корневую  файловую
систему также  включаются  все пользовательские каталоги.  Кроме
того, первичный жесткий диск можно разделить на несколько файло-
вых систем,  как описано в главе "Процедура установки" документа
Installation Guide; одним из самых общеупотребительных  разделов
является файловая  система  /u,   используемая  для изолирования
пользовательских бюджетов от корневой файловой системы.   (Более
подробно об этих файловых системах см. раздел "Планирование ком-
поновки диска"   в   главе   "Процедура   установки"   документа
Installation Guide.)
     Система UNIX может иметь и другие файловые системы,  содер-
жащие специальные  каталоги  и  прикладные программы.  Разбиение
первичного жесткого диска на несколько файловых систем проводит-
ся для защиты данных и облегчения сопровождения.  Дальнейшее до-
бавление файловых систем путем включения дополнительных  жестких
дисков приводит к расширению пространства памяти системы.  Адми-
нистратор системы может создавать новые файловые системы,  а за-
тем по  мере необходимости "подсоединять" их к системе (монтиро-
вать) и "отсоединять" (демонтировать),  - таким же образом,  как
осуществляется доступ к гибкому диску.  В следующем разделе опи-
сывается, как добавлять новую файловую систему и,   если  нужно,
перемещать пользовательские бюджеты на новый диск. Это не затра-
гивает текущую конфигурацию первичного жесткого диска.  (О  том,
как изменять  текущую  организацию  файловых систем на первичном
жестком диске,  см. раздел "Изменение/добавление файловых систем
на первичном жестком диске".)
.
                            - 4-3 -

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

     Для подсоединения и отсоединения файловой системы использу-
ется команда mount(ADM). Нужно задавать тип монтируемой файловой
системы. Например, чтобы смонтировать или демонтировать /dev/u в
файловой системе /u, следует использовать соответственно следую-
щие команды:

     mount /dev/u /u

@ Пользователи sysadmsh выбирают Filesystems->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

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

     df -v

.
                            - 4-8 -

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

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

     wall

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

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

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

         Ъ2du directory

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

     du /usr/johnd

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

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

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

     quot specialfile

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

     quot /dev/hdl

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

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

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

        Ъ2mail login-name

и нажмите <Return>. В качестве login-name должно быть задано ре-
гистрационное имя получателя.  Чтобы послать сообщение,  введите
его, нажмите  <Return>  и  затем нажмите <CTL>d.  Если сообщение
состоит более чем из одной строки,  в конце каждой строки  нажи-
майте <Return>. Команда 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

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

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

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

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

и нажмите <Return>.
.
                            - 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

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

+--------------------------------------------------------------
|  ** 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)
|  <Return>
|  001002:      000000 (0)
|  <Return>
|  001004:      070332 (28890)
|

(Клавиша <Return> используется для перехода от одного значения в
суперблоке к  другому.)  Выводятся следующие величины:  адрес (в
восьмеричном виде), записанное по этому адресу значение (также в
восьмеричном виде) и его десятичный эквивалент (в скобках). Убе-
диться в том, что вы находитесь в нужном месте суперблока, можно
следующим образом:   третья  выведенная на экран величина (после
второго нажатия клавиши <Return>)  - 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). Значение,  хранящееся по заданному адресу, также выво-
дится в восьмеричном виде (в скобках дается  десятичный  эквива-
лент).
     Введя адрес в виде слова,  можете нажимать <Return>,  чтобы
продвигаться в суперблоке каждый раз на одно слово.

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

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

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

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

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

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

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

+--------------------------------------------------------------
|  002002:      000000 (0)
|  <Return>
|  002004:      000000 (0)
|  =3889
|  002004:      007461 (3889)
|  q
|
     Когда fsdb выдаст подтверждение на запрошенное вами измене-
ние, выйдите  из fsdb.  Теперь снова можно попробовать выполнить
fsck.
                            - 4-26 -
     Замечание
     Перед изменением  isize  не  забудьте  выполнить вычисления
(деление на 16 и прибавление 2) для величины ISIZE, выданной ко-
мандой fsdb  во время нормальной работы системы.  В случае fsize
используйте значение FSIZE,  выданное fsdb при нормальной работе
системы, без каких-либо вычислений.

0

6

Глава 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).

0

7

- 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)

0

8

- 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.  Далее следует краткое описание каждой из этих
баз данных.

0

9

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

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

     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

0

10

ГЛАВА 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",
чтобы программа узнала, что том смонтирован, и нажмите <Return>.
     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 <RETURN> to continue or 'q' to exit
|            (Достигнут конец тома при выводе
|             Вставьте том 2 и нажмите <RETURN>, чтобы продолжить,
|              или 'q', чтобы закончить)
|
+---------------------------------------------------------------
| Please insert new volume, then press <RETURN>
|            (Пожалуйста, вставьте новый том и нажмите <RETURN>)
|
.
                            - 6-13 -

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

     Снимите том  с  накопителя,   вставьте  новый   и   нажмите
<Return>. Программа  продолжит  копирование файлов на новый том.
Повторяйте этот пункт до тех пор, пока программа не выдаст сооб-
щение
+---------------------------------------------------------------
| 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 <F3> 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 <Return> to backup the filesystem or <ESC> to  ||
||       abandon                                              ||
||                                                            ||
||                       [Archive]                            ||
||                                                            ||
|+------------------------------------------------------------+|
|                                                              |
|                                               Вне расписания |
| Нажмите <F3>, чтобы выбрать файловую систему из списка       |
|                  Архив файловых систем                       |
|     Файловая система, вносимая в архив:   [   ]              |
|     Носитель:                             [   ]              |
|     Размер блока в байтах:                [512]              |
|     Форматировать дискету:                [Да] [Нет]         |
|     Нажмите <Return>, чтобы сделать резервную копию          |
|      файловой системы, или <ESC>, если не хотите делать      |
|                         [Архив]                              |
|                                                              |
+--------------------------------------------------------------+

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

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

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

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

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

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

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

0

11

- 6-16 -

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

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

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

     Backups->Integrity

+--------------------------------------------------------------+
|                                                    Integrity |
| Press ?<Return> 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 <Return> to check the integrity of the backup  ||
||       or <ESC> to abandon                                  ||
||                                                            ||
||                    [Check Integrity]                       ||
||                                                            ||
|+------------------------------------------------------------+|
|                                                              |
| Нажмите ?<Return> для получения списка доступных носителей   |
|          Проверка целостности резервной копии                |
|     Носитель:                        [_       ]              |
|     Размер блока в байтах:           [512  ]                 |
|     Нажмите <Return>, чтобы проверить целостность копии,     |
|      или <ESC>, если этого не надо делать                    |
|                   [Проверка целостности]                     |
|                                                              |
+--------------------------------------------------------------+

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

                            - 6-18 -

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

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

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

          Backups->View

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

+--------------------------------------------------------------+
|                                                        View  |
| Press <F3> 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 <Return> to view the contents of the backup    ||
||       or <ESC> to abandon                                  ||
||                                                            ||
||                          [View]                            ||
||                                                            ||
|+------------------------------------------------------------+|
|                                                              |
|                                                   Просмотр   |
| Нажмите <F3> для выбора доступного носителя из списка        |
|              Содержимое резервной копии                      |
|     Носитель:                        [_       ]              |
|     Размер блока в байтах:           [512  ]                 |
|     Нажмите <Return>, чтобы просмотреть резервную копию,     |
|      или <ESC>, если этого не надо делать                    |
|                      [Просмотр]                              |
|                                                              |
+--------------------------------------------------------------+

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

+--------------------------------------------------------------+
|                                                        View  |
|          <esc> to exit, movement keys are active             |
|           (Для выхода нажмите <esc>, клавиши курсора активны)|
|                                                              |
|  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  |
|          <esc> 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 <F3> 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 <Return> to restore the file or <ESC> to       ||
||       abandon                                              ||
||                                                            ||
||                       [Restore]                            ||
||                                                            ||
|+------------------------------------------------------------+|
|                                                              |
|                                                   Частичное  |
| Нажмите <F3> для получения списка доступных носителей        |
|              Восстановление файла                            |
|     Носитель:                        [        ]              |
|     Восстанавливаемый файл:          [        ]              |
|     Каталог для восстановленного файла: [     ]              |
|     Размер блока в байтах:           [512  ]                 |
|     Нажмите <Return>, чтобы восстановить файл, или <ESC>,    |
|      если этого не надо делать                               |
|                [Восстановление]                              |
|                                                              |
+--------------------------------------------------------------+

     3. Сначала  нажмите  <F3>,   чтобы  выбрать тип носителя из
предложенного списка.  После того, как носитель выбран, появится
окно для подтверждения готовности накопителя:

     +-------------------------------------------------------+
     |    Please make sure the media is in the drive and     |
     |               the drive is on line.                   |
     |                                                       |
     | Press <Return> to format the disc or <ESC> to abandon |
     +-------------------------------------------------------+
         (Пожалуйста, убедитесь, что носитель в дисководе и
           дисковод в системе.
          Нажмите <Return>, чтобы отформатировать диск, или
           <ESC>, если этого делать не нужно)

     4. Загрузите том 1 резервного комплекта в накопитель и наж-
мите <Return>.  Когда этот запрос будет удовлетворен,  вы верне-
тесь в меню Restore File (Восстановление файла).  Теперь введите
имя файла,   затем  нажмите  <Return>,   чтобы  перейти  в  поле
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: В архиве идет поиск задан-
ных файлов, и после того, как очередной файл восстановлен в ука-
занное место на жестком диске,  на экране появляется его имя.  В
случае необходимости поступают приглашения сменить том.  Если вы
знаете все файлы, которые вы хотите восстановить, вы можете вый-
ти из среды восстановления,  нажав клавишу <DEL>. (Программа бу-
дет продолжать поиск до конца резервной копии.)
     7. Если вы используете том xbackup: Загрузите том 1 резерв-
ного комплекта в накопитель и нажмите <Return>. Программа выдаст
номера индексных дескрипторов файлов,  которые вы задали, и приг-
ласит ввести номер тома:

+--------------------------------------------------------------+
|  file(s):  inode nn              (Файл(ы): дескриптор...)    |
|                                                              |
|  Mount desired dump volume: Specify volume #:                |
|        (Смонтируйте нужный том дампа. Задайте номер тома:)   |
|                                                              |
                            - 6-24 -

     Введите "1" и нажмите <Return>. Программа просматривает том
в поисках  заданных  файлов и помещает копии в заданные места на
жестком диске.
     Программа выдает приглашения на номер тома до тех пор, пока
не будут найдены все файлы. После этого вы увидите

+--------------------------------------------------------------+
|  Extract file filename                 (Извлечь файл ...)    |
|                                                              |

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

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

     Восстановление всей файловой системы с резервной копии cpio
выполнить легче,  чем с копии xbackup. Нет необходимости переде-
лывать файловую систему,  так как копия cpio является  не "обра-
зом" файловой  системы,   а  совокупностью скопированных файлов.
Кроме того,  cpio можно использовать для восстановления корневой
файловой системы.   Она  тоже записывает поверх файлов,  имеющих
версии в резервной копии,  но файлы,  отсутствующие в  резервной
копии, останутся нетронутыми.
     Для восстановления файловой системы с резервной копии  cpio
выполните следующее.
     1. Вставьте первый том и выберите в sysadmsh:

     Backups->Restore->Full

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

+--------------------------------------------------------------+
|                                                        Full  |
| Press <F3> 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 <Return> to restore the filesystem or <ESC> to ||
||       abandon                                              ||
||                                                            ||
||                       [Restore]                            ||
||                                                            ||
|+------------------------------------------------------------+|
|                                                              |
|                                                      Полное  |
| Нажмите <F3> для выбора файловой системы из списка           |
|              Восстановление файловой системы                 |
|     Восстанавливаемая файловая система: [        ]           |
|     Носитель:                           [        ]           |
|     Размер блока в байтах:              [512  ]              |
|     Нажмите <Return>, чтобы восстановить файловую систему,   |
|      или <ESC>, если этого не надо делать                    |
|                [Восстановление]                              |
|                                                              |
+--------------------------------------------------------------+
.
                            - 6-26 -

     2. Введите  имя  файловой  системы или нажмите <F3>,  чтобы
выбрать ее из предложенного списка. То же сделать для устройства
с носителем. Вам будет предложено подтвердить выбор.
     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 <RETURN> key. [q]
|
|          (Достигнут конец носителя на вводе.
|           Замените на часть n и нажмите <Return>.  [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 <F3> 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 <Return> to restore the filesystem or <ESC> to ||
||       abandon                                              ||
||                                                            ||
||                       [Restore]                            ||
||                                                            ||
|+------------------------------------------------------------+|
|                                                              |
|                                                      Полное  |
| Нажмите <F3> для выбора файловой системы из списка           |
|              Восстановление файловой системы                 |
|     Восстанавливаемая файловая система: [        ]           |
|     Носитель:                           [        ]           |
|     Размер блока в байтах:              [512  ]              |
|     Нажмите <Return>, чтобы восстановить файловую систему,   |
|      или <ESC>, если этого не надо делать                    |
|                [Восстановление]                              |
|                                                              |
+--------------------------------------------------------------+

     9. Введите  имя  файловой  системы или нажмите <F3>,  чтобы
выбрать ее из предложенного списка. То же сделать для устройства
с носителем. Вам будет предложено подтвердить выбор.
     10. Теперь  на экране появляется актуальная командная стро-
ка, например:

     xrestore fr /dev/frd096ds15 -C 512 /dev/u; /etc/fsck /dev/u

     11. Начните с последней полной копии (уровня 0),   загружая
по порядку тома согласно приглашениям.
     12. Вам дается еще один шанс остановиться:

+---------------------------------------------------------------
|  Last chance before scribbling on /dev/name.
|
     Если вы намерены продолжать,  нажмите <Return>; в противном
случае нажмите <DEL>.
.
                            - 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 покрыла те же файлы.  Единственная информация,  которой
не хватает,   -  что изменилось за четверг до сбоя.  Это главная
причина необходимости дублирования;  восстановление  после  сбоя
пройдет просто и с минимальными потерями.

0

12

Глава 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 выбор пользователя: Система->Завершение
         Появится сообщение   о  загрузке.  По  нажатию  клавиши
         <Return> активизируется перезагрузка системы  и  загру-
         зится новое ядро.
________________________________________________________________
Примечание
     Если  возникнут   проблемы  с  новым  ядром, перезагрузите
/unix.old

0

13

________________________________________________________________
     Глава 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 -

        Выберите категорию  с помощью ввода соответствующего но-
        мера. Тогда на экране отобразятся один за другим ресурсы
        этой категории,  каждый со своим текущим значением. Вве-
        дите новое значение для этого ресурса или  оставьте  его
        текущее значение простым нажатием клавиши <Return>. Пос-
        ле того как будут отображены все ресурсы выбранной кате-
        гории,  утилита 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.

0

14

- 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

0

15

- 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    |   -       |
+------------+-------+---------+---------+---------+-----------+

0

16

Глава 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 формирует  таблицу  текущего  состояния
разделов ( опция отображения таблицы разделов). Эта опция указы-
вает для каждого раздела его активность,  первый трек, последний
трек, число  используемых  треков и соответствующую операционную
систему. Если Вы выберите эту опцию и нажмете  клавишу <Return>,
то результат будет выглядеть следующим образом :
+----------------------------------------------------------------
|    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, удалите дискету
        из дисковода и нажмите клавиши <CTRL><Alt><Del>, или
        кнопку <Reset>,  или выключите,  а затем включите компь-
        ютер.
     Запомните, что  активный  раздел - раздел UNIX,  а когда Вы
загружаете систему с дискеты Вы можете перейти на диск С: для того,
чтобы работать с файлами DOS.
     Другой путь сменить операционную систему - запустить утили-
ту  fdisk  и  установить  неактивность раздела UNIX и активность
раздела DOS. Затем, после того как Вы разгрузите текущую систему
(см.  выше) DOS загрузится с жесткого диска. Вы не должны в этом
случае ставить на дисковод загрузочную дискету  DOS,  так как DOS
помещен в раздел DOS на жесткий диск.
     Чтобы переключится  обратно  на  систему  UNIX,   запустите
fdisk под системой DOS,  и сделайте активным раздел UNIX.  Чтобы
перезагрузиться из     раздела     UNIX,     нажмите     клавиши
<CTRL><Alt><Del>, или  кнопку  <Reset>,  или выключите,  а затем
включите компьютер.
     Так как  раздел  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,  поставляемых производителем жесткого диска,
может сделать  неиспользуемыми   характеристики   нестандартного
жесткого диска,  что может привести к тому,  что Ваш диск нельзя
будет использовать.

0

17

Глава 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. Если Вы хотите изменить значения, принимаемые по умолча-
        нию, выберите "Да" и определите поля как показано в "Из-
        менении значений,  принимаемых по умолчанию, для пользо-
        вателя".  Заполните необходимые  поля;  нажмите  клавишу
        <F3> для выбора значений из списка элементов меню. Когда
        Вы нажмете клавишу <Enter>,  поле заполнится  значением,
        которое Вы выбрали.
     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",  на экране  появляется  следующая
        информация:
+---------------------------------------------------------------
|    Генерация случайного удобного пароля для пользователя.
|    Этот пароль вместе со своей дополнительной  версией,  напи-
|    санной через дефис, отображены на экране.
|    Нажимайте <Return> или <Enter>  пока  Вас  не  удовлетворит
|    сгенерированный пароль.
|    Когда Вы выберите пароль, который Вы хотите, наберите его.
|    Примечание: Нажмите  символ прерывания или '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,             |||
||| (группа входа    <F3> for list:                          |||
|||   в систему) (Укажите значение, значение по умолчанию,   |||
|||               или <F3>  для получения спиcка:)           |||
|||   Groups:         [...                      ]            |||
|||  (группы)                                                |||
|||  Login shell:    Specify [Default] of sh value,          |||
|||  (среда для       <F3> for list:                         |||
|||   входа)         (Укажите значения среды, по умолчанию sh,||
|||                  <F3> для получения списка:)             |||
|||  Home directory: Specify [Default] of /usr/sample value, |||
||| (собственный     <F3> for list:                          |||
|||  каталог)       (Укажите имя, по умолчанию /usr/sample,  |||
|||                 <F3> для получения списка:)              |||
|||  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,   |||
||| (тип пользова-  <F3> for list:                           |||
|||  теля)         (Укажите значение, по умолчанию - индивидуум|
|||                <F3> для получения списка:)               |||
|||                                                          |||
|||  Account that may su(C) tо this user:                    |||
|||  (Учетная информация может быть su(c) для этого          |||
|++   пользователя).                                         ++|
+-+                                                          +-+
  +----------------------------------------------------------+

                                  - 10-6a -

     Вначале курсор установлен на поле "Login group(группа входа
в систему)".  Некоторые отображаемые поля могут быть модифициро-
ваны  только  в  момент создания - в режиме Modify (Изменения),
эти поля являются информационными; их значение нельзя менять.

   Login group (группа входа в систему)
     Группа связанная с конкретной учетной информацией,  с кото-
     рыми  пользователь  входит в систему.  Это поле можно изме-
     нять,  но оно может и быть пустым.  Оно станет полем группы
     для конкретного пользователя в /etc/pesswd. Нажатие клавиши
     <F3> приводит к отображению списка меню из  существующих  в
     настоящее время в системе групп.  Заметим, что это приведет
     к потере предыдущего значения этого поля,  даже если ничего
     не выбрано из меню.
     Если пользователь в настоящее время не является членом выб-
     ранной группы, то пользователь будет добавлен в эту группу
     и на экране в поле "Группа" появится конкретное значение.
     Пользователь не может быть удален из уже существующей груп-
     пы;  удаляя пользователя из  группы,  администратор  должен
     удалить  эту группу из поля "Группа".  Когда выбрано первое
     имя группы,  открывается другое окно в середине экрана; это
     окно остается открытым, таким образом можно ввести несколь-
     ко групп. Для каждой несуществующей группы отображается вы-
     деленный прямоугольник, что запрашивает создание этой груп-
     пы.  Когда Вы закончите ввод групп,  нажмите <Return> чтобы
     переместиться дальше.

                                  - 10-7 -

   Groups (группы)
     Список групп,  членами  которых является пользователь;  это
     поле не является заполняемым.  В нем отображаются  дополни-
     тельные  группы,  введенные в окне,  открытом полем "Группа
     входа".
   Login shell (cреда входа)
     Cреда, которую использует пользователь.  (Значение по умол-
     чанию определено как /etc/default/authsh). Если указан пол-
     ный путь ("bin/sh"),  то среда, описанная этим путем просто
     используется как среда входа в систему пользователя. Однако,
     если среда указана не как путь (как  "sh")  то  принимается
     имя "предварительно определенной среды",  среды, определен-
     ной в подкаталоге каталога  /usr/lib/mkuser.  Выбор пред-
     варительно  определенной  среды приводит к копированию фай-
     лов,  связанных со средой (например:  .profile для "sh"), в
     собственный  пользовательский  каталог,  когда создается
     учетной информации этого пользователя.
   Home directory (собственный каталог)
     Это поле определяет,  где будут размещаться файлы пользова-
     теля.  Нажмите <F3> для того, чтобы получить место располо-
     жение файлов по умолчанию.
   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  это  поле пустое,  но для пользователя с
     другим типом оно может и не быть пустым.  Это поле содержит
     имя  пользователя  с индивидуальной учетной информацией (не
     удаленной). Например основной пользователь должен иметь имя
     пользователя,  который отвечает по этой учетной информации.
     Это значит,  что учетная информация не должна быть  аноним-
     ной; каждый  комплект  учетной информации должен определять
     реальную личность.  Нажмите <F3> чтобы получить список меню
     всех индивидуальных пользователей системы.

                                  - 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                  |||
|||         <F3> will list thos which may                   |||
|||         be selected                                     |||
|||      (Когда указываете права нажатие клавиши <F3>       |||
|||       приведет к отображению меню пользователей,        |||
++|       которые могут быть выбраны)                       |++
  ++                                                         ++
   +---------------------------------------------------------+

                                  - 10-9 -

     Вы можете  выбрать "указать" и нажать <F3> для того,  чтобы
открыть окно со списком доступных прав

________________________________________________________________
Примечание
     Если Вы перейдете с элемента по умолчанию на указание, зна-
чения, принимаемые по умолчанию разрушатся для этого пользовате-
ля;  и только права, которые Вы укажите, станут действительными.
________________________________________________________________

     Удаление учетной информации пользователя

     На самом деле,  пользователь никогда не удаляется из систе-
мы. Некоторый идентификатор однажды назначенный никогда не может
использоваться   снова.  Вместо  этого,пользователю  назначается
"удаленный", или пользователь удаляется из обслуживания. Для то-
го, чтобы вычеркнуть учетную информацию пользователя, осуществи-
те следующий выбор в 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     |
|(<F3>  for list) (Группа соответствующая этой учетной ин-     |
|формации,  когда пользователь вошел в систему  (<F3>  для     |
|получения списка))                                            |
|  +--------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(никогда)". Вы можете использовать кла-
вишу <F3> для выбора из списка значений или сами  набрать  вруч-
ную. Аббревиатура также распознается системой (например, "n","nev"
и "N" распознается как NEVER). Для того, чтобы выполнить это наз-
начение,  нажмите <CTL>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     |                |
+-----------------------------+---------------+----------------+
* Типы событий описаны в главе  "Поддержка системной защиты

0

18

- 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 <Return>  to  continue,  or <Escape> to abort|
     |(Нажмите <Return> для продолжения, или <Escape> для|
     |прерывания )                                       |
     +---------------------------------------------------+

                                  - 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 (<F3> for list) (систем-||
  || ные права доступа,  принимаемые по умолчанию, (<F3>-для||
  || получения списка))                                     ||
  ||                                                        ||
  || Kernel:                        Subsystem:   [...      ]||
  ||(для ядра)+----------+         (для подсистем)          ||
  ||          |chmodsugid|                                  ||
  ||          |chown     |                                  ||
  ||          |execsuid  |                                  ||
  |+----------+nopromain +----------------------------------+|
  |           +----------+                                   |
  +----------------------------------------------------------+

     Используйте клавишу <F3> для получения открывающегося окна,
которое содержит  список  наборов прав доступа.  Они описываются
ниже.

                                 - 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

0

19

Глава 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ажмите
клавишу <Return>.

    3. Далее для включения в конфигуpацию модема введите следу-
ющие ниже команды.  Они будут хpаниться в энеpгонезависимой па-
мяти модема.  Если вы не  хотите  сохpанять  данные  настpойки,
последнюю команду (AT&W) не вводите.  Спpава указывается назва-
ние команды, а слева кpаткое ее описание. После ввода каждой из
этих команд необходимо нажимать клавишу <Return>.

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оизводится с помощью знака тильды и точки и
нажатия клавиши <Return>.(Иногда необходимо пеpед вводом тильды
и точки один pаз нажимать клавишу <Return>.)
     После этого модем наст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.

0

20

- 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едачи или <CTL>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\ $ <K\T%%\r>\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 $<K\T%%\r>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 $ <K\T%%\r>\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азом:

0


Вы здесь » Международный форум городов мира » Компьютеры, Интернет, Хакеры » Пособие администратора системы UNIX


Рейтинг форумов | Создать форум бесплатно