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 Прочие пользователи имеют права на выполнение.Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
11.1. Проверка прав доступа
11.1. Проверка прав доступа Как мы видели в разделе 5.4.2 «Получение информации о файлах», файловая система хранит идентификаторы владельца и группы файла в виде числовых значений; это типы uid_t и gid_t соответственно. Для краткости мы используем для «идентификатора владельца
10.1. Ограничения доступа к файлам и борьба с ними
10.1. Ограничения доступа к файлам и борьба с ними Разрешения NTFSВ Windows Vista можно управлять правами доступа к файлам и папкам для различных пользователей. Эта возможность реализована в самой файловой системе NTFS в виде разрешений, которые хранятся для каждого файла или папки
(3.35) После изменения прав доступа к файлам (security permissions) на NTFS хочется вернуть все к тому виду, как было после установки. Возможно ли это?
(3.35) После изменения прав доступа к файлам (security permissions) на NTFS хочется вернуть все к тому виду, как было после установки. Возможно ли это? Да, это возможно. Более того, это просто необходимо, если вы поставили W2k на FAT или FAT32, а затем отконвертировали файловую систему в NTFS (см.
2.17.После изменения прав доступа к файлам (security permissions) на NTFS хочется вернуть все к тому виду, как было после установки. Возможно ли это?
2.17.После изменения прав доступа к файлам (security permissions) на NTFS хочется вернуть все к тому виду, как было после установки. Возможно ли это? Да, это возможно. Более того, это просто необходимо, если вы поставили XP на FAT или FAT32, а затем cконвертировали файловую систему в NTFS. Для
4.5. Права доступа к файлам и каталогам
4.5. Права доступа к файлам и каталогам Поскольку Linux - система многопользовательская, вопрос об организации разграничения доступа к файлам и каталогам является одним из существенных вопросов, которые должна решать операционная система. Механизмы разграничения доступа,
Настройка прав доступа к файлам и ограничение прав пользователей
Настройка прав доступа к файлам и ограничение прав пользователей В процессе работы на компьютере часто возникает необходимость защитить те или иные свои данные от неквалифицированного и несанкционированного просмотра и редактирования. Эта задача обычно возникает при
Определение доступа к файлам поддержки
Определение доступа к файлам поддержки На вкладке Files диалогового окна Options, показанной на рис. 3.1, задаются пути доступа к файлам поддержки, где хранятся шрифты, шаблоны рисунков, типы линий и образцы штриховок, используемые AutoCAD. Здесь перечисляются все пути доступа к
Определение доступа к файлам поддержки
Определение доступа к файлам поддержки На вкладке Files диалогового окна Options, показанной на рис. 3.1, задаются пути доступа к файлам поддержки, где хранятся шрифты, шаблоны рисунков, типы линий и образцы штриховок, используемые AutoCAD. Здесь перечисляются все пути доступа к
Определение доступа к файлам поддержки
Определение доступа к файлам поддержки На вкладке Files диалогового окна Options, показанной на рис. 3.1, задаются пути доступа к файлам поддержки, где хранятся шрифты, шаблоны рисунков, типы линий и образцы штриховок, используемые AutoCAD. Здесь перечисляются все пути доступа к
5.8.1. Права доступа к файлам и каталогам
5.8.1. Права доступа к файлам и каталогам Для каждого каталога и файла вы можете задать права доступа. Точнее права доступа автоматически задаются при создании каталога (файла), а вы, при необходимости, можете их изменить. Какая может быть необходимость?Например, вам нужно,
1.3. Права доступа к файлам
1.3. Права доступа к файлам Давайте создадим файл, используя команду touch:$ touch myfileТеперь выполним команду ls -1:$ ls -1 myfile-rw?r--r-- 1 dave admin 0 Feb 19 22:05 myfileМы получили пустой файл, и, как и ожидалось, первый символ в строке режима свидетельствует о том, что это обычный файл. В результате
1.4. Изменение прав доступа к файлу
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
Разграничение доступа к файлам
Разграничение доступа к файлам В Windows Vista можно управлять правами доступа к файлам и папкам для различных пользователей. Эта возможность реализована в файловой системе NTFS в виде разрешений, которые хранятся для каждого файла или папки вместе с именем, размером, датой и