我能够在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