Windows – Is the context of local user of AD-joined machine a domain machine account or of local machine account

active-directorydomain-controlleruser-accountswindowswindows-authentication

I am a developer and curious how Windows server machines are used.

  • A) I believe that they show interactive login screen but run without any user had ever logged-in.
    Correct?

In context of definition of (*), under which account the booted Windows AD-joined-machine is identified/secured by AD DC (Domain Controller):

  • B) Local machine account (Table 1 in (*))
  • C) Domain machine account (Table 2 in (*))

AD-joined machine show login screen permitting 2 basic logins thereafter:

    1. Local user account
    1. Domain user account

In which context – B) or C) – runs the following after A), i.e after login screen, the further logged-in local user 1)?

Update 1:
I know how identification, impersonation, and delegation of processes work.

This question is about when a Windows machine is booted and shows the interactive login screen with choices.

  1. Under which machine account is it booted before any (interactive) user login?
    when it shows login screen?

Well, basically I am re-writing the original questions.

But, having read (*), I cannot understand why "Machine SID for computer DEMOSYSTEM" (in Table 1) is needed at all.
It is not used to access other machine before joining machine to AD, even less it seems to be needed after (joining a machine to AD).

Update 2:
Also, it is difficult to believe that local user account of machine before joining to domain is the same as after joining. Computer is identified and channel is secured by DC even for local account of AD computer but not for workgroup one.

Subquestions forked from this question:

Cited:

Related question:

Best Answer

Your question is not stated very clearly... howewer, here's how it basically works:

  • Each process running on a Windows machine runs in the context of a user account; this can be one of the three machine accounts (more on this later), a local user account or a domain user account.
  • A process can be started either by a logged on user, or as a service.
  • A process started by a logged on user inherits the user's security context, and it can interact with the user's session (keyboard/mouse/screen or RDP).
  • A service is a process that runs in background without direct user interaction; it can be started automatically when the system starts. A service, too, runs in the security context of a user account, just like any interactive process; this can be a local or domain user account, or a system account. A service can't interact directly with user sessions.
  • A process running in the context of a local user account can only access resources on the local machine (if allowed); it has no valid credentials to log on to other systems, and it can connect to network resources only by supplying another set of credentials, either those of a domain user account or of a local user account on the remote server.
  • A process running in the context of a domain user account can access local resources (if allowed) and network resources (if allowed) on other domain joined computers.
  • A process running in the system context can use one of three system accounts: Local System, Local Service and Network Service. These are built-in to every Windows computer since XP/2003 (before that only Local System existed).
  • A process running as Local System has full privileges on the system; a process running as Local Service has lower privileges (same as a standard user accounts) and can't connect to network resources; a process running as Network Service has the same local privileges as Local Service, but can access the network.
  • In either case, when a process running in one of the three system contexts connects to a network resources (so this is only true for Local System and Network Service, as Local Service just can't do that), it authenticates against remote system using the computer's machine account in the domain.

To sum it up:

  • If the process runs as a local user account, it doesn't have valid logon credentials on remote systems.
  • If the process runs as a domain user account, this user account is used for logging on to remote systems.
  • If the process runs either as Local System or Network Service, it logs on to remote systems using the computer's machine account in the domain.

Update:

There's not a single account under which "the machine is booted". When you are at the logon screen, there are lots of things running on the system: basic system services, the programs which actually manage the logon screen itself, and possibly plenty of application services if the system is a server. Each one of these processes can run under a different user account. Most system services, anyway, run using one of the three system accounts (Local System, Local Service, Network Service). You can see which account a service runs as in the Services MMC (and/or in the Task Manager).

The machine SID, as stated by that article and many others, is not actually needed or used for anything, besides being a "prefix" for the SIDs of local user accounts (which, as such, are never seen nor referenced outside the system itself); network authentication on behalf of the system uses the computer's domain account.