Note: This guide was inspired by SpaceInvaderOne’s tutorial here. Feel free to reference it if you prefer a video walkthrough.
Like most server-based operating systems, one of the greatest benefits of Unraid is the ability to run it headless and manage everything from other devices on your network.
For our Docker applications, we have the ability to manage their services via their web interfaces through a local IP address and port number on a local network or externally through a VPN client like WireGuard or reverse proxies.
But what’s the best way to manage our files and shares from another device? While Docker applications like Krusader exist and can be helpful, Unraid fortunately supports several networking protocols that allow us to easily access our shares and files from a different device or operating system.
In this tutorial, I’m going to walk you through setting up a root share using the SMB protocol to access your shares and files because most of my devices run Windows. Unraid also supports other protocols that might be better suited for your operating system (NFS, AFP, etc.), which I will not be covering in this guide.
Clunky Method: Enabling SMB Through Individual Share Settings
SMB, or Server Message Block, is a network protocol that will allow us to access and edit the files on our Unraid shares through another operating system’s network sharing capabilities.
Most people choose to manage this through each share’s individual settings, which involves clicking into each share and enabling the appropriate permissions for each under “SMB Security Settings”:
Enabling SMB network access to a share like this allows each individual share to appear as a separate network location within Windows.
While shares can be managed this way, this method becomes clunky when you try to move files from one share to another – your local device will often attempt to manually download the file from the old location and upload it to the new location itself, rather than just tell Unraid to change the location using its backend capabilities.
Luckily, there’s another way to configure SMB that will allow us to bypass that.
Before I go on, I should note that there are appropriate times to use this setting – primarily if you want to grant other users view access to individual shares on the network, or if you only need network access to one or two shares and do not require the functionality to move files between shares.
Configuring a Root Share
To bypass the clunky way of managing files between shares, we’re going to set up a root share, which will allow us to create a single network location that will provide access to all of our user shares as if they were all located in the same network location. This will allow us to easily transfer files between shares without our local device needing to intervene.
Before we get started, if you would like this root share to be private and require credentials to access (which I highly recommend), go ahead and create a new Unraid user within the Unraid settings and assign it a strong set of credentials.
If you’re okay making your root share public and accessible to all on the network, feel free to skip this step.
Once you’ve created your new user (or if you’ve opted to skip that step), we’re ready to edit the global SMB settings.
Before we can do that, though, we’ll need to stop our Unraid array or it won’t let us edit and apply the new SMB settings. Make sure you’re okay temporarily losing access to your array before doing so!
Once you’ve stopped your array, click into the SMB settings under “Network Services” within the “Settings” tab of Unraid:
There you will find a free-text field titled “Samba extra configuration” under the “SMB Extras” section.
Refer to the following steps to configure the field:
If you want to create a private root share, enter the following lines and replace “nameofrootshare” with the name you want your root share to appear as to other devices and “usernamegoeshere” with the new user you just created:
[nameofrootshare] path = /mnt/user comment = browseable = yes valid users = usernamegoeshere write list = usernamegoeshere vfs objects =
If you want to create a public root share, enter the following lines and replace “nameofrootshare” with the name you want your root share to appear as to other devices:
[nameofrootshare] path = /mnt/user comment = browseable = yes # Public public = yes writeable = yes vfs objects =
If you don’t want your private or public root share to access certain folders, you can also change the folder path it has access to by editing the ‘path’ variable.
Here’s what the settings for my private root share look like (with sensitive data obscured):
Click ‘Apply’ to save your settings and restart your array.
Accessing Your Root Share
If you’ve enabled the network sharing capabilities on your other devices, you should now see your root share appear as a single network location and your shares as browsable folders within.
If you set your share as private, you will be prompted for credentials before you can access your files. Use the username and password of the user you created in Unraid and assigned in the SMB settings to gain access.
You should now be able to browse and edit your shares with the ability to move files and folders between each without your local device needing to download/upload as an intermediary.
If you’d like the ability to access and manage your root share outside of your local network, look into a VPN client like WireGuard to give you access to your internal network on-the-go.
Now that you’re set up with a root share and managing your files remotely, it may be worth checking out this SpaceInvaderOne video on troubleshooting SMB issues if you’re using Windows, as you’ll likely run into some when using your root share.
Otherwise, feel free to ask questions or leave feedback in the comments.
If you’ve found this or any of the other posts on SHIFT14 helpful, please consider supporting the site through a one-time PayPal donation or ongoing support through Patreon. My goal is to continue providing in-depth guides for the technical community and the support helps justify the time and resources spent doing so.