Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС.docx
Скачиваний:
2
Добавлен:
22.09.2019
Размер:
471.16 Кб
Скачать
  1. Защита данных в операционных системах. Управление правами доступа к файлам.

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

Современные процессоры, как правило, поддерживают объединение адресного пространства в области переменного размера — сегменты и области фиксированного размера — страницы.

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

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

Атрибуты защиты файла определяют права доступа трем видам процессов: процессам пользователя - владельца файла (u - user), процессам группы владельца файла (g - group) и процессам остальных пользователей (o - other), не попавших ни в одну из двух предыдущих категорий. Код атрибутов прав доступа пользователей трех перечисленных категорий для каждого файла отображается в полном листинге каталога символьным кодом в виде комбинации следующих символов:

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

w - модификация не путать с удалением (хотя можно сделать его нулевой длины), для каталога - (работает тоже совместно с x) - если есть, то можно каталог модифицировать (создание/удаление файлов);

x - разрешение выполнения файла (совместно с - r), для каталога - возможность работы с каталогом (получить значение inode, атрибутов файлов: список имён файлов получить не можем, но зная наверняка, что какой-то файл там есть можем ввести ls -l "имя файла". Так можно проверить есть ли такой конкретно файл в каталоге.) Для получения доступа к файлу помимо прав на файл нужно иметь права x на всю цепочку подкаталогов до этого файла (чтобы пройти через/в каталог нужно иметь право х).

Для изменения значений кодов защиты только указанных в команде файлов служит команда: $ chmod <коды защиты> <список_файлов>

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

rw-rw-rw- - для файла;

rwxrwxrwx - для каталога.

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

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

Кстати если нет права x на каталог, в котором лежит желанный файл, то его владелец не может поменять ему (файлу) права доступа.

Стандартные значения кодов прав доступа устанавливает администратор системы. Однако пользователь в rsh может изменить временно (до конца сеанса работы) значение кода для всех своих новых файлов с помощью команды:

$ umask [-ключ] <режим-доступа>

-S -выводит на экран текущие символьные значения кодов

без ключа - команда выводит числовое значение маски.

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

$ chown нов_владелец имя_файла – владелец передает права владения данным файлом другому пользователю или группе.

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