特权常量(授权)

特权确定用户帐户可执行的系统操作的类型。 管理员为用户和组帐户分配特权。 每个用户的特权包括授予用户的权限以及授予用户所属的组的权限。

用于获取和调整访问令牌中特权的函数使用本地唯一标识符 (LUID) 类型来标识特权。 使用 LookupPrivilegeValue 函数来确定与特权常量对应的本地系统上的 LUID。 使用 LookupPrivilegeName 函数将 LUID 转换为其相应的字符串常量。

操作系统通过使用下表“说明”列中的“用户权限”后面的字符串来表示特权。 操作系统在本地安全设置 Microsoft 管理控制台 (MMC) 管理单元的“用户权限分配”节点的“策略”列中显示用户权限字符串。

示例

BOOL EnablePrivilege()
{
    LUID PrivilegeRequired ;
    BOOL bRes = FALSE;
  
    bRes = LookupPrivilegeValue(NULL, SE_DEBUG_NAME, &PrivilegeRequired);

    // ...

    return bRes;
}

GitHub 上的 Windows 经典示例中的例子。

常量

常量/值 说明
SE_ASSIGNPRIMARYTOKEN_NAME
TEXT("SeAssignPrimaryTokenPrivilege")
分配进程的主令牌所必需的。
用户权限:替换进程级令牌。
SE_AUDIT_NAME
TEXT("SeAuditPrivilege")
生成审核日志条目所必需的。 向安全的服务器提供此权限。
用户权限:生成安全性审核。
SE_BACKUP_NAME
TEXT("SeBackupPrivilege")
执行备份操作所必需的。 此权限会导致系统向任何文件授予全部读取访问控制,而不考虑为该文件指定的访问控制列表 (ACL)。 除读取以外的任何访问请求仍使用 ACL 进行评估。 RegSaveKeyRegSaveKeyEx 函数需要此权限。 如果保留此权限,则会授予以下访问权限:
  • READ_CONTROL
  • ACCESS_SYSTEM_SECURITY
  • FILE_GENERIC_READ
  • FILE_TRAVERSE
用户权限:备份文件和目录。
如果文件位于可移动驱动器上并启用了“审核可移动存储”,则需要 SE_SECURITY_NAME 才能拥有 ACCESS_SYSTEM_SECURITY。
SE_CHANGE_NOTIFY_NAME
TEXT("SeChangeNotifyPrivilege")
接收有关文件或目录更改的通知所必需的。 此权限还会导致系统跳过所有遍历访问检查。 默认为所有用户启用该权限。
用户权限:绕过遍历检查。
SE_CREATE_GLOBAL_NAME
TEXT("SeCreateGlobalPrivilege")
在终端服务会话期间在全局命名空间中创建命名文件映射对象时所必需的。 默认为管理员、服务和本地系统帐户启用此特权。
用户权限:创建全局对象。
SE_CREATE_PAGEFILE_NAME
TEXT("SeCreatePagefilePrivilege")
创建分页文件所必需的。
用户权限:创建页面文件。
SE_CREATE_PERMANENT_NAME
TEXT("SeCreatePermanentPrivilege")
创建永久对象所必需的。
用户权限:创建永久共享对象。
SE_CREATE_SYMBOLIC_LINK_NAME
TEXT("SeCreateSymbolicLinkPrivilege")
创建符号链接所必需的。
用户权限:创建符号链接。
SE_CREATE_TOKEN_NAME
TEXT("SeCreateTokenPrivilege")
创建主令牌所必需的。
用户权限:创建令牌对象。
不能将此权限添加到设置了“创建令牌对象”策略的用户帐户。 此外,不能使用 Windows API 将此权限添加到拥有的进程。Windows Server 2003 和 Windows XP with SP1 及更早版本:Windows API 可将此权限添加到拥有的进程。

