Пользователи клиентских компьютеров могут применять служебную программу chmod для установки setuid (задание идентификатора пользователя на выполнение), setgid (задание идентификатора группы на выполнение) и промежуточных битов округления файлового режима для файлов и каталогов, которые хранятся в разделе файловой системы NTFS и совместно используются через сервер для NFS. При последующем обращении клиента UNIX к файлу или каталогу для этих битов применяется стандартная семантика. Например, исполняемый файл, имеющий установленный бит setuid, будет выполняться под пользовательским идентификатором (UID) владельца файла, а не под идентификатором пользователя (UID), который запускает файл.

Обычно, когда для файла установлен бит setuid или setgid, владелец или группа файла изменяется на владельца или группу, под чьим идентификатором файл будет выполняться. Если пользователь не обладает правами на восстановление файлов или каталогов, система безопасности Windows разрешает пользователю стать владельцем файла (если разрешения файла позволяют делать это), но не передавать права владения другому пользователю. Таким образом, чтобы использовать команду chown или chgrp для смены владельца или группы файла на другого владельца или другую группу, необходимо обладать правами на восстановление файлов и каталогов. По умолчанию эта привилегия назначается членам групп «Администраторы» и «Операторы архива», хотя она может назначаться другим группам и отдельным пользователям. Кроме того, учетная запись пользователя, запускающего программу chown или chgrp, а также пользователи или группы, которым передается право владения, должны правильно сопоставляться с помощью средства просмотра Active Directory или службы сопоставления имен пользователей.

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

Проблема безопасности

Типовое поведение битов setuid и setgid в UNIX представляет известную проблему безопасности в среде UNIX. Злоумышленник может воспользоваться поведением битов setuid и setgid путем перезаписи исполняемого файла вирусом «Троянский конь» и последующего запуска исполняемого файла. Исполняемый файл запускается с правами владельца, вместо того чтобы запускаться как файл злоумышленника.

Чтобы устранить эту известную проблему безопасности, биты setuid, setgid отключаются по умолчанию и не влияют на параметры UID и GID, если файл или каталог имеет оба свойства, перечисляемых ниже.

  • Установлены один или оба следующих бита: setgid или setuid.

  • Файл или каталог обладает возможностью групповой записи, групповой выполнимости, глобальной записи или глобальной выполнимости.

Некоторые клиенты, возможно, посчитают эту меру безопасности сомнительной, так как она отличается от типового поведения UNIX, несмотря на то, что типовое поведение битов setuid и setgid в UNIX не задается как часть протокола NFS.

Изменение поведения битов setuid и setgid

Для изменения поведения битов setuid и setgid используется приведенная ниже процедура.

Чтобы изменить поведение битов setuid и setgid
  1. Откройте редактор реестра.

  2. Задайте значение для следующего раздела реестра:

    HKEY_Local_Machine\System\CurrentControlSet\Services\NfsSvr\Parameters\SafeSetUidGidBits = (DWORD)

    • Значение равное 1 включает более безопасное поведение битов setuid и setgid.

    • Значение равное 0 включает стандартное поведение UNIX.


Содержание