Перейти к содержимому. | Перейти к навигации

Персональные инструменты
Вход Регистрация
Вы здесь: Главная РУБРИКАТОР Безопасность операционных систем семейства UNIX Средства разграничения доступа ОС Solaris 7
Protectiva Compliance Manager
Навигация
 

Средства разграничения доступа ОС Solaris 7

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

Требования, предъявляемые к средствам разграничения доступа

Согласно Профилю защиты CS2 к средствам разграничения доступа ОС Solaris предъявляются следующие группы требований:

Требования к средствам разграничения доступа на уровне файлов

Контроль доступа субъектов к объектам

1.     КСЗ должен содержать функции разграничения доступа, поддерживающие списки контроля достура, которые определяют правила разграничения доступа для:

  • субъектов доступа, действующих от лица пользователей;
  • объектов доступа;
  • операций чтения, записи и выполнения между субъектами и объектами доступа.

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

1.     КСЗ должен осуществлять контроль доступа к объектам на основе значений следующих атрибутов субъектов доступа:

  • идентификатор пользователя;
  • идентификаторы групп, членом которых является пользователь.

Уточнение:

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

2.     К правилам разграничения доступа предъявляются следующие требования:

  • Должна присутствовать возможность разрешения или запрещения отдельных видов доступа для отдельных пользователей и групп.
  • Должны быть определены по крайней мере два вида доступа, эквивалентные чтению и записи.
  • Должна присутствовать возможность разрешения или запрещения доступа для всех пользователей, для которых они явным образом не определены.
  • Правила разграничения доступа должны применяться в соответствии с их приоритетами, согласно следующему списку правил, расположенных в порядке убывания приоритетов.
    • Запрещение данного вида доступа для данного пользователя;
    • Разрешение данного вида доступа для данного пользователя;
    • Запрещение данного вида доступа для данной группы доступа;
    • Разрешение данного вида доступа для данной группы доступа;
    • Запрещение данного вида доступа для всех остальных пользователей;
    • Разрешение данного вида доступа для всех остальных пользователей;
    • Запрещение данного вида доступа в противном случае.

3.     КСЗ должен предоставлять функции безопасности, позволяющие предоставлять доступ на основе значений атрибутов безопасности субъектов и объектов доступа.

4.     КСЗ должен предоставлять функции безопасности, позволяющие запрещать доступ на основе значений атрибутов безопансности субъектов и объектов доступа.

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

1.     Атрибутам безопасности должны по-умолчанию назначаться значения, ограничивающие доступ субъектов к объектам.

2.     Должна существовать возможность изменения атрибутов доступа, назначаемых объекту при его создании.

3.     Право изменения значений этих атрибутов доступа должно предоставляться только администратору безопасности.

4.     Авторизованным пользователям, также должна предоставляться возможность изменения своих атрибутов безопасности.

Уточнение:

Пользователи должны иметь возможность изменять атрибуты доступа принадлежащих им объектов.

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

1.     Авторизованные пользователи должны иметь возможность изменять права доступа к объектам.

Уточнение:

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

Просмотр атрибутов безопасности пользователей

1.     Авторизованные пользователи должны иметь возможность просматривать следующие атрибуты безопасности:

  • идентификатор пользователя;
  • идентификатор группы;
  • принадлежность пользователя группе;
  • отдельные элементы списка контроля доступа (идентификатор пользователя и группы, вид доступа, право доступа).

Требования к средствам разграничения доступа системного уровня

Блокирование сеанса работы пользователя, инициируемое КСЗ

1.     КСЗ должен блокировать сеанс работы пользователя после заданного периода неактивности пользователя путем:

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

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

3.     Для разблокирования сеанса работы пользователя требуется проведение его аутентификации.

Блокирование сеанса работы, инициируемое пользователем

1.     Должна быть предоставлена возможность блокирования сеанса работы пользователя им самим путем:

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

2.     Для разблокирования сеанса работы пользователя требуется проведение его аутентификации.

Завершение сеанса работы пользователя по инициативе КСЗ

1.     Интерактивный сеанс работы пользователя должен завершаться по истечении заданного периода неактивности по инициативе КСЗ.

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

Настраиваемые извещения при получении доступа к ОС

1.     При входе пользователя в систему на экран должно выводиться предупреждающее сообщение о недопустимости и последствиях несанкционированного доступа к системным ресурсам.

2.     Право изменения текста предупреждающего сообщения должно быть предоставлено только администратору.

История входа в систему

