EDIT: I’ve accepted that the tutorial I was trying to follow is incomplete or incorrect. I’ve successfully accessed my new samba share after creating a user on the host machine and updating smb.conf
. I must authenticate to access the share, and I’m fine with that, so I’m calling this thread “Resolved.” I want to thank everyone who chimed in in the comments. Feel free to keep the discussion going for anyone else who stumbles upon this thread.
Here are my final notes on this subject:
- Install samba packages:
sudo apt update && sudo apt install samba
- Confirm smbd is running:
sudo systemctl status smbd
- Create a dedicated folder for the share:
sudo mkdir /mnt/ShareDemo
- Create a new user and set the password for Linux:
sudo adduser shareuser
- Add the new user for Samba using the same password:
sudo smbpasswd -a shareuser
- Change ownership of the ShareDemo folder:
sudo chown -R shareuser:shareuser /mnt/ShareDemo
- And change its permissions to
0775
:sudo chmod -R 0775 /mnt/ShareDemo
- Update firewall rules to allow access:
sudo ufw allow samba
- Add the share definition to the end of
/etc/samba/smb.conf
as follows:
[ShareDemo]
path = /mnt/ShareDemo
valid users = shareuser
public = no
writable = yes
browseable = yes
I’m not sure if restarting the smbd is necessary, but if it is, here’s how to do that: sudo service smbd restart
On another device on the same network, we should now be able to find and access this shared folder in the Network section of our file browser of choice and authenticate using shareuser
.
ORIGINAL POST:
Background: I’m attempting to set up a public samba share on my local network following this tutorial on thelinuxcode.com. Long term, I’ll probably set up some security around this, but for now I just want to confirm I can follow a basic tutorial. Unfortunately, so far, I’m failing.
What I’ve done so far (on the host machine):
- Installed samba packages:
sudo apt update && sudo apt install samba
- Confirmed smbd is running:
sudo systemctl status smbd
- Created a dedicated folder for the share:
sudo mkdir /mnt/ShareDemo
- Changed ownership of the ShareDemo folder to
nobody:nogroup
:sudo chown -R nobody:nogroup /mnt/ShareDemo
- And changed its permissions to
0775
:sudo chmod -R 0775 /mnt/ShareDemo
- Added the share definition to
/etc/samba/smb.conf
as follows:
[ShareDemo]
path = /mnt/ShareDemo
valid users = @users
force user = nobody
force group = nogroup
public = yes
writable = yes
browseable = yes
- Updated firewall rules to allow access:
sudo ufw allow samba
As far as I can tell, I’ve followed the instructions exactly as described in the tutorial. According to the tutorial, my newly created Samba share should now be accessible from any Windows, macOS, or Linux device on the same local network. On Linux:
- Install samba-client if you haven‘t already -> DONE.
- Open your file manager and click “Other Locations” or “Network” -> DONE.
- Browse for your Ubuntu hostname and click the share folder -> DONE.
- It will mount automatically without any login prompt needed -> this is where I’m stuck. I’ve tested this on two different Linux devices on my local network. In both cases, the samba share shows up in the file manager, but the system prompts me to authenticate and I cannot proceed as an anonymous user.
Even though the tutorial doesn’t specifically say I need to, I’ve tried restarting smbd
after updating smb.conf
, but I still have the same issue.
What have I done wrong? Is the tutorial missing a step or simply outdated? Is there another tutorial that I should follow instead? Thanks in advance!
It’s been a few years (like 20) give me an hour or two to get a few things done and I’ll have a look.
I was suggesting that a public share might not mean anonymously accessible. You may need to authenticate, some OSes will try to do that for you, some won’t.
I was suggesting attempting to mount the share with a login and password of guest.
Gotcha - thanks for clarifying. I tried logging in w/ login and password of guest, but that didn’t work, either. FWIW I successfully authenticated after following the “optional” part of the tutorial (created a new user
shareuser
, made it the owner of/mnt/ShareDemo
, and updatedsmb.conf
).Based on non_burglar’s and frongt’s comments, I think I’m willing to file this experience under either incomplete or incorrect tutorial. Importantly, I have learned something about setting up a local Samba share, so I thank you for helping me.
I’m glad somebody got you sorted out. It took me days the first time :-)