Обзор
Бит setgid является одним из типов разрешений файловой системы и ведет себя по-разному для файлов и каталогов. При применении к каталогу все новые файлы и подкаталоги, созданные в этом каталоге, автоматически наследуют групповое владение родительского каталога. При применении к исполняемому файлу процесс будет выполняться с идентификатором группы владельца файла при выполнении этого файла.
Основные характеристики
- Каталог: Файлы и подкаталоги, созданные в этом каталоге, наследуют групповое владение родительского каталога.
- Исполняемый файл: Процесс будет выполняться с идентификатором группы владельца файла при выполнении этого файла.
- Устанавливается и снимается с помощью команды `chmod`.
Примеры использования
Бит setgid устанавливается с помощью команды `chmod`. Можно использовать числовой режим (2xxx) или символический режим (g+s).
Установка setgid для каталога (символический режим)
sudo chmod g+s /shared_data
Установите бит setgid для каталога `/shared_data`, чтобы все файлы и подкаталоги, созданные в этом каталоге, наследовали групповое владение `/shared_data`.
Установка setgid для каталога (числовой режим)
sudo chmod 2770 /shared_data
Добавьте бит setgid (2) к существующим разрешениям (rwxrwx---) для установки в 2770.
Установка setgid для исполняемого файла
sudo chmod g+s /usr/local/bin/my_tool
Гарантируйте, что определенный исполняемый файл всегда выполняется с определенными групповыми разрешениями. (Например, `my_tool` выполняется с разрешениями `tool_group`)
Удаление бита setgid
sudo chmod g-s /path/to/item
Удалите бит setgid из файла или каталога.
Проверка установки setgid
ls -l /path/to/item
Используйте команду `ls -l` для проверки разрешений файла или каталога. Если в позиции групповых разрешений есть 's', значит, setgid установлен.
Советы и меры предосторожности
Бит setgid является мощной функцией, поэтому его следует использовать с осторожностью.
Использование setgid для каталогов
- Очень полезно для общих рабочих каталогов, когда несколько пользователей должны создавать файлы в одной группе.
- Поддерживает единообразное групповое владение вновь создаваемыми файлами, уменьшая проблемы с разрешениями.
Меры предосторожности при использовании setgid для исполняемых файлов
- Установка setgid для исполняемых файлов может привести к уязвимостям в безопасности, поэтому ее следует использовать с осторожностью.
- Применяйте только к исполняемым файлам, которым вы доверяете и которые прошли проверку безопасности.
Взаимодействие с umask
При создании файлов в каталоге с установленным битом setgid также учитывается настройка `umask`. `umask` ограничивает базовые разрешения вновь создаваемых файлов, поэтому его следует правильно настроить вместе с setgid.