我在两个进程之间使用命名管道进行通信,并希望限制访问Windows中本地系统上的任何用户。Windows中仅限本地系统ACL
我正在构建和ACL中使用传递给CreateNamedPipe的SECURITY_ATTRIBUTES。
我将此代码作为Microsoft的基础。
SID_IDENTIFIER_AUTHORITY siaLocal = SECURITY_LOCAL_SID_AUTHORITY;
if(!AllocateAndInitializeSid(&siaLocal, SECURITY_LOCAL_RID,
0, 0, 0, 0, 0, 0, 0, 0,
&pSidLocal))
{
break;
}
然后我用AddAccessAllowedAce使用该sid。
所有这些都成功完成,我可以创建命名管道,但是当客户端进程尝试使用CreateFile进行连接时,它会因访问被拒绝而失败。
如何创建一个允许本地机器的任何用户访问它的SID的ACL?
除了为“网络”ACE添加访问被拒绝的令牌之外,我认为您需要为“所有人”或“经过身份验证的用户”添加一个访问允许的令牌。 – 2009-07-13 06:21:41