c -如何将NamedPipe创建为可由普通用户连接的LocalSystem帐户



我能够在Windows上创建一个NamedPipe,客户端可以连接到它,一切都很好,但是当我作为LocalSystem用户创建管道时,我的"正常"用户无法再连接(accessDenied, lastError=5)

我已经尝试从这个字符串创建一个安全描述符:

String secDesc = "D:"+
"(D;OICI;GA;;;BG)"+     // Deny access to built-in guests
"(D;OICI;GA;;;AN)"+     // Deny access to anonymous logon
"(A;OICI;GRGWGX;;;AU)"; // Allow read/write/execute to authenticated users

并使用Windows中的convertStringSecurityDescriptorToSecurityDescriptor函数来构建一个,但仍然没有成功。有人能帮我吗?我是否需要另一个安全描述符,或者我是否可以以其他方式解决这个问题?

我明白了,我需要另一个描述符,以便低权限用户帐户可以访问管道:

String secDesc = "S:(ML;;NWNR;;;LW)"+ // Some other stuff I know nothing about
"D:"+
"(D;OICI;GA;;;BG)"+     // Deny access to built-in guests
"(D;OICI;GA;;;AN)"+     // Deny access to anonymous logon
"(A;OICI;GRGWGX;;;AU)"; // Allow read/write/execute to authenticated users

最新更新