特权 (Windows) 特权privilege是Windows操作系统的帐户权限如用户用户群系统服务计算机等执行不同的系统操作如关机装入设备驱动改编系统时间等特权不同于访问权限access right 特权控制访问系统资源或系统相关任务访问特权控制访问可安全对象securable object 系统管理员赋予特权给用户或用户群而系统允许或拒绝对可安全对象的访问这是基于对象的自主访问控制列表DACL中的访问控制项ACE 系统有一个帐户数据库存储了用户或用户群的特权当用户登录后系统产生一个访问令牌access token包含了用户的特权清单这包含用户所在群的特权注意特权仅限于本地计算机域帐户在不同计算机上有不同特权 当用户试图执行一个特权操作系统检查用户的访问令牌以确定使用是否具有必要的特权调用GetTokenInformation函数可以检查特权 Windows API在Winnth定义了一套字符串常量如SEASSIGNPRIMARYTOKENNAME辨识不同的特权见Privilege ConstantsAPI函数使用LUID类型来标识不同的特权LUID随不同的计算机启动任务而变化因此要用LookupPrivilegeValue函数查出LUID与Privilege Constants的对应使用LookupPrivilegeName函数把LUID转化为对应的字符串常量 系统给特权一套用于显示的描述字符串使用LookupPrivilegeDisplayName函数获取对应于字符串常量的特权的描述字符串例如特权SESYSTEMTIMENAME的描述字符串是Change the system time 可以用PrivilegeCheck函数检查一个访问令牌是否具有指定的特权集 系统管理员可以用Local Security Authority LSA系列函数管理特权LsaAddAccountRights与LsaRemoveAccountRights函数增减特权LsaEnumerateAccountRights函数枚举指定帐户的特权LsaEnumerateAccountsWithUserRight函数枚举具有指定特权的帐户清单