Windows:以进程级粒度设置安全性属性

时间:2011-09-12 09:16:19

标签: windows service windows-vista vista-security

背景:我有一个在后台工作的Windows服务(显然),并使用   一个实用程序,用于执行某个交互式任务并发回数据   通过命名管道进行服务。每当服务时,实用程序都会运行   认为合适,只能活几秒钟。

问题始于Vista,程序无法自由打开命名管道 用于写访问(参见Windows Service Hardening)。

我计划通过创建具有安全属性的命名管道来解决问题 这样就可以在whos上下文中授予对当前登录用户的写访问权限 程序启动了,我想到了一个问题: 我是否可以使用其(或其线程)仅允许访问该命名管道到进程 处理?

或者换句话说:Windows(Vista / 7 /更高版本)的安全机制可以归结为 进程级粒度?

我是该领域的新手,关于安全的文档让我非常头疼,所以任何启蒙都是受欢迎的。

提前致谢。

1 个答案:

答案 0 :(得分:1)

您无法通过进程ID保护对象(因为进程不是安全主体),但您可以在建立连接后使用GetNamedPipeClientProcessId,如果进程ID不是您喜欢的,则会失败所有请求