2つのプロセス間の通信に名前付きパイプを使用していて、Windowsのローカルシステム上の任意のユーザーにアクセスを制限します。WindowsのローカルシステムのみのACL
私は、CreateNamedPipeに渡されたSECURITY_ATTRIBUTESで使用するためのビルドとACLを作成しています。
私はこのコードを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にアクセス拒否トークンを追加することに加えて、「everyone」または「authenticated users」にアクセス許可トークンを追加する必要があると思います。 –