Re: Re: BUG #13755: pgwin32_is_service not checking if SECURITY_SERVICE_SID is disabled
Michael Paquier <michael.paquier@gmail.com>
From: Michael Paquier <michael.paquier@gmail.com>
To: "Tsunakawa, Takayuki" <tsunakawa.takay@jp.fujitsu.com>
Cc: MauMau <maumau307@gmail.com>, Breen Hagan <breen@rtda.com>, Heikki Linnakangas <hlinnaka@iki.fi>,
Alvaro Herrera <alvherre@2ndquadrant.com>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2016-11-08T03:20:27Z
Lists: pgsql-bugs, pgsql-hackers
On Tue, Nov 8, 2016 at 12:16 PM, Tsunakawa, Takayuki <tsunakawa.takay@jp.fujitsu.com> wrote: > From: pgsql-hackers-owner@postgresql.org >> [mailto:pgsql-hackers-owner@postgresql.org] On Behalf Of Michael Paquier >> https://msdn.microsoft.com/ja-jp/library/windows/desktop/ms684190(v=vs >> > .85).aspx >> >> That's what I looked at as well :) And this part is what caught my attention, >> meaning that it is not used by anything else than the SCM: >> "The LocalSystem account is a predefined local account used by the service >> control manager." > > The same thing is said about other two special accounts, so they need to be checked if we really believe we need to check for LocalSystem. > > "The LocalService account is a predefined local account used by the service control manager." > "The NetworkService account is a predefined local account used by the service control manager." > > But, in practice, SECURITY_SERVICE_RID has turned out to be enough. Hm... See here: http://stackoverflow.com/questions/6084547/how-to-check-whether-a-process-is-running-as-a-windows-service And particularly this quote: "No, that is not reliable because if a service is started from command line for example it will not have this token. " -- Michael
Commits
-
Fix and simplify check for whether we're running as Windows service.
- 9c52ddfcee06 9.2.21 landed
- 3ebcc2498d2b 9.3.17 landed
- 6b584c36a40c 9.4.12 landed
- 96fd76dd2875 9.5.7 landed
- 38bdba54a64b 9.6.3 landed
- ff30aec759bd 10.0 landed