1.     После успешного входа пользователя в систему КСЗ должен выводить на экран дату и время последней удачной попытки входа этого пользователя в систему, способ входа (локальная или удаленная регистрация) и имя терминала, с которого осуществлялся вход.

2.     После успешного входа пользователя в систему КСЗ должен выводить на экран дату и время последней неудачной попытки входа этого пользователя в систему, способ входа (локальная или удаленная регистрация), имя терминала, с которого осуществлялся вход и количество неудачных попыток входа, начиная с последней удачной попытки.

3.     Определенные в предыдущих требованиях данные не могут быть удалены без вмешательства пользователя.

Ограничение входа в систему

1.     Должна существовать возможность ограничения входа в систему в зависимости от дня недели и времени суток.

Уточнение:

1.     Администратор должен иметь возможность определять порядок доступа к системе в зависимости от времени суток, дня недели и любой календарной даты.

2.     Должна существовать возможность ограничения входа в систему в зависимости от точки входа.

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

4.     Условия, ограничивающие вход в систему, должны задаваться только администратором.

Временные ограничения при авторизации

1.     Администратор может устанавливать время истечения действия пользовательских паролей.

2.     По истечении срока действия пользовательских паролей бюджеты пользователей должны блокироваться.

Уточнение:

1.     Должно поддерживаться старение паролей для пользователей, групп или ролей (пользователь должен будет сменить пароль по истечении установленного интервала времени).

2.     По окончании срока действия пароля, он становиться недействительным.

3.     Должен существовать защищенный механизм для предупреждения пользователей о скором истечении срока действия их паролей. Это может быть сделано следующими способами:

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

Уровни разграничения доступа

КСЗ ОС Solaris включает в себя средства разграничения доступа трех уровней:

  • стандартные средства разграничения доступа на уровне файловой системы;
  • средства разграничения доступа на уровне системы;
  • средства разграничения доступа на уровне сети.

Стандартные средства разграничения доступа на уровне файлов включают команды ОС, выполняющие следующие функции:

  • просмотр атрибутов доступа файла (каталога, внешнего устройства);
  • смена владельца и группы владельца файла (каталога, внешнего устройства);
  • изменение атрибутов доступа файла (каталога, внешнего устройства);
  • определение, изменение, просмотр и удаление списков контроля доступа (СКД) файлов (каталогов, внешних устройств).

Средства разграничения доступа системного уровня, включают команды ОС, выполняющие следующие функции:

  • получение информации о статусе пользователя;
  • временное блокирование пользовательских бюджетов;
  • средства регистрации неудачных попыток входа в систему;
  • задание паролей для установки удаленных соединений по коммутируемым каналам связи;
  • временное блокирование удаленных пользовательских бюджетов;
  • блокирование удаленного входа в систему в качестве суперпользователя;
  • выявление пользователей использующих команду su;
  • регистрация попыток входа суперпользователя в систему с консоли.

Средства разграничения доступа на уровне файлов

Модель разграничения доступа к файлам

Классы пользователей

Права доступа к файлу определяются для трех классов пользователей:

  • владелец файла или каталога – обычно, это пользователь создавший файл. Владелец файла может устанавливать права доступа к файлу: право на чтение, право на запись и право на выполнение.
  • члены группы владельца.
  • все остальные пользователи, невошедшие в первые два класса.

Права доступа к файлам

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

Таблица 3 Права доступа к файлам

Обозначение

Название

Содержание

r

чтение

Позволяет открывать файл и читать его содержимое

w

запись

Позволяет осуществлять запись в файл (изменять его содержимое), добавлять записи в файл и удалять его.

x

выполнение

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

-

отсутствует

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

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

Права доступа к каталогам

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

Таблица 4 Права доступа к каталогам

Обозначение

Название

Содержание

r

Чтение

Просмотр содержимого каталога

w

Запись

Создание и удаление файлов или ссылок в каталоге

x

Выполнение

Отрытие и выполнение файлов, содержащихся в каталоге. Также разрешается создание вложенных каталогов в текущем каталоге.

Защита файлов находящихся внутри каталога может осуществляться путем запрещения доступа к этому каталогу (и его подкаталогам). Однако суперпользователь имеет доступ ко всем файлам и каталогам имеющимся в системе независимо от установленных прав доступа к ним.

Специальные полномочия для файлов

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

Полномочие setuid

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

Например, установка полномочия setuid для программы passwd позволяет пользователям изменять свои пароли, получая для этого полномочия суперпользователя:

-r-sr-sr-x  1 root sys 10332 May  3 08:23 /usr/bin/passwd

Полномочие setgid

