2011-09-12 34 views
1

背景:我有一個在後臺工作的windows服務(顯然),並使用 實用程序執行某個交互式任務,並將數據 發送回服務通過命名管道。只要服務 認爲合適,該實用程序就會運行,並且只會持續幾秒鐘。Windows:以過程級粒度設置安全屬性

問題出現在Vista中,程序無法自由打開命名管道 以進行寫入訪問(請參閱Windows Service Hardening)。

我打算通過創建安全的命名管道來解決這個問題屬性 使得授予寫訪問到當前登錄下啓動程序衛生組織方面 用戶,而一個問題上升到了我的腦海: 我可以允許使用其(或其線程) 句柄來訪問該命名管道只有進程?或者換句話說:windows(Vista/7/later)的安全機制可以降低到 的進程級粒度嗎?

我是該領域的新手,關於安全性的文檔讓我非常頭疼,所以任何啓發都是值得歡迎的。

在此先感謝。

回答

1

(因爲流程不是安全主體)不能保證通過進程id的對象,但你可以使用GetNamedPipeClientProcessId連接建立後,如果進程id是不是一個你喜歡失敗的所有請求。

+0

感謝您的答案和提示! –