2010-04-19 30 views
3

我有一段代碼調用LogonUser(),後面跟着CreateProcessAsUser()。在Win32中,生成的進程屬於屬於LOCAL組的用戶(如TESTDOMAIN \ user1)。但是,在x64中,流程所有者不屬於LOCAL。所有者仍屬於其他所有組(認證用戶,每個人等)爲什麼Win x64中LogonUser()返回的令牌不屬於LOCAL組?

有誰知道這是否是一個記錄的行爲改變?或者我應該在調用LogonUser()時在x64中放置一些特殊的標誌?

謝謝。

+0

你確定區別在於64位和32位嗎? LOCAL在哪裏定義?它是在兩臺機器上定義的嗎? – John 2011-01-21 04:23:43

回答

1

我確認了此行爲與MSDN支持。他們列舉了行爲變化的安全原因。

0

在沒有MS Windows的版本中,有一個名爲「LOCAL」的組。 閱讀本文 http://technet.microsoft.com/en-us/library/bb726980.aspx 然後嘗試更具體,並更正您使用的名稱和術語。

請提供更多的上下文: 您正在使用特定的操作系統? CreateProcessAsUser是否爲服務的調用者?

+0

打開ProcessExplorer,選擇任何進程,參見安全。有沒有本地? – edwinbs 2011-03-31 09:16:31

+0

在傳遞[SID_IDENTIFIER_AUTHORITY上的MSDN頁面](http://msdn.microsoft.com/zh-cn/library/dd302645.aspx)中記錄了「Local」衆所周知的SID S-1-2-0 )。然而,我不知道它是什麼。所以對每個人來說最好避免使用它,除非有人可以在某處找到更多的文檔。 :-) – 2014-05-14 20:36:13

相關問題