我在兩個進程之間使用命名管道進行通信,並希望限制訪問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