77

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$             |
1

4 Answers 4

70

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 presents anonymous credentials on the network) when they connect to remote systems.

So, if you have a computer called MANGO, that machine will have a computer account in Active Directory 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
  • 7
    +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, 2010 at 2:12
  • 1
    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, 2013 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, 2013 at 15:06
  • I thought everyday groups includes authenticated users as well as local_service and local_system account?
    – kakacii
    May 22, 2017 at 3:42
  • Note that LocalSystem can also access anything that any other process can. It can thus steal credentials of logged-on users.
    – Demi
    Sep 12, 2018 at 19:44
5

It's useful to note that computer accounts also fall under Authenticated Users. So you don't have to grant individual computerName$ accounts on your network resource, you can cover all your computers by granting rights to Authenticated Users, if that's your desired scenario.

You can also use YourDomain\Domain Computers

2
3

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.

10
  • 8
    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, 2010 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, 2010 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, 2010 at 17:14
  • 3
    What i was trying to do is grant SQL Server, running as LocalSystem, access to a network share; and to do so without a) stopping the SQL Server service, b) creating a new account for SQL Server to login as, or c) changing what account SQL Server logs in as. Also, my reasons for asking the question are irrelevant. i phrased the question so people besides me could use the knowledge and apply it to their individual situations. Finally, while i am in this particular instance on a domain: any complete answer would include instructions for on a workgroup.
    – Ian Boyd
    Apr 27, 2010 at 2:11
  • 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, 2010 at 3:16
-1

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
  • 5
    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. Aug 28, 2018 at 13:41

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .