Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МиСЗКИ_4_5.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
929.28 Кб
Скачать

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

Права доступа к ресурсам системы UNIX их владелец или суперпользователь может изменять программой chmod или одноименным системным вызовом. Для ресурсов файловой системы NFS из­менение прав доступа может выполнить только владелец.

В простейшей форме команда chmod указывает какие права доступа к файлу и для какой кате­гории пользователей необходимо изменить. Этот режим называют символьным (symbolic mode).

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

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

Таблица 4.20

Атрибуты прав доступа к ресурсу и их представление в восьмеричном виде

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

Атрибут прав доступа

40008

SUID

20008

SGID

l0008

Sticky

04008

Право доступа для чтения владельцем

02008

Право доступа для записи владельцем

01008

Право доступа для исполнения владельцем

00408

Право доступа для чтения членам группы

00208

Право доступа для записи членам группы

00108

Право доступа для исполнения членам группы

00048

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

00028

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

00018

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

Путем сложения весов различных прав доступа можно получить любой режим доступа к файлу. Например, программа passwd с правами доступа "rws-- х--х" в восьмеричной системе счисления име­ет режим доступа (40008+04008+02008+01008+00108+00018) = 47118:

40008 Атрибут SUID

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

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

+ 01008 Исполнение для владельца

00108 Исполнение для членов группы

00018 Исполнение для остальных пользователей

47118 r w s- - x - -

Пример назначения прав доступа приведен на рисунке:

Рисунок 4.37 – Назначение прав доступа

Режим доступа к файлу, назначаемый ему по умолчанию, определяется при помощи значения umask (user mask) пользователя.

Значение umask — это восьмеричное число, которое конъюнктируется либо с числом 0777, либо с числом 0666 (в зависимости от типа файла), в результате получается набор разрешений на доступ, назначаемый создаваемому файлу по умолчанию. Иначе говоря, значение umask, рассматриваемое как восьмеричное число, вы­читается либо из 0777, либо из 0666, в зависимости от типа файла. Полученное в результате вычитания число и является начальными правами доступа к файлу.

Тип файла влияет на начальный режим доступа следующим образом: если ко­манда file показывает, что созданный файл является бинарным исполняемым фай­лом, значение umask вычитается из 0777, для всех остальных файлов значение umask вычитается из 0666. Для суперпользователя значение umask равно 022, для обычного пользователя — 002. Таким образом, бинарным исполняемым файлам, создаваемым суперпользовате­лем, по умолчанию назначается режим 755 (rwxr-x-r-x), а всем остальным файлам назначается режим 644 (rw-r—r—). Бинарным файлам, создаваемым обычными пользователями, назначается режим 775 (rwxrwxr-x), а всем остальным файлам назначается режим 664 (rw-rw-r--). Узнать текущее значение umask можно, выпол­нив команду umask без аргументов. Для изменения значения umask нужно вызвать эту команду с новым значением в качестве аргумента (например, umask 222).