2.4. Разрешения IPC
2.4. Разрешения IPC
Новая очередь сообщений, именованный семафор или сегмент разделяемой памяти создается функциями mq_open, sem_open и shm_open, при условии, что аргумент oflag содержит константу O_CREAT. Согласно табл. 2.3, любому из данных типов IPC присваиваются определенные права доступа (permissions), аналогичные разрешениям доступа к файлам в Unix.
При открытии существующей очереди сообщений, семафора или сегмента разделяемой памяти теми же функциями (в случае, когда не указан флаг O_CREAT или указан O_CREAT без O_EXCL и объект уже существует) производится проверка разрешений:
1. Проверяются биты разрешений, присвоенные объекту IPC при создании.
2. Проверяется запрошенный тип доступа (O_RDONLY, O_WRONLY, O_RDWR).
3. Проверяется действующий идентификатор пользователя вызывающего процесса, действующий групповой идентификатор процесса и дополнительные групповые идентификаторы процесса (последние могут не поддерживаться).
Большинством систем Unix производятся следующие конкретные проверки:
1. Если действующий идентификатор пользователя для процесса есть 0 (привилегированный пользователь), доступ будет разрешен.
2. Если действующий идентификатор пользователя процесса совпадает с идентификатором владельца объекта IPC: если соответствующий бит разрешения для пользователя установлен, доступ разрешен, иначе в доступе отказывается.
Под соответствующим битом разрешения мы подразумеваем, например, бит разрешения на чтение, если процесс открывает объект только для чтения. Если процесс открывает объект для записи, должен быть установлен соответственно бит разрешения на запись для владельца (user-write).
3. Если действующий идентификатор группы процесса или один из дополнительных групповых идентификаторов процесса совпадает с групповым идентификатором объекта IPC: если соответствующий бит разрешения для группы установлен, доступ будет разрешен, иначе в доступе отказывается.
4. Если соответствующий бит разрешения доступа для прочих пользователей установлен, доступ будет разрешен, иначе в доступе будет отказано.
Эти четыре проверки производятся в указанном порядке. Следовательно, если процесс является владельцем объекта IPC (шаг 2), доступ разрешается или запрещается на основе одних только разрешений пользователя (владельца). Разрешения группы при этом не проверяются. Аналогично, если процесс не является владельцем объекта IPC, но принадлежит к нужной группе, доступ разрешается или запрещается на основе разрешений группы — разрешения для прочих пользователей при этом не проверяются.
ПРИМЕЧАНИЕ
Согласно табл. 2.2, функция sem_open не использует флаги O_RDONLY, O_WRONLY, O_RDWR. В разделе 10.2, однако, будет сказано о том, что некоторые реализации Unix подразумевают наличие флага O_RDWR, потому что любое обращение к семафору подразумевает чтение и запись его значения.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Разрешения служб Windows SharePoint
Разрешения служб Windows SharePoint Службы Windows SharePoint включают 32 разрешения пользователей, которые определяют, какие действия пользователи могут выполнять на узле. Разрешения сгруппированы в уровни разрешений. По сути, каждый уровень разрешений является именованным набором
1.2.2. Изменение разрешения экрана
1.2.2. Изменение разрешения экрана В некоторых случаях Fedora 8 почему-то неправильно устанавливает разрешение экрана: устанавливается меньшее разрешение, чем поддерживается монитором к видеокартой. Для изменения разрешения экрана выберите команду меню
Запрещение/Разрешения на запуск программ
Запрещение/Разрешения на запуск программ Запрещение запуска программWindows позволяет ограничить доступ к программам, кроме разрешенных в специальном списке.Для ограничения запускаемых программ надо открыть раздел HKCUSOFTWAREMicrosoftWindowsCurrentVersonPoliciesExplorerи создать там ключ
3.5. Разрешения IPC
3.5. Разрешения IPC При создании нового объекта IPC с помощью одной из функций getXXX, вызванной с флагом IPC_CREAT, в структуру ipc_perm заносится следующая информация (раздел 3.3):1. Часть битов аргумента oflag задают значение поля mode структуры ipc_perm. В табл. 3.3 приведены биты разрешений для
Смена глубины разрешения цвета
Смена глубины разрешения цвета Глубина разрешения цвета – это объем данных, отводимый на запись информации о цвете. Обычно эта величина исчисляется в количестве бит на каждый цветовой канал. Модели RGB и L*a*b имеют по 3 цветовых канала, CMYK – 4. Соответственно, при глубине
Изменение разрешения экрана
Изменение разрешения экрана Для изменения разрешения экрана (например, на 800?600) следует внести следующие изменения в реестр: Ключ:[HKEY_LOCAL_MACHINEConfig001DisplaySettings]Значение ключа: "Resolution"="800,
8.5.2. Оператор разрешения области видимости
8.5.2. Оператор разрешения области видимости Имя члена пользовательского пространства дополняется поставленным спереди именем этого пространства и оператором разрешения области видимости (::). Использование неквалифицированного члена, например matrix, является ошибкой.
9.2. Три шага разрешения перегрузки
9.2. Три шага разрешения перегрузки Разрешением перегрузки функции называется процесс выбора той функции из множества перегруженных, которую следует вызвать. Этот процесс основывается на указанных при вызове аргументах. Рассмотрим пример:T t1, t2;void f( int, int );void f( float, float );int
FERRMA: Nasтуплени высокого разрешения
FERRMA: Nasтуплени высокого разрешения Автор: Алекс ЭкслерНе нужно быть великим пророком, чтобы предсказать рный рост популярности сетевых накопителей (NAS) и бурл мультимедийных плееров. Также легко предположить, что последние, да с собственным накопителем, будут включать в
3.3.1. Изменение разрешения экрана
3.3.1. Изменение разрешения экрана Начнем с изменения разрешения экрана. Щелкните правой кнопкой мыши на рабочем столе и выберите команду Разрешение экрана. В появившемся окне (рис. 3.10) вы можете выбрать экран, разрешение которого вы хотите изменить (если к системе
Не экспортировать глобальные разрешения чтения/записи
Не экспортировать глобальные разрешения чтения/записи Не делайте этого! Разрешения на доступ к файлам, устанавливающие, кто может читать и изменять файл, — очень простое понятие. Главное заключается в том, что чем больше вы предоставляете доступа к файлам вашей системы,
Как настроить Windows для работы с дисплеями высокого разрешения Андрей Васильков
Как настроить Windows для работы с дисплеями высокого разрешения Андрей Васильков Опубликовано 01 марта 2013Всё чаще на форумах можно прочесть о том, что автоматическая настройка изображения в ОС Windows приводит к визуальному дискомфорту – слишком мелкий шрифт затрудняет
Взимание недоимок при помощи данных 5-метрового разрешения
Взимание недоимок при помощи данных 5-метрового разрешения Шесть лет назад семья Джонсов переехала в новый, построенный по индивидуальному проекту дом в пригороде. С того времени они пристроили еще одну комнату, построили бассейн и сделали другие изменения, не потратив и
Переосмысление разрешения
Переосмысление разрешения Разрешение является основой современного права. Чтобы дать разрешение, лицо должно достигнуть определенного возраста и быть вменяемым; человек в состоянии опьянения или недееспособный подругой причине не может дать юридически значимое