Для чего используется setgid (2)? [дубликат]

На этот вопрос уже есть ответ здесь:

У меня проблемы с пониманием разрешений POSIX, в частности setgid (2) .Я понимаю, что setuid (2) изменяет идентификатор пользователя вызывающего процесса, так что он получает права нового пользователя. Это имеет смысл, потому что у пользователя есть только один UID, поэтому процесс может иметь только один UID.

Я не понимаю, почему у процесса может быть только один GID? В конце концов, пользователь может быть членом любого количества групп, так что же определяет, под каким GID запускается процесс? Я понимаю, что у каждого пользователя есть «первичный» GID, и это тот GID, который процессы, запущенные пользователем, будут принимать по умолчанию. Но что, если приложение должно получить доступ к файлу, который принадлежит к группе, отличной от основной группы пользователя (и, следовательно, к GID процесса)? Обязано ли приложение попытаться установить gid, чтобы он соответствовал GID файла? Или ядро ​​просто проверит, является ли UID процесса пользователем, который является членом группы, к которой принадлежит файл, и разрешит или запретит доступ в соответствии с разрешениями группы файла? В последнем случае похоже, что setgid не понадобится.

Например: я являюсь членом группы «ADM», но моя основная группа - «грифон». Каким-то образом я все еще могу катить файлы в группе "adm". Cat использует setgid для изменения своего GID на «adm» перед доступом к файлам? Или ядро ​​проверяет, является ли пользователь «griffin» членом «adm» перед возвратом дескриптора файла (в этом случае setgid не требуется)? Чем GID процесса принципиально отличается от UID пользователя, который является членом желаемой группы?

Приветствуются любые разъяснения по этому вопросу.

0
задан 17 September 2013 в 22:00
1 ответ

Это в первую очередь должно делать с созданием новых файлов и каталогов.

Файлы по умолчанию будут созданы как основная группа. Если вам нужны файлы, для создания с другим идентификатором группы вам понадобится setgid (). Вы используете setgid () перед созданием нового файла / каталога.

0
ответ дан 5 December 2019 в 15:02

Теги

Похожие вопросы