Когда для исполнимого файла установлено полномочие setgid, эффективный идентификатор группы (EGID) для процесса, осуществляющего выполнение этого файла, изменяется на идентификатор группы владельца файла, и пользователь неявно получает полномочия этой группы.

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

Пример установки полномочия setgid для программы /usr/bin/mail:

-r-x--s--x 1 bin  mail 62504 May  3 07:58 /usr/bin/mail

Стики бит (sticky bit)

Стики бит используется для защиты файлов внутри каталога. Если для каталога установлен стики бит, то файлы в этом каталоге могут быть удалены только их владельцем, владельцем каталога или суперпользователем. Это предотвращает удаление пользователями файлов других пользователей из совместно используемых каталогов, таких как /tmp:

drwxrwxrwt 7  sys  sys   517 Mar  6 02:01 tmp

Стандартная маска доступа umask

При создании файла или каталога он получает стандартный набор полномочий. Стандартные полномочия определяются значением переменной umask в системном файле /etc/profile или в пользовательских файлах инициализации .cshrc и .login. По умолчанию, для текстовых файлов устанавливаются права доступа 666, предоставляющие права чтения и записи владельцу файла, группе владельца и всем остальным пользователям, а для каталогов и исполнимых файлов устанавливаются права доступа 777.

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

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

Таблица 5 Значения переменной umask

Уровень безопасности

Значение umask

Отменяемые полномочия

Низкий (744)

022

w для группы и остальных

Средний (740)

027

w для группы и rwx для остальных

Средний (741)

026

w для группы и rw для остальных

Высокий (700)

077

rwx для группы и остальных

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

Просмотр атрибутов файла

Просмотр информации по всем файлам в директории производится командой ls

$ ls –la

Ключи команды:

-l Длинный формат вывода

-a Вывод всех файлов и каталогов в подкаталоге, включая скрытые файл

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

• Тип файла

Возможные варианты

- :  Текст или программа

d :  Каталог

b :  Блок-ориентированый файл устройства

c :  Байт-ориентированный файл устройства

p :  Именованный канал (FIFO)

l :  Символическая ссылка

• Права доступа

• Количество ссылок

• Имя владельца файла

• Группу владельца файла

• Размер файла в байтах

• Дату создания (последнего изменения) файла

• Имя файла

Порядок смены владельца файла (каталога)

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

set rstchown = 0

и произвести перезагрузку системы.

Смена владельца файла (каталога) производится при помощи команды chown.

# chown newowner filename

newowner : Определение имени пользователя или UID  (идентификатора) нового владельца файла (каталога)

filename : Имя файла (каталога)

Порядок смены группы владельца файла (каталога)

Для смены группы владельца файла необходимо получить права администратора системы. По умолчанию владелец файла (каталога) может использовать команду chgrp для смены группы владельца файла. Если данный пользователь принадлежит к группам staff и  sysadm, то группа владельцев файла может принимать только  эти значения.

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

set rstchown = 0

и произвести перезагрузку системы.

Смена группы владельца файла (каталога) производится при помощи команды chgrp.

# chgrp group filename

group : Определение имени группы или UID  (идентификатора) новой группы владельца файла (каталога)

filename : Имя файла (каталога)

Режимы редактирования прав доступа

Команда chmod позволяет пользователю (или администратору системы) задавать и изменять права доступа к  файлам (каталогам). сhmod допускает два режима использования:

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

Символьный метод :  Для редактирования прав доступа используется комбинация букв и символов.

Таблица 6 Задание прав доступа при помощи абсолютного метода

Восьмеричное значение

Права доступа

Краткое описание

0

---

Отсутствие прав доступа

1

--x

Право только на выполнение

2

-w-

Право только на запись

3

-wх

Право на запись и выполнение

4

r--

Право только на чтение

5

r-x

Право на чтение и выполнение

6

Rw-

Право на чтение и запись

7

Rwx

Право на чтение, запись и выполнение

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

Таблица 7 Задание специальных прав доступа при помощи абсолютного метода

Восьмеричное число

Тип специальных прав доступа

1

Маркирующий бит

2

setguid

4

setuid

При использовании символьного метода вся управляющая информация представляется специальными наборами символов. Указатели who, operator, permissions определяют соответственно: субъекта, чьи права доступа изменяются, выполняемую операцию и набор прав доступа.

Таблица 8 Задание прав доступа при помощи символьного метода

Символ

Категория

Описание

U

Who

Пользователь (владелец)

G

Who

Группа владельца

O

Who

Все остальные

A

Who

Все

=

Operation

Присвоение

+

Operation

Добавление

-

Operation

