How do you grant access to network resources to the LocalSystem (NT AUTHORITY\SYSTEM) account?


Background

When accessing the network, the LocalSystem account acts as the computer on the network:

LocalSystem Account

The LocalSystem account is a predefined local account used by the service control manager.

...and acts as the computer on the network.

Or to say the same thing again: The LocalSystem account acts as the computer on the network:

When a service runs under the LocalSystem account on a computer that is a domain member, the service has whatever network access is granted to the computer account, or to any groups of which the computer account is a member.

How does one grant a "computer" access to a shared folder and files?


Note:

Computer accounts typically have few privileges and do not belong to groups.

So how would i grant a computer access to one of my shares; considering that "Everyone" already has access?

Note: workgroup

| Account        | Presents credentials |
|----------------|----------------------|
| LocalSystem    | Machine$             |
| LocalService   | Anonymous            |
| NetworkService | Machine$             |
up vote 55 down vote accepted

In a domain environment, you can grant access rights to computer accounts; this applies to processes running on those computers as LocalSystem or NetworkService (but not LocalService, which can't access the network at all presents anonymous credentials on the network) when they connect to remote systems.

So, if you have a computer called MANGO, you'll have an Active Directory computer account called MANGO$, which you can grant permissions to.

enter image description here

Note: You can't do any of this in a workgroup environment; this applies only to domains.

  • 6
    +1 and accepted. But: LocalService can access the network, it just "presents anonymous credentials on the network" (msdn.microsoft.com/en-us/library/ms684188(VS.85).aspx) – Ian Boyd Apr 27 '10 at 2:12
  • Didn't know that, thanks. – Massimo Apr 27 '10 at 5:38
  • Just to mention, having spent a not inconsiderable amount of time trying to get this to work for multiple domains I don't think it's possible. i.e. \\DOMAIN2\MANGO$ doesn't appear to grant access. – BennyB Jul 9 '13 at 13:31
  • This only works if the domains are in a trust relationship; otherwise, you're correct, it doesn't work. – Massimo Jul 9 '13 at 15:06
  • I thought everyday groups includes authenticated users as well as local_service and local_system account? – kakacii May 22 '17 at 3:42

You don't. If you need a service to connect to remote files or other network services, then you want to have the service run as a named account, and on the remote machine, assign rights to that named account.

It would really be best if you full explain what you're trying to do - that way you'll get the best answers.

  • 6
    Totally incorrect. You can grant permissions to machine accounts (and thus to services running as them) exactly the same way you can grant them to user accounts. There are of course scenarios where this might not be the best solution, but it's perfectly doable. – Massimo Apr 26 '10 at 15:21
  • 1
    The answer looked exactly like that, this is the reason for my downvote; also, the original poster seem to know quite well the difference between an user account and a computer one, so answering his question with "don't do that" just didn't seem right to me. – Massimo Apr 26 '10 at 17:01
  • 1
    Besides, there are very legitimate scenarios where granting permissions to machine accounts would be needed. Just think about computer startup scripts, or GPO software deployment, or services which just want to run as LocalSystem and you can't do anything about that. I'm not saying this is a best practice or "the" right solution, of course; but if someone asks "how to do this?" I think "don't do it" is definitely not a correct answer. – Massimo Apr 26 '10 at 17:14
  • 1
    In a workgroup environment, you can't assign rights on MachineB to an user account defined on MachineA... besides, he was asked specifically how to assign rights to a maschine account, so that's what I answered to; and I also said that this was not possible without a domain. – Massimo Apr 26 '10 at 19:03
  • 2
    Ian - if that's what you're after, it's usually a better idea to use the SQL Server Agent and its account, or use Integration Services. You can get more detail when you ask a detailed question, and it can still be very applicable to other readers' situations. – mfinni Apr 27 '10 at 3:16

It is Simple:

Put the Machine´s AD Account into the local Admins Group and then this Machine (or its Local Admin Account) can fully Access the destination OVER the Network. Tested today, works fine.

  • 1
    While this is functional, it is NOT recommended or best practice. The Local System account is called local for a reason. If you want something to have network access, the service or otherwise should be changed to run as another user. This would be like granting the guest account on a machine administrator access. It would work, but that defeats the purpose of what it was built for. – Cory Knutson Aug 28 at 13:41

Your Answer

By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

Not the answer you're looking for? Browse other questions tagged or ask your own question.