安全对象是一个可以具有安全描述符的对象。Windows NT支持许多不同类型的安全对象。
所有命名的对象都是安全的。一些未命名的对象(如进程和线程对象)也可以具有安全描述符。
对于大多数安全对象,您可以在创建对象的函数调用中指定对象的安全描述符。例如,您可以在CreateFile和CreateProcess函数中指定安全描述符。此外,Win32 API提供了获取和设置现有对象的安全描述符的功能。下表显示了用于处理不同类型的安全对象的功能。
对象类型 | 高级功能 | Windows NT 3.x功能 |
文件和目录 | GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo | GetFileSecurity, SetFileSecurity |
邮槽和命名管道 | GetSecurityInfo, SetSecurityInfo | GetFileSecurity, SetFileSecurity |
控制台屏幕缓冲区 | 不支持。 | 不支持。 |
进程,线程和文件映射对象 | GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo | SetKernelObjectSecurity, GetKernelObjectSecurity |
访问令牌 | 不支持。 | SetKernelObjectSecurity, GetKernelObjectSecurity |
窗口管理对象(窗口站和台式机) | GetSecurityInfo, SetSecurityInfo | GetUserObjectSecurity, SetUserObjectSecurity |
注册表对象 | GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo | RegGetKeySecurity, RegSetKeySecurity |
Windows NT服务对象 | GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo | QueryServiceObjectSecurity, SetServiceObjectSecurity |
打印机对象 | GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo | GetPrinter, SetPrinter |
Windows NT网络共享 | GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo | NetShareGetInfo和NetShareSetInfo,使用等级502。 |
进程间同步对象(信号量,事件,互斥体和等待计时器) | GetNamedSecurityInfo, SetNamedSecurityInfo, GetSecurityInfo, SetSecurityInfo | SetKernelObjectSecurity, GetKernelObjectSecurity |
私有对象(创建应用程序的私有对象) | 不支持。 | CreatePrivateObjectSecurity, DestroyPrivateObjectSecurity, GetPrivateObjectSecurity, SetPrivateObjectSecurity |