10.2.4. Резюме по идентификаторам пользователей и групп
10.2.4. Резюме по идентификаторам пользователей и групп
Подведем итоги обо всех системных вызовах, которые модифицируют права доступа выполняющегося процесса. Большинство перечисленных здесь функций, имеющих отношение к идентификаторам пользователей, уже детально рассматривались в настоящей главе, но те, что относятся к группам — еще нет. Поскольку эти функции отражают соответствующие функции, модифицирующие идентификаторы пользователя, их поведение должно быть понятно.
Все эти функции возвращают -1 в случае ошибки и 0 — в случае успеха, если только не указано иначе. Большинство их прототипов находятся в <unistd.h>. Те, что расположены где-то еще, отмечены ниже.
int setreuid(uid_t ruid, uid_t euid); Устанавливает действительный uid текущего процесса в ruid и эффективный uid процесса в euid. Если оба параметра равны -1, то uid остаются неизменными. int setregid(gid_t rgid, gid_t egid); Устанавливает действительный gid текущего процесса в rgid и эффективный gid процесса в egid. Если оба параметра равны -1, то gid остаются неизменными. int setuid(uid t uid); Если применяется обычным пользователем, то устанавливает эффективный uid текущего процесса в значение параметра uid. Если используется процессом с эффективным uid, равным 0, то устанавливает действительный, эффективный и сохраненный uid в значение параметра uid. int setgid(gid_t gid); Если применяется обычным пользователем, то устанавливает эффективный gid текущего процесса в значение параметра gid. Если используется процессом с эффективным gid, равным 0, то устанавливает действительный, эффективный и сохраненный gid в значение параметра gid. int seteuid(uid_t uid); Эквивалент setreuid(-1, uid). int setegid(gid_t gid); Эквивалент setregid(-1, gid). int setfsuid(uid_t fsuid); Устанавливает fsuid текущего процесса в значение параметра fsuid. Прототип находится в <sys/fsuid.h>. Возвращает предшествующий fsuid. int setfsgid(gid_t fsgid); Устанавливает fsgid текущего процесса в значение параметра fsgid. Прототип находится в <sys/fsuid.h>. Возвращает предшествующий fsgid. int setgroups(size_t num, const gid_t * list); Устанавливает дополнительные группы текущего процесса из списка, переданного в массиве list, который должен содержать num элементов. Макрос SC_NGROUPS_MAX указывает, сколько групп может быть в списке (от 32 до 65536, в зависимости от работающей у вас версии Linux). uid_t getuid(); Возвращает действительный uid процесса. uid_t geteuid(); Возвращает эффективный uid процесса. gid_t getgid(); Возвращает действительный gid процесса. gid_t getegid(); Возвращает эффективный gid процесса. size_t getgroups (size_t size, gid_t list[]); Возвращает текущий набор дополнительных групп процесса в массиве list. Параметр size сообщает, сколько элементов типа gid_t может содержать list. Если размер list недостаточен, чтобы вместить все группы, возвращается -1, а errno устанавливается в EINVAL. В противном случае возвращается фактическое количество групп в list. Если size равен 0, возвращается количество групп, но list не затрагивается. Прототип функции getgroups() находится в <grp.h>.Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
6.3. Имена пользователей и групп
6.3. Имена пользователей и групп Хотя операционная система для сохранения владельцев файлов и проверки прав доступа работает с идентификационными номерами пользователей и групп, люди предпочитают работать с именами пользователей и групп.Ранние системы Unix хранили
Глава 11 Права доступа и ID пользователей и групп
Глава 11 Права доступа и ID пользователей и групп Linux, вслед за Unix, является многопользовательской системой. В отличие от большинства операционных систем для персональных компьютеров,[114] в которых имеется лишь один пользователь и в которых, кто бы ни находился перед
11.6.1. Изменение набора групп
11.6.1. Изменение набора групп Функция setgroups() устанавливает новый набор групп:#include <sys/types.h> /* Common */#include <unistd.h>#include <grp.h>int setgroups(size_t size, const gid_t *list);Параметр size указывает, сколько элементов в массиве list. Возвращаемое значение равно 0, если все было нормально, и -1 с
4.2.3. Удаление групп
4.2.3. Удаление групп Теперь рассмотрим, как можно удалить группу. Для этого используется команда groupdel:groupdel имяПри выполнении этой команды вы должны самостоятельно проверить все файлы, владельцем которых является удаляемая группа, и при необходимости изменить
Получение материалов групп
Получение материалов групп Если вы устанавливаете на своем компьютере сервер новостей, который должен поддерживать хотя бы часть Usenet, вам необходимо найти поставщика новостей и сконфигурировать свой сервер для работы с ним. Настройка сервера для получения материалов
17.2 Иерархия групп новостей Интернета
17.2 Иерархия групп новостей Интернета Уже созданы тысячи групп новостей Интернета. Каждая из них имеет имя, отражающее тематику группы. Имена групп организованы в древовидную структуру (см. рис. 17.1). Рис. 17.1. Иерархия групп новостейВ отличие от других иерархических имен, с
7.3.2. Создание и удаление пользователей и групп
7.3.2. Создание и удаление пользователей и групп Большинство утилит административного назначения хранится в каталогах /sbin и /usr/sbin. Полный набор утилит для управления пользователями и группами, установленных в вашей системе, вы можете увидеть по команде# ls
Создание групп запросов
Создание групп запросов После чистки мы получим очень длинный список, состоящий из важных для нашего портала либо интернет-магазина запросов, однако работать с этим списком будет крайне сложно, поскольку он неструктурирован. Следующая задача – выстроить структуру,
Доступность целевых групп
Доступность целевых групп Исследуя аудиторию Интернета, мы обнаруживаем, что его пользователи начинают постепенно отказываться от других источников получения информации. Активные пользователи Интернета не читают газет, не смотрят телевизор, не слушают радио. Все, что
Глава 24. Заработок на администрировании групп
Глава 24. Заработок на администрировании групп С развитием соцсетей все более востребована профессия контент-менеджера: вы ведете группу и вам за это платят деньги. Чем качественнее контент выдаете, тем больше платят за работу – от 2000 до 30 тыс. рублей за группу, в среднем
Наборы для разных ценовых групп
Наборы для разных ценовых групп В интернет-магазине должны быть в наличии наборы из трех разных ценовых групп.Бюджетные – ориентированы на людей, которые хотят сэкономить и отслеживают соотношение «цена – качество», хотят получить приемлемый результат за разумные
Обзор групп фильтров
Обзор групп фильтров В Photoshop просто огромное количество фильтров, исчисляемое десятками. Поэтому нет ничего удивительного в том, что разработчики разделили их на категории. Благодаря этому найти нужный фильтр не составляет труда. Если же вы не знаете, какой фильтр вам
10.2. Идентификаторы пользователей и групп, закрепленные за процессами
10.2. Идентификаторы пользователей и групп, закрепленные за процессами До сих пор речь шла о командах, выполняемых конкретными пользователями. Это не совсем точно, поскольку компьютер в действительности никогда не знает, кто из пользователей за ним работает. Если
4.2.5. Создание групп быстрого поиска
4.2.5. Создание групп быстрого поиска В группу быстрого поиска или смарт-группу заносится список контактных лиц, удовлетворяющий заданным критериям поиска Этот список будет постоянно обновляться по мере добавления в адресную книгу новых записей. Например, вы можете