I have a directory shared on my computer, which is part of the domain. Is it possible to set up the share so that a user logged on to a different machine which is not part of the domain can access my share? From the machine not on the domain, I can browse to the share, but it asks for credentials, and I just want to allow anonymous access.
To do what you want you'll have to enable the "Guest" account on the computer hosting the files and then grant the "Everyone" group whatever access you want.
"Guest" is a user account, but its enabled / disabled status is interpreted by the operating system as a boolean "Allow unauthenticated users to connect?" Permissions still control the access to files, but you open things up a LOT by enabling Guest.
Don't do this on a domain controller computer, BTW, because you'll be Guest on all DCs...
In my case, enabling the
Guest account and adding
Everyone did not help (with a share on an older box with Windows Server 2008 SP2 in a domain and a Windows Server 2012 R2 machine from outside of the domain).
After following the excellent guide posted by Nikola Radosavljevic, anonymous access finally worked in my scenario.
Summary of steps:
ANONYMOUS LOGONto the permissions of the share.
- Open the Group Policy Editor (e.g. by running
- Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> Security Options
- Accounts: Guest account status:
- Network access: Let Everyone permissions apply to anonymous users:
- Network access: Restrict anonymous access to Named Pipes and Shares:
- Network access: Shares that can be accessed anonymously:
Update (Windows Server 2016)
I would like to draw your attention to the comment by @Schneider as he pointed out, that on more recent systems fewer steps are necessary.
Update (May 2020)
@mrtumnus pointed out that the path in the group policy editor's tree could also be:
- Computer Configuration -> Policies -> Windows Settings -> Security Settings -> Local Policies -> Security Options
I have checked this on Windows Server 2019 and could not find this tree item. If anyone could provide more details regarding in which situation the setting is located at a different place, I am willing to add this information.
Enabling the Guest account is not recommended. Baz and djangofan are correct; you have to give the anonymous user permission to the share and the folder. (Security permissions in the sharing and folder tab, assuming you don't have a Home version of Windows.)
An interesting gotcha: Giving 'Everyone' access doesn't work, even though you'd think it would. In the permissions dialog in the sharing tab, you specifically have to include the anonymous user. On Windows 7, that's the local ANONYMOUS LOGON user.
Windows 10 Pro 1909 here. I could not get a truly anonymous share to work, no matter what. But that might not be really necessary, since Guest shares still work and they accept any username with a blank password:
1) Enable the
Everyone permissions to both the share AND the files inside.
Guest is a member of
Everyone group, along with all other users, so you don't have to give explicit permissions to
Everyone is already allowed, but
Authenticated Users do not include
3) Open the Group Policy Editor (gpedit.msc) and browse to Computer Configuration -> Windows Settings -> Security Settings -> Local Policies -> User Rights Assignment, locate policy Deny access to this computer from the network and REMOVE
Guest from the list.
When connecting to the share:
net use Z: \\Server\Share "" /user:Any will work.
net use Z: \\Server\Share "" /user:"" will not work.
Here is an alternative method that I use to accomplish this in Windows 10 Pro. This method involves enabling the Public folder sharing functionality built into Windows, creating a new Shared folder and setting the Sharing and NTFS permissions identical to the Public folder under the Users directory. Then disabling the Public share. This method does not modify any local security policies or registry settings (that I have seen posted all over the Internet)
- Open “Network and Sharing Center” and click on the “Advanced sharing settings” link.
- Expand "All Networks".
- Check “Turn on sharing so anyone with network access can read and write files in the Public folders”
- Click “Turn off password protected sharing”.
- Create the “Shared” folder on the drive of your choice on whatever drive you choose.
- Enable the share by clicking the “Advanced Sharing…” button.
- Set the Share permission to “Everyone”, “Full Control”.
- Set the Security [NTFS] permissions the same as the “Public” folder under the C:\Users directory.
- For “Interactive”, “Service” and “Batch” set the 2 special permissions to match the permissions in Advanced Security Settings, Show Advanced Permissions.
- Optional: Turn off sharing on the “Users” directory that was enabled when the Public Folder sharing was enabled.
- Optional: If multiple subnets/VLANs need to access the file share, go into the Windows Defender Firewall, Advanced Firewall Settings, click on “Inbound Rules” and filter by the File and Printer sharing group and profile type. Under the Scope tab, modify each Inbound firewall rule and change "localsubnet" under "Remote IP Address" to include the additional subnets that need access to the share.
- Test access to the newly created “Shared” folder.
- Check in “Computer Management” for the Session status. It shows as "Guest" is the account used to authenticate.
- Repeat the process for multiple shared folders with Anonymous access.
Do you really want to give unauthenticated access to files? If it's a small group of users, you could create local accounts for them on the machine, create a group, and give that group access to only that one folder. If it's a web server in a DMZ, maybe setting up a web front end would be better so you can better security than "Everyone has access to do whatever to these files".
Boiled it down to this:
On the file server Give anonymouse Share and NTFS rights as needed (Read in my case)
Create GPO and apply to file server Computer - Windows - Security - Local - Security
Accounts:Guest account status - Enabled
Accounts: Rename administrator account - SomeNameOfYourChoise
Accounts: Rename Guest account - SomeNameOfYourChoise
Network access: Shares that can be accessed anonymously: YourShareName
Network access: Sharing and security model for local account from “Classic-local users authenticate as themselves” to “Guest only-local users authenticate as Guest”.
On my Windows 10 machine I've checked all proposed solutions to find out what is actually necessary.
Here is list of steps that are actually needed:
Enable Guest account
Easy way: Advanced sharing -> permissions -> add guest (I know You can use everyone after you enable policy that effectively makes Guest part of everyone group)
Easy way: Right click folder -> properties -> security -> edit -> add -> type Guest, enter
And I have not seen this here, but it worked like a charm for me - go to Control Panel\All Control Panel Items\Network and Sharing Center\Advanced sharing settings and there set: "Turn OFF password protected sharing" This worked for me every time
I had this problem with Windows Server 2012. After a lot of searching i found this page: No-password file share still requires login
For the lazy. - Computer Configuration - Windows Settings - Security Settings - Local Policies - Security Options. Change “Network access: Let Everyone permissions apply to anonymous users” to Enabled.
that fixed it for me when nothing else was working.