S-биты и списки управления доступом

В этом разделе описывается работа с программами setuid и setgid, а также применение S-битов в списках управления доступом.

Применение программ setuid и setgid

Схема с разрешающим битом в большинстве случаев обеспечивает достаточно эффективное управление доступом к ресурсам. Для более строгого управления доступом служат программы setuid и setgid.

В операционной системе AIX для идентификации пользователя используются только идентификаторы uid и gid. Типы ACL, в которых применяются идентификаторы других форматов, преобразуются к модели идентификации AIX. Например, списки ACL типа NFS4 используют строковые идентификаторы пользователей вида пользователь@домен, и эти строки преобразуются в числовые значения UID и GID.

Как правило, программы запускаются с правами доступа пользователя и группы, соответствующими вызвавшему их пользователю. Владелец программы может связать с ней права доступа вызвавшего пользователя, установив в поле прав доступа бит setuid или setgid. Когда процесс вызывает такую программу, он получает права доступа ее владельца. Программа с установленным битом setuid при выполнении получает права доступа владельца, а программа с установленным битом setgid - права доступа группы. Поддерживается одновременная установка обоих типов.

Несмотря на то, что процессу предоставляются дополнительные права доступа, эти права контролируются выполняемой программой. Таким образом, установка битов setuid и setgid позволяет предоставлять права доступа косвенным образом. Программы играют роль защищенных подсистем, защищая таки образом права пользователей.

Применение таких программ повышает эффективность защиты, но если программа недостаточно надежна, то ее использование может привести к потере данных. В частности, программа не должна передавать управление пользователю, пока ей предоставлены права доступа владельца, так как в этом случае пользователю будут предоставлены все права доступа владельца этой программы.

Прим.: В целях обеспечения защиты система не поддерживает вызовы setuid и setgid из сценариев оболочки.

Применение S-битов к спискам ACL

ACL типа NFS4 не позволяют непосредственно работать с S-битами. В спецификации ACL типа NFS4 не указан способ их применения. В операционной системе AIX S-биты учитываются в ходе проверки прав доступа и дополняют информацию о них, связанную с ACL типа NFS4. Команда chmod, имеющаяся в операционной системе AIX, может использоваться для установки или сброса S-битов объектов файловой системы с такими ACL, как NFS4.