11.1.2. Модификаторы прав доступа к файлам

11.1.2. Модификаторы прав доступа к файлам

Модификаторы прав доступа файлов — это также битовые маски, значения которых представляют биты setuid, setgid и sticky-бит ("липкий" бит). Если бит setuid установлен для исполняемого файла, то эффективный идентификатор пользователя процесса устанавливается равным идентификатору владельца файла, когда программы выполняется (в главе 10 можно найти информацию о том, почему это удобно). Бит setgid ведет себя аналогичным образом, но устанавливает эффективный идентификатор группы в значение группы файла. Бит setuid не имеет значения для неисполняемых файлов, но если бит setgid устанавливается для неисполняемого файла, любая блокировка, выполняемая над файлом, носит обязательный, а не рекомендательный характер (см. главу 13). В Linux биты setuid и setgid игнорируются для сценариев оболочки, поскольку устанавливать setuid для сценариев было бы опасно.

Ни setuid, ни setgid не имеют очевидного смысла для каталогов. И setuid действительно не имеет семантики установки для каталогов. Если же для каталога установлен бит setgid, то все новые файлы, созданные в этом каталоге, будут принадлежать к той же группе, которая владеет самим каталогом. Это облегчает применение каталогов для организации совместной работы пользователей.

Sticky-бит — последний значащий бит в разряде модификатора доступа к файлу, имеет интересную историю, связанную с его наименованием. Старые реализации Unix должны были загружать в память всю программу целиком, прежде чем начать выполнять ее. Это означало, что крупные программы отнимали значительное время на запуск, что было довольно-таки неприятно. Если же программа имела установленный sticky-бит, то операционная система пыталась сохранить ее "привязанной" в памяти настолько долго, насколько возможно, даже когда эта программа не запущена, чтобы уменьшить время запуска. Хотя это было немного некрасиво, но работало достаточно хорошо с часто используемыми программами, такими как компилятор С. Современные реализации Unix, включая Linux, используют загрузку по требованию — кусочек за кусочком, что сделало sticky-бит излишним, поэтому Linux игнорирует его для обычных файлов.

Sticky-бит по-прежнему используется для каталогов. Обычно любой пользователь с правами записи в каталог может удалить любой файл в этом каталоге. Однако если sticky-бит каталога установлен, файлы могут быть удалены только пользователем-владельцем либо пользователем root. Такое поведение удобно, если каталог служит репозиторием для файлов, созданных многими пользователями, например, /tmp.

Последний раздел режима файла указывает тип файла. Он содержится в старших восьмеричных разрядах и не является битовой маской. Вместо этого значение этих разрядов равно специфическому типу файлов (04 означает каталог, 06 — блочное устройство). Тип файла устанавливается при его создании. Он никогда не может быть изменен, кроме как посредством удаления файла.

Включаемый файл <sys/stat.h> представляет символические константы для всех этих битов доступа, что делает код более читабельным. Пользователи Unix и Linux обычно чувствуют себя увереннее с восьмеричными представлениями режимов файла, поэтому обычно в программах используются восьмеричные представления непосредственно. В табл. 11.1 перечислены символические имена прав и модификаторов доступа к файлам.

Таблица 11.1. Константы прав доступа к файлам

Имя Значение Описание
S_ISUID 0004000 Программа является setuid-программой.
S_ISGID 0002000 Программа является setgid-программой.
S_ISVTX 0001000 Sticky-бит.
S_IRWXU 00700 Владелец файла имеет права на чтение, запись и выполнение.
S_IRUSR 00400 Владелец файла имеет права на чтение.
S_IWUSR 00200 Владелец файла имеет права на запись.
S_IXUSR 00100 Владелец файла имеет права на выполнение.
S_IRWXG 00070 Группа файла имеет права на чтение, запись и выполнение.
S_IRGRP 00040 Группа файла имеет права на чтение.
S_IWGRP 00020 Группа файла имеет права на запись.
S_IXGRP 00010 Группа файла имеет права на выполнение.
S_IRWXO 00007 Прочие пользователи имеют права на чтение, запись и выполнение.
S_IROTH 00004 Прочие пользователи имеют права на чтение.
S_IWOTH 00002 Прочие пользователи имеют права на запись.
S_IXOTH 00001 Прочие пользователи имеют права на выполнение.
Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

4.5. Права доступа к файлам и каталогам

Из книги Linux для пользователя автора Костромин Виктор Алексеевич

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


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

Из книги Компьютер на 100. Начинаем с Windows Vista автора Зозуля Юрий

Разграничение доступа к файлам В Windows Vista можно управлять правами доступа к файлам и папкам для различных пользователей. Эта возможность реализована в файловой системе NTFS в виде разрешений, которые хранятся для каждого файла или папки вместе с именем, размером, датой и


(3.35) После изменения прав доступа к файлам (security permissions) на NTFS хочется вернуть все к тому виду, как было после установки. Возможно ли это?

Из книги Win2K FAQ (v. 6.0) автора Шашков Алексей

