Setuid и Setgid - это термины Unix, сокращения для «Установить идентификатор пользователя» и «Установить идентификатор группы», соответственно. Setuid, также иногда называемый «suid», и «setgid» - это права доступа, которые можно назначать файлам или каталогам в операционной системе Unix. Они в основном используются для того, чтобы пользователи системы могли запускать двоичные файлы с временно повышенными привилегиями для выполнения конкретной задачи.
Эти разрешения следующие:
UID SET
Set-User-ID-на-исполненииЭто позволяет при запуске файла выполнять его с привилегиями владельца . Например, если нам нужно использовать привилегии root для доступа к определенному модулю, записи в журналы, чтения / записи устройств и т. Д.
SGID, set-group-ID-on-execute позволяет, чтобы при выполнении файла он выполнялся с правами группы, которой принадлежат файлы.
Создание SET UID и GID для файлов и каталогов, обычно для последнего, позволит «наследовать» характеристики каталога до следующего, и все файлы / каталоги, которые создаются / создаются / копируются в каталогах SET GID, будут иметь характеристики из родительского каталога.
Как правило, GID разрешен, так что пользователи группы могут работать с файлами этой же группы, UID может изменить владельца файла и права доступа для другого пользователя ГРУППЫ, если активна опция «кликабельная».
SET GID
SET GID является интересной опцией, если многие пользователи собираются получить доступ к общей системе хранения, либо
- SAMBA
- FTP
- HTTP
- Базы данных
Пример реализации SET UID и GID
С терминала мы выполняем следующие задачи:
Создаем пример каталога:
[ ] MKDIR ПРИМЕРПеречислим каталог:
[ ] vdirМы меняем права доступа к каталогу так, чтобы доступ к ним имели только пользователи группы «программисты», права доступа являются параметрами команды chmod и являются следующими
+ s : активировать режим suid
g + s : активировать режим sgid
[ ] # chown user.programmers
[ ] # пример chmod g + s
[ ] # vdirМы перечисляем каталог и видим содержание
4 drwxrwxrwx 2 программиста пользователя ПРИМЕРПо умолчанию ни один пользователь, не принадлежащий к группе «программисты», не может работать с файлами в этом каталоге. С другой стороны, пользователи группы смогут работать с файлами в зависимости от их атрибутов, которыми обладают пользователи, если у них есть права только на чтение или запись.
Некоторые программы и сервисы, такие как Samba, FTP, HTTP, имеют специальные функции, которые не регулируются этими стандартами и дополняют их, дополняя их.
Теперь, когда мы создали SET UID и GID, если мы создадим пример файла или каталога от любого пользователя, он унаследует характеристики, которые мы определили выше, независимо от того, кто его создал и какие у него есть разрешения.
В качестве примера мы можем сказать, что если мы создадим файл report.txt в каталоге EXAMPLE и пользователь, который его создал, будет пользователем root, а группа будет программистами, то группа, к которой будет принадлежать файл, будет программистами.
Будучи каталогом EXAMPLE с атрибутами: drwxrwsrwx, указывающими на них, что каталогом является SET GID, все созданные в нем файлы будут принадлежать пользователю и группе, которая указывает SET GID.
Если мы увидим список с несколькими файлами, он будет выглядеть так:
4 программиста drwxr-Sr-x 2 jose 4096 home.html 4 программиста drwxr-Sr-x 2 carlos 4096 dependencies.txt 4 корневых программиста drwxr-Sr-x 2 4096 report-project.odfЯ надеюсь, что этот урок служит вам.
- 0
СТАТЬИ