Удаление

R

Permission

Право на чтение

W

Permission

Право на запись

X

Permission

Право на выполнение

L

Permission

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

S

Permission

Выставлены биты setuid или setgid

S

Permission

Бит suid выставлен, бит выполнения пользователем отключен

T

Permission

Маркирующий бит выставлен. Бит выполнения для всех остальных пользователей выставлен.

T

Permission

Маркирующий бит выставлен. Бит выполнения для всех остальных пользователей отключен.

Редактирование прав доступа при помощи  абсолютного метода

Изменение прав доступа к файла (каталогам) может производится только их владельцем или администратором системы. Для этого используется команда chmod

$ chmod nnn filename

nnn : Три восьмеричных цифры, определяющие права доступа для владельца файла, группы владельца и всех остальных.

filename : Определение имени файла (категории)

Редактирование специальных прав доступа при помощи  абсолютного метода

Установка специальных прав доступа к файлам (каталогам) может производится только их владельцем или администратором системы. Для этого используется команда chmod

$ chmod nnnn filename

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

filename :  Определение имени файла (категории)

Использование команды chmod для изменения групповых прав доступа к файлу, имеющему AСL, требует внесения изменений как в описание прав доступа так и в маску ACL. Следует соблюдать осторожность, поскольку маски прав доступа ACL могут изменить действующие права доступа для тех дополнительных пользователей и групп, которые имеют разделы ACL, касающиеся данного файла. 

Редактирование прав доступа при помощи  символьного метода

Изменеие прав доступа к файлу (каталогу) разрешено только владельцу  и администратору системы. Изменение производится при помощи команды chmod:

$ chmod who operator permission filename

who : Определение субъекта, чьи права доступа редактируются

operator : Выполняемые действия

permission : Изменяемые права доступа

filename : Имя файла или директории

Допустимые в данном случае символы приведены в таблице 10.

Списки контроля доступа

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

Списки контроля доступа состоят из записей контроля доступа, которые определяются при помощи команды setfacl. Записи контроля доступа состоят из нескольких полей, разделяемых двоеточием:

entry_type:[uid|gid]:perms

Таблица 9 Структура записи контроля доступа

entry_type

Тип записи контроля доступа (например, user – владелец файла или mask – маска доступа)

uid

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

gid

Имя группы или ее идентификатор

perms

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

В следующем примере для пользователя nathan устанавливаются полномочия по чтению и записи:

user:nathan:rw-

Списки контроля доступа поддерживаются только для файловой системы UFS. Это означает, что в случае копирования файлов, для которых определены списки контроля доступа, в каталог /tmp, к которому обычно монтируется файловая система TMPFS, списки контроля доступа будут потеряны.

Записи контроля доступа для файлов

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

Таблица 10 Записи контроля доступа для файлов

Запись контроля доступа

Описание

u[ser]::perms

Полномочия владельца файла

g[roup]::perms

Полномочия группы владельца файла

o[ther]:perms

Полномочия всех остальных категорий пользователей

m[ask]:perms

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

 

Например, запись mask:r—означает, что пользователи и группы не могут получать другие полномочия, кроме права чтения файла, даже если им были присвоены полномочия записи и выполнения.

u[ser]:uid:perms

Полномочия для конкретного пользователя. В качестве uid может быть задано имя или идентификатор пользователя.

g[roup]:gid:perms

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

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

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

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

Таблица 11 Записи контроля доступа для каталогов

Стандартная запись контроля доступа

Описание

d[efault]:u[ser]::perms

Стандартные полномочия для владельца файла.

d[efault]:g[roup]::perms

Стандартные полномочия для группы владельца файла.

d[efault]:o[ther]:perms

Стандартные полномочия для всех остальных пользователей.

d[efault]:m[ask]:perms

Стандартная маска контроля доступа.

d[efault]:u[ser]:uid:perms

Стандартные полномочия для конкретного пользователя. В качестве uid может быть задано имя или идентификатор пользователя.

d[efault]:g[roup]:gid:perms

Стандартные полномочия для конкретной группы. В качестве gid может быть задано имя или идентификатор группы.

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

Определение списков контроля доступа к файлу производится при помощи команды setfacl

$ setfacl -s user::perms,group::perms,other:perms,
mask:perms,acl_entry_list filename ...

здесь:

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

user::perms  Определение прав доступа  для владельца файла.

group::perms  Определение прав доступа для группы владельца.

other:perms  Определение прав доступа для всех остальных пользователей.

mask:perms  Определение прав доступа для маски. Маска показывает, какие максимальные права доступа разрешены для всех пользователей (не являющихся владельцами файла) и для групп.

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