SE_DEBUG_NAME
TEXT("SeDebugPrivilege")
必须提供此常量才能调试和调整另一帐户拥有的进程的内存。
用户权限:调试程序。
SE_DELEGATE_SESSION_USER_IMPERSONATE_NAME
TEXT("SeDelegateSessionUserImpersonatePrivilege")
获取同一会话中其他用户的模拟令牌时所必需的。
用户权限:模拟其他用户。
SE_ENABLE_DELEGATION_NAME
TEXT("SeEnableDelegationPrivilege")
将用户和计算机帐户标记为“受信任且可用于委派”时所必需的。
用户权限:启用要信任的用于委派的计算机和用户帐户。
SE_IMPERSONATE_NAME
TEXT("SeImpersonatePrivilege")
模拟所必需的。
用户权限:身份验证后模拟客户端。
SE_INC_BASE_PRIORITY_NAME
TEXT("SeIncreaseBasePriorityPrivilege")
提高进程的基优先级所必需的。
用户权限:提高计划优先级。
SE_INCREASE_QUOTA_NAME
TEXT("SeIncreaseQuotaPrivilege")
增加分配给进程的配额时所必需的。
用户权限:调整进程的内存配额。
SE_INC_WORKING_SET_NAME
TEXT("SeIncreaseWorkingSetPrivilege")
为在用户上下文中运行的应用程序分配更多内存时所必需的。
用户权限:增加进程工作集。
SE_LOAD_DRIVER_NAME
TEXT("SeLoadDriverPrivilege")
必须提供此常量才能加载或卸载设备驱动程序。
用户权限:加载和卸载设备驱动程序。
SE_LOCK_MEMORY_NAME
TEXT("SeLockMemoryPrivilege")
在内存中锁定物理页所必需的。
用户权限:在内存中锁定页。
SE_MACHINE_ACCOUNT_NAME
TEXT("SeMachineAccountPrivilege")
创建计算机帐户所必需的。
用户权限:将工作站添加到域。
SE_MANAGE_VOLUME_NAME
TEXT("SeManageVolumePrivilege")
启用卷管理权限所必需的。
用户权限:执行卷维护任务。
SE_PROF_SINGLE_PROCESS_NAME
TEXT("SeProfileSingleProcessPrivilege")
收集单个进程的分析信息所必需的。
用户权限:分析单个进程。
SE_RELABEL_NAME
TEXT("SeRelabelPrivilege")
修改对象的强制性完整性级别所必需的。
用户权限:修改对象标签。
SE_REMOTE_SHUTDOWN_NAME
TEXT("SeRemoteShutdownPrivilege")
使用网络请求关闭系统时所必需的。
用户权限:从远程系统强制关机。
SE_RESTORE_NAME
TEXT("SeRestorePrivilege")
执行还原操作所必需的。 此权限会导致系统向任何文件授予全部写入访问控制,而不考虑为该文件指定的 ACL。 除写入以外的任何访问请求仍使用 ACL 进行评估。 此外,通过此权限,可将任何有效的用户或组 SID 设置为文件的所有者。 RegLoadKey 函数需要此权限。 如果保留此权限,则会授予以下访问权限:
  • WRITE_DAC
  • WRITE_OWNER
  • ACCESS_SYSTEM_SECURITY
  • FILE_GENERIC_WRITE
  • FILE_ADD_FILE
  • FILE_ADD_SUBDIRECTORY
  • DELETE
用户权限:还原文件和目录。
如果文件位于可移动驱动器上并启用了“审核可移动存储”,则需要 SE_SECURITY_NAME 才能拥有 ACCESS_SYSTEM_SECURITY。
SE_SECURITY_NAME
TEXT("SeSecurityPrivilege")
执行许多与安全相关的功能(例如控制和查看审核消息)时所必需的。 此特权将其持有者标识为安全操作员。
用户权限:管理审核和安全日志。
SE_SHUTDOWN_NAME
TEXT("SeShutdownPrivilege")
关闭本地系统所必需的。
用户权限:关闭系统。
SE_SYNC_AGENT_NAME
TEXT("SeSyncAgentPrivilege")
域控制器使用轻型目录访问协议目录同步服务时所必需的。 此特权使持有者能够读取目录中的所有对象和属性,而不考虑对对象和属性施加了何种保护。 默认情况下,该权限会分配给管理员和域控制器上的 LocalSystem 帐户。
用户权限:同步目录服务数据。
SE_SYSTEM_ENVIRONMENT_NAME
TEXT("SeSystemEnvironmentPrivilege")
对使用此类型的内存来存储配置信息的系统的非易失性 RAM 进行修改时所必需的。
用户权限:修改固件环境值。
SE_SYSTEM_PROFILE_NAME
TEXT("SeSystemProfilePrivilege")
收集整个系统的分析信息所必需的。
用户权限:分析系统性能。
SE_SYSTEMTIME_NAME
TEXT("SeSystemtimePrivilege")
修改系统时间所必需的。
用户权限:更改系统时间。
SE_TAKE_OWNERSHIP_NAME
TEXT("SeTakeOwnershipPrivilege")
在未被授予任意性访问权限的情况下获取对象所有权所必需的。 此特权仅允许将所有者值设置为持有者作为对象所有者可适当分配的值。
用户权限:获得文件或其他对象的所有权。
SE_TCB_NAME
TEXT("SeTcbPrivilege")
此特权将其持有者标识为受信任的计算机基的一部分。 会向某些受信任且受保护的子系统授予此权限。
用户权限:充当操作系统的一部分。
SE_TIME_ZONE_NAME
TEXT("SeTimeZonePrivilege")
调整与计算机内部时钟关联的时区所必需的。
用户权限:更改时区。
SE_TRUSTED_CREDMAN_ACCESS_NAME
TEXT("SeTrustedCredManAccessPrivilege")
作为受信任的呼叫方访问凭据管理器时所必需的。
用户权限:作为受信任的呼叫方访问凭据管理器。
SE_UNDOCK_NAME
TEXT("SeUndockPrivilege")
取消停靠笔记本电脑所必需的。
用户权限:从扩展坞中移除计算机。
SE_UNSOLICITED_INPUT_NAME
TEXT("SeUnsolicitedInputPrivilege")
终端设备读取未经请求的输入时所必需的。
用户权限:不适用。

备注

特权常量在 Winnt.h 中定义为字符串。 例如,SE_AUDIT_NAME 常量定义为“SeAuditPrivilege”。

要求

要求
最低受支持的客户端
Windows XP [仅限桌面应用]
最低受支持的服务器
Windows Server 2003 [仅限桌面应用]
Header
Winnt.h

另请参阅

权限