Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




Биты кода прав доступа для пользователя

Девять битов прав доступа для пользователя служат для того, чтобы определить, кто и какие операции может совершать над файлом. В операционных системах семейства UNIX нельзя устанавливать биты прав доступа для каждого отдельного пользователя. Существуют отдельные наборы битов для владельца, группы, и прочих пользователей. Т.е. условно в UNIX есть 3 категории пользователей по отношению к какому-либо файлу – его владелец, группа и все остальные пользователи. Каждый набор включает в себя 3 бита: бит чтения, бит записи и бит выполнения (для каталогов называемый “битом поиска”).

Старшие биты с восьмеричными значениями 400, 200 и 100 служат для управления доступом для владельца файла. Биты со значениями 40, 20 и 10 определяют доступ для группы. И, наконец, биты 4, 2 и 1 задают доступ для всех прочих пользователей. Старший бит каждой тройки – бит чтения, средний – бит записи, младший – бит выполнения.

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

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

Бит выполнения, будучи установлен, разрешает выполнять файл. Существует 2 типа выполняемых файлов: двоичные файлы, выполняемые непосредственно центральным процессором, и сценарии, интерпретируемые shell или другой программой (например, perl).

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

Право изменять биты кода прав доступа принадлежит только владельцу файла и привилегированному пользователю. Это делается с помощью команды chmod (change mode). Чтобы воспользоваться этой командой в ранних UNIX-системах приходилось знать основы представления чисел в двоичной и восьмеричной системах исчисления. В современных версиях систем допускается использование восьмеричного представления, либо еще более запутанный синтаксис с использованием мнемонических обозначений. Для большинства случаев восьмеричное представление наиболее удобно.

Первым аргументом команды chmod является восьмеричное число, обозначающее назначаемые права доступа. Второй и все последующие аргументы – имена файлов, для которых изменяются права доступа. В общем случае первая восьмеричная цифра относится в владельцу, вторая – к группе, третья – ко всем остальным пользователям системы. Если устанавливается бит смены идентификатора пользователя, бит смены идентификатора группы или sticky-бит, следует использовать не 3, а 4 восьмеричных цифры, первая из которых, и будет соответствовать 3 специальным битам.

В приведенной ниже таблице показано соответствие между восьмеричными и двоичными числами и кодами прав доступа, где r, w, x обозначают соответственно право на чтение, запись, выполнение. Всего возможно 8 различных комбинаций для каждого трехбитового набора.

 

Восьмеричное число Двоичное число Коды прав доступа
    ---
    --x
    -w-
    -wx
    r--
    r-x
    rw-
    rwx

 

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

В качестве примера рассмотрим случай, если на какой-либо выполняемый файл нужно установить биты смены идентификатора пользователя и/или группы, sticky-бит. Например, команда chmod 1777 /tmp задает коды прав доступа таким образом, что на каталог /tmp все пользователи системы имеют полные права, однако т.к. команда устанавливает старший бит со значением 1000 (sitky-бит), то удалять или переименовывать файлы из каталога /tmp смогут только их владельцы.




Поделиться с друзьями:


Дата добавления: 2014-12-07; Просмотров: 508; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.