Setgid
100%

Разрешения · Урок 6

Setgid

Узнайте, как set-group-ID влияет на учётные данные исполняемых файлов и наследование группы в общих каталогах.

У бита set-group-ID, обычно называемого setgid или SGID, два важных применения. Для исполняемого обычного файла он может изменить эффективный идентификатор группы нового процесса. Для каталога он заставляет новые записи наследовать группу каталога, что особенно полезно в деревьях для совместной работы.

Setgid у исполняемых файлов

Подробный список может показывать setgid в позиции выполнения группы:

$ ls -l /path/to/program
-rwxr-sr-x 1 root operators 24576 Jan 10 09:30 /path/to/program

Строчная s означает, что установлены и setgid, и выполнение группы. Прописная S означает, что setgid установлен, а выполнение группы отсутствует.

Когда ядро учитывает этот бит при выполнении, процесс получает эффективный идентификатор группы на основе группы-владельца исполняемого файла. Это поведение может подавляться такими средствами, как подключение с nosuid, и его нельзя считать универсальной гарантией для любого типа файлов или среды.

Какие учётные данные берутся у группы-владельца исполняемого файла, когда setgid учитывается?

Setgid у каталогов

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

Сам по себе setgid не предоставляет группе право записи. Доступ по-прежнему определяется режимом каталога, umask процесса, запрошенным режимом создания, ACL по умолчанию и другими механизмами.

$ sudo chgrp developers /srv/project
$ sudo chmod g+s /srv/project
$ ls -ld /srv/project
drwxr-sr-x 2 root developers 4096 Jan 10 09:30 /srv/project

Что обычно наследует новый файл благодаря setgid у /srv/project?

Установка и удаление setgid

Установите бит символически:

$ sudo chmod g+s myfile

Установите его вместе с обычными битами режима через начальную восьмеричную 2:

$ sudo chmod 2755 myfile

Удалите только специальный бит командой chmod g-s myfile.

Какое значение setgid добавляет к начальной восьмеричной цифре специальных битов?

Безопасное использование общих каталогов

Для совместного каталога сочетайте требуемую группу-владельца, setgid и узко выбранные биты доступа. Проверьте создание от имени типичных пользователей и изучите результат через ls -ld. Не делайте дерево доступным для записи всем лишь ради решения проблемы общего доступа группы; выделенная группа, подходящая umask или ACL по умолчанию и setgid-каталог обычно обеспечивают более понятное управление.

Предоставляет ли одна установка setgid членам группы право создавать файлы в каталоге?

Урок завершён

Вы завершили Setgid

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

  • Распознавайте setgid в позиции выполнения группы.

  • Связывайте setgid исполняемого файла с эффективным идентификатором группы.

  • Используйте setgid каталога для сохранения группового владения в общих деревьях.

  • Устанавливайте или удаляйте бит, не смешивая его с обычным правом записи.

Сохраните прогресс

Создайте бесплатный аккаунт, чтобы сохранить этот урок и продолжить на любом устройстве.

Создать бесплатный аккаунт
Следующий Урок
Назад к Разрешения