русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

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


Дата добавления: 2014-11-28; просмотров: 567; Нарушение авторских прав


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

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

Набор прав хранится в индексном дескрипторе данного файла.

Базовые биты прав доступа представлены в таблице. Там дано восьмеричное значение, задающее соответствующий бит, вид этого бита в первом столбце длинного листинга и право, задаваемое этим битом.

 

Таблица 3 – Формирование прав доступа

Восьмеричное значение Вид в столбце прав доступа Право или назначение бита
---s------ Установленный эффективный идентификатор владельца (бит SUID)
------s--- Установленный эффективный идентификатор группы (бит SПID)
---------t ---------T Клейкий (sticky) бит. Вид для каталогов и выполняемых файлов, соответственно.
-r-------- Право владельца на чтение
--w------- Право владельца на запись
---x------ Право владельца на выполнение
----r----- Право группы на чтение
-----w---- Право группы на запись
------x--- Право группы на выполнение
-------r-- Право всех прочих на чтение
--------w- Право всех прочих на запись
---------x Право всех прочих на выполнение

 



Бит чтения для всех типов файлов имеет одно и то же значение: он позволяет читать содержимое файла (получать листинг каталога командой ls).

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

Если для некоторого файла установлен бит выполнения, то файл может выполняться как команда. В случае установки этого бита для каталога, этот каталог можно сделать текущим (перейти в него командой cd).

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

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

Примером может быть утилита passwd, позволяющая пользователю менять свой пароль. Для изменения пароля нужно редактировать содержимое файла /etc/passwd и /etc/shodow. Предоставить права всем изменять содержимое этих файлов невозможно. Установка SUID для утилиты passwd позволяет решить эту проблему. Владельцем файла /usr/bin/passwd, в котором хранится утилита является суперпользователь. Кто бы ни запустил утилиту на выполнение, на время работы данной программы получает права суперпользователя, а значит, может производить изменения в системных файлах.

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

Установленный клейкий бит для обычных файлов ранее (во времена PDP-11) означал необходимость сохранить образ программы (т.е. код и данные) в памяти после выполнения (для ускорения повторной загрузки). Сейчас при установке обычным пользователем он сбрасывается. Значение этого бита при установке пользователем root зависит от версии ОС и иногда необходимо. Так, в ОС Solaris необходимо устанавливать клейкий бит для обычных файлов, используемых в качестве области подкачки.

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

- пользователем-владельцем файла;

- пользователем-владельцем каталога;

- если файл доступен пользователю на запись;

- пользователем root.

 

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

 



<== предыдущая лекция | следующая лекция ==>
Специальный файл устройства | Физическое размещение файловой системы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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