- This article will cover creating and managing SMB shares in Houston UI.
- Access to Houston UI
- Cockpit File Sharing Module and Packages Installed
- SMB Packages Installed
- SMB Services Running and Enabled
- SMB Ports Open on Firewall (133/tcp, 445/tcp and 137/udp, 138/udp)
Accessing the File Sharing Tab
- In Houston UI, navigate to the File Sharing tab.
- Once here, we can select the SMB tab to begin configuring our SMB Shares
Adding options to the smb.conf global section
- First, we can add any options to the global SMB configuration by selecting the Global Config button.
- Here we can change the Server Description, the SMB log level, and add any additional parameters to the SMB configuration in the Advanced Settings box. For example, here we’ve added a few parameters to help with MacOS performance on an SMB share.
Creating an SMB share
- Next we can create an SMB share, we can select the Blue Plus Icon to begin.
- Here we can set the SMB Share Name, a Description, the Path to be shared out, if we are domain joined we can select to use Windows ACLs. We can specify any Valid Users and Valid Groups, allow Guest Access, make the SMB share Read Only, and make it Browsable.
Adding options to the SMB share
- We can also add any additional options in the Advanced Settings box.
- In the Advanced Settings box, we used the Populate Shadow Copy settings button to configure the SMB share to use Shadow Copy, as well we entered “inherit permissions = yes” ourselves.
- There is a few preselected options we can enter into the Advanced Settings box by selecting one of the buttons below. Populate Shadow Copy Settings, Populate MacOS Share, Populate Audit Logs.
- Here we can see we’ve created a share called “samba” with a description of “smb-share“. It is pathed to our ZFS dataset at “/tank/samba“. We have added the “smbgroup” to Valid Groups, and left the share Browsable.
- Here we can see our SMB share is created.
If you’d like to see an example of some basic SMB shares, as well as setting up local SMB users and groups, please see the Further Reading section below
- If you were to run “testparm” on the command line you will see your samba share has been added and configured properly in its own section.
- Ensure you have configured the Firewall correctly.
- Ensure you have the smb/smbd service running and enabled.
- Ensure you have configured the correct permissions on the directory that is being shared out. Typically when using POSIX ACLs we would set the permissions to 770 and the owner user/owner group to the user/group that should own the SMB share.
- Ensure the user connecting has an SMB password set.
- Ensure the user connecting is part of the group that owns the SMB share.
- Ensure SeLinux is set to permissive if Rocky Linux.
- Ensure the value for 127.0.1.1 matches the systems hostname if Ubuntu 20.04.