Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Привилегия — это механизм, который операционная система использует для управления определенными операциями. Каждая привилегия имеет определенные операции, связанные с ней, которые вызывающий объект операции может выполнить, если выполнены следующие два условия:
- Привилегия должна принадлежать вызывающей стороне.
- Кроме того, необходимо включить привилегию.
Принцип этих требований называется принципом наименьших привилегий. Принцип минимальных привилегий требует, чтобы привилегии включались перед их использованием, а не предполагались заранее. Это требование сводит к минимуму вероятность того, что пользователь может непреднамеренно выполнить операцию, которую они не планировали. Например, SeRestorePrivilege обычно позволяет вызывающему объекту обойти обычные проверки доступа на запись к файлу. Например, администратор может не захотеть фактически переопределять обычные проверки безопасности при копировании файла. Однако при восстановлении того же файла с помощью программы резервного копирования и восстановления может потребоваться сделать это.
Для файловых систем существует множество привилегий, которые часто используются для изменения нормального поведения (в частности, проверок безопасности) для системы. Эти привилегии:
SeBackupPrivilege разрешает получение содержимого файла, даже если дескриптор безопасности в файле может не предоставлять такой доступ. Вызывающий объект с включенной привилегией SeBackupPrivilege устраняет необходимость проверки безопасности на основе ACL.
SeRestorePrivilege разрешает изменение содержимого файла, даже если дескриптор безопасности в файле может не предоставлять такой доступ. Эту функцию также можно использовать для изменения владельца и защиты.
SeChangeNotifyPrivilege позволяет пройти справа. Эта привилегия является важной оптимизацией в Windows, так как она удаляет затраты на выполнение проверки безопасности для каждого каталога в пути.
SeManageVolumePrivilege позволяет выполнять определенные операции управления на уровне тома, такие как блокировка тома, дефрагментация, размонтирование тома и установка допустимой длины данных в Windows XP и более поздних версиях. Драйвер файловой системы явно применяет эту определенную привилегию в первую очередь на основе операций FSCTL. В этом случае файловая система принимает решение о применении этой привилегии. Определение того, обладает ли вызывающий этой привилегией, осуществляется монитором безопасности в рамках обычной проверки привилегий.
Хотя существует множество других привилегий, они обычно непрозрачны для файловых систем, и интерпретирует их только монитор ссылок на безопасность (SRM).
Основные подпрограммы Windows для управления привилегиями в файловой системе:
SePrivilegeCheck выполняет проверку определенного набора необходимых привилегий.
SeSinglePrivilegeCheck выполняет проверку на наличие единой определенной привилегии; это оптимизированная версия SePrivilegeCheck.
SeAccessCheck выполняет обычную проверку доступа к объекту (обычно файловый объект для файловой системы).
SeFreePrivileges освобождает блок привилегий, возвращенный предыдущим вызовом SeAccessCheck.
SeAppendPrivileges добавляет включенные привилегии в структуру ACCESS_STATE. Как правило, файловая система будет использовать объект ACCESS_STATE, переданный ей при обработке IRP_MJ_CREATE.