Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OS.DOC
Скачиваний:
18
Добавлен:
28.10.2018
Размер:
653.82 Кб
Скачать
  1. Многопользовательская защита в unix

Поскольку UNIX изначально является не только многозадачной, но и многопользовательской ОС (в отличие, скажем, от Windows NT или OS/2), то вопросам многопользовательской защиты в UNIX всегда уделялось достаточно большое внимание.

    1. Идентификаторы пользователя и группы

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

Когда пользователь входит в систему, отыскивается строка в учетном файле /etc/passwd. Если поле пароля пусто, пароль не запрашивается.

С каждым процессом связаны два идентификатора: 1) идентификатор пользователя и 2) идентификатор группы. Обычно команды, вводимые с клавиатуры подключенного терминала, интерпретируются командным интерпретатором Shell, который получит эти идентификаторы от пользователя после его регистрации в системе. Порожденный процесс наследует эти два идентификатора от породившего.

С каждым файлом также связаны два идентификатора: пользователя и группы. Файл наследует их от процесса, который его создал. Пользователь и группа, идентификаторы которых связаны с файлом, считаются его владельцами. Можно изменить владельца файла с помощью команд chown, chgrp. Идентификаторы файла определяют права доступа к нему.

Могут существовать 3 категории:

1. владелец файла (процесс, у которого идентификатор пользователя совпадает с идентификатором владельца файла);

2. члены группы (процессы, у которых идентификатор группы совпадает с идентификатором группы, к которой файл принадлежит);

3. прочие - все остальные процессы.

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

    1. Код защиты файла

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

Код защиты - это слово в индексном дескрипторе файла с установленными единичными значениями битов:

000200 - запись владельцу;

000100 - выполнение владельцу;

000040 - чтение членам группы;

000020 - запись членам группы;

000010 - выполнение членам группы;

000004 - чтение прочим пользователям;

000002 - запись прочим пользователям;

000001 - выполнение прочим пользователям.

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

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

    1. Привилегированный пользователь

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

Независимо от кода защиты файла, привилегированный пользователь имеет доступ ко всем файлам в системе. Обычно в учетном файле пользователей в /etc/passwd имеется привилегированный пользователь с именем root. Как правило, его применяет системный программист, отвечающий за сохранность системы и выполняющий функции администратора.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]