(3.35) После изменения прав доступа к файлам (security permissions) на NTFS хочется вернуть все к тому виду, как было после установки. Возможно ли это? Да, это возможно. Более того, это просто необходимо, если вы поставили W2k на FAT или FAT32, а затем отконвертировали файловую систему в NTFS (см.


Определение доступа к файлам поддержки

Из книги AutoCAD 2009 для студента. Самоучитель автора Соколова Татьяна Юрьевна

Определение доступа к файлам поддержки На вкладке Files диалогового окна Options, показанной на рис. 3.1, задаются пути доступа к файлам поддержки, где хранятся шрифты, шаблоны рисунков, типы линий и образцы штриховок, используемые AutoCAD. Здесь перечисляются все пути доступа к


2.17.После изменения прав доступа к файлам (security permissions) на NTFS хочется вернуть все к тому виду, как было после установки. Возможно ли это?

Из книги WinXP FAQ (Часто задаваемые вопросы по ОС Windows XP) автора Шашков Алексей

2.17.После изменения прав доступа к файлам (security permissions) на NTFS хочется вернуть все к тому виду, как было после установки. Возможно ли это? Да, это возможно. Более того, это просто необходимо, если вы поставили XP на FAT или FAT32, а затем cконвертировали файловую систему в NTFS. Для


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

Из книги Настройка Windows 7 своими руками. Как сделать, чтобы работать было легко и удобно автора Гладкий Алексей Анатольевич

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


10.1. Ограничения доступа к файлам и борьба с ними

Из книги Windows Vista. Трюки и эффекты автора Зозуля Юрий

10.1. Ограничения доступа к файлам и борьба с ними Разрешения NTFSВ Windows Vista можно управлять правами доступа к файлам и папкам для различных пользователей. Эта возможность реализована в самой файловой системе NTFS в виде разрешений, которые хранятся для каждого файла или папки


Определение доступа к файлам поддержки

Из книги AutoCAD 2009. Учебный курс автора Соколова Татьяна Юрьевна

Определение доступа к файлам поддержки На вкладке Files диалогового окна Options, показанной на рис. 3.1, задаются пути доступа к файлам поддержки, где хранятся шрифты, шаблоны рисунков, типы линий и образцы штриховок, используемые AutoCAD. Здесь перечисляются все пути доступа к


Определение доступа к файлам поддержки

Из книги AutoCAD 2008 для студента: популярный самоучитель автора Соколова Татьяна Юрьевна

Определение доступа к файлам поддержки На вкладке Files диалогового окна Options, показанной на рис. 3.1, задаются пути доступа к файлам поддержки, где хранятся шрифты, шаблоны рисунков, типы линий и образцы штриховок, используемые AutoCAD. Здесь перечисляются все пути доступа к


5.8.1. Права доступа к файлам и каталогам

Из книги Ubuntu 10. Краткое руководство пользователя автора Колисниченко Д. Н.

5.8.1. Права доступа к файлам и каталогам Для каждого каталога и файла вы можете задать права доступа. Точнее права доступа автоматически задаются при создании каталога (файла), а вы, при необходимости, можете их изменить. Какая может быть необходимость?Например, вам нужно,


11.1. Проверка прав доступа

Из книги Linux программирование в примерах автора Роббинс Арнольд

11.1. Проверка прав доступа Как мы видели в разделе 5.4.2 «Получение информации о файлах», файловая система хранит идентификаторы владельца и группы файла в виде числовых значений; это типы uid_t и gid_t соответственно. Для краткости мы используем для «идентификатора владельца


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

Из книги Linux и UNIX: программирование в shell. Руководство разработчика. автора Тейнсли Дэвид

1.3. Права доступа к файлам Давайте создадим файл, используя команду touch:$ touch myfileТеперь выполним команду ls -1:$ ls -1 myfile-rw?r--r-- 1 dave admin 0 Feb 19 22:05 myfileМы получили пустой файл, и, как и ожидалось, первый символ в строке режима свидетельствует о том, что это обычный файл. В результате


1.4. Изменение прав доступа к файлу

Из книги Описание языка PascalABC.NET автора Коллектив РуБоард

1.4. Изменение прав доступа к файлу Вы можете изменять режим доступа к файлам, которыми владеете, с помощью команды chmod. Аргументы этой команды могут быть заданы либо в числовом виде (абсолютный режим), либо в символьном (символьный режим). Сначала рассмотрим символьный


18.3.7. Проверка прав доступа к файлу

Из книги автора

18.3.7. Проверка прав доступа к файлу Вы можете также осуществлять контроль прав доступа к файлу. Ниже приводится несложная проверка на предмет того, можно ли вести записи в файле test.txt, который переприсвоен переменной logfile.$ pg ifwr#!/bin/sh# ifwrLOGFILE=test.txt echo $LOGFILEif [ ! —w "$LOGFILE" ]; thenecho " You


Видимость членов класса и модификаторы доступа

Из книги автора

Видимость членов класса и модификаторы доступа Каждое поле, метод или свойство класса имеет модификатор (атрибут) доступа, задающий правила его видимости. В PascalABC.NET существуют четыре вида модификаторов доступа: public (открытый), private (закрытый), protected (защищенный) и internal