filename  Файл или каталог, для которого определяется список контроля доступа.

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

$ ls - l filemane

Знак + справа от типа поля типа показывает, что для файла определен список контроля доступа.

Просмотр разделов списка контроля доступа для данного файла производится при помощи команды getfacl

$ getfacl [-a | -d] filename1 ...

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

-d Отображение имени файла, владельца файла, группу владельца файла и текущих разделов списка контроля доступа, относящихся к указанному каталогу

filename... Определяет имя файла или  каталога

Распространение списка контроля доступа одного файла на другой  файл производится через перенаправление вывода команды getfacl

$ getfacl filename1 | setfacl --f - filename2

Здесь file1 - это имя файла, чей список контроля доступа копируется, file2 - имя файла, для которого определяется список контроля доступа.

Внесение изменений в разделы списка контроля доступа, относящиеся к  заданному файлу производится при помощи команды setfacl

$ setfacl -m acl_entry_list filename1 [filename2 ...]

здесь:

-m  Внесение изменений в существующие  разделы списка контроля доступа

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

filename...  Определяет имя файла или  каталога

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

$ setfacl -d acl_entry filename1 ...

здесь:

-d   Стирание указанных разделов списка контроля доступа

acl_entry_list   Перечень разделов в  списке контроля доступа, которые будут стерты. Права доступа не указываются. Стирание разделов производится только для указанных пользователей или групп.

filename...   Определяет имя файла или каталога

Другим способом является использование команды setfacl -s. При этом все разделы списка, относящиеся к файлу стираются и заменяется на указанные.

Полномочия процессов по доступу к системным объектам синхронизации и межпроцессорного взаимодействия

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

Структура ipc_perm, содержащая права доступа к объектам синхронизации и межроцессорного взаимодействия, определяется в заголовочном файле <sys/ipc.h>:

struct ipc_perm

{

   uid_t        uid;       /* ID владельца объекта */

   gid_t        gid;       /* ID группы владельца объекта */

   uid_t        cuid;     /* ID создателя объекта */

   gid_t        cgid;     /* ID группы создателя объекта */

   mode_t    mode;   /* ID режим доступа */

   ulong        seq;       /* порядковый номер */

   key_t        key;       /* ключ */

   long                   pad[4];   /* зарезервированная область */

};

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

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

Таблица 12 Задание прав доступа к объекту

Права доступа

 

Восьмеричное значение

Запись для владельца

0200

Чтение для владельца

0400

Запись/Чтение для владельца

0600

Запись для группы

0020

Чтение для группы

0040

Запись/Чтение для группы

0060

Запись для всех остальных

0002

Чтение для всех остальных

0004

Чтение/запись для всех остальных

0006

Правила разграничения доступа к областям виртуальной памяти

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

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

Механизмы защиты областей виртуальной памяти

Процессор поддерживает косвенную адресацию сегментов через дескрипторы сегментов, которые располагаются в специальных таблицах – областях памяти, на которые указывают предназначенные для этого регистры процессора. Ядро операционной системы отвечает за заполнение этих таблиц и установку значений регистров. Другими словами, ядро задает отображение и процессор выполняет отображение на аппаратном уровне. Благодаря такой косвенной адресации логические сегменты защищены друг от друга, что обеспечивает целостность адресного пространства процессов и ядра.

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

Дескрипторы сегментов (кода, стека и данных) содержат поля типа сегмента, прав доступа и привилегий.

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

Поле привилегий определяет уровень привилегий сегмента (DPL), к которому процессу разрешен доступ. Оно используется совместно с соответствующим полем селектора для разграничения доступа к сегменту. Для получения доступа к сегменту процесс должен иметь по крайней мере такой же уровень привилегий как и сегмент (RPL >= DPL).

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

Механизмы защиты станиц виртуальной памяти

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

Каждый элемент таблицы страниц содержит поле прав доступа (R/W) и поле привилегий (U/S). Поле прав доступа определяет право на чтение страницы (R/W = 0) и право на чтение и запись (R/W = 1). Поле привилегий может принимать зничения 0 или 1. Если U/S = 0, то только привилегированные задачи (ядро) имеют доступ к станице. В противном случае доступ к странице имеют все задачи.

Comments (0)

Как стать участником |  Что может участник  |  Как работать с порталом  |  Реклама |  Авторские права  |  Контакты  |  Конкурсы  |  RSS  |  Форум
©2003 - 2020 GlobalTrust
Рейтинг@Mail.ru Rambler's Top100 Yandex