일부 네트워크 리소스에 액세스해야하는 LocalSystem으로 실행되는 Windows 서비스가 있습니다. OpenProcessToken
으로 토큰을 검색하고 복제하여 WindowsIdentity.Impersonate
을 호출하여 현재 로그온 한 사용자를 가장하는 방법을 찾았습니다. 그렇게하면 가장 된 사용자와 동일한 네트워크 리소스에 액세스 할 수 있습니다.LocalSystem 계정이 모든 사용자를 가장 할 수 있습니까? 사용자가 로그온하지 않은 경우에도?
그러나 로그온 한 사용자가있는 경우에만 내 서비스가 작동한다는 것을 의미합니다. LocalSystem이 시스템의 모든 권한을 가지고 있으므로 현재 기록되지 않은 사용자로 가장 할 수 있습니다. 에? 또는 암호를 몰라도 (로컬) 사용자로 로그온 할 수 있습니까? 가능하다면 어떻게 할 수 있습니까? 어떤 도움
나는 명제와? 사이의 프랑스어 공간을 본다. :) "NetworkService"에 대한 제한이 있습니까? – serhio
NetworkService를 시도하지는 않았지만 AFAIK이 계정은 LocalSystem보다 적은 권한을 가지고 있으므로 도움이 될지 모르겠습니다. –
http://blogs.msdn.com/b/esiu/ archive/2005/07/19/eugene.aspx는 약간의 빛을 가져올 수 있습니다. – serhio