If you need to share files from Linux, Jack Wallen shows you how simple it is with Samba and Ubuntu Server 20.04.
Samba is one of the many ways to share files and directories across a network on Linux. With a Samba share up and running, any machine within your LAN can access the contents of the shared directory--so long as the user has access. Samba also happens to be one of the easiest to set up for this task.
I want to walk you through the process of installing and configuring Samba on Ubuntu Server 20.04. With this taken care of, your end users will have easy access to anything you want to share out from that server.
SEE: Linux service control commands (TechRepublic Premium)
What you'll need
A running, updated instance of Ubuntu Server
A user with sudo privileges
Some data to share
How to install Samba
The first thing to be done is the installation of Samba. To do this, log in to your Ubuntu Server instance and issue the command:
sudo apt-get install samba -y
Once the software is installed, you're ready to configure your first share.
How to configure a Samba share
Because we're on a GUI-less server, we'll be taking care of the configuration via the terminal window. Your Samba shares will be configured in /etc/samba/smb.conf, so open that file with the command:
sudo nano /etc/samba/smb.conf
The first option we'll configure is the workgroup name. Look for the line:
Change that to:
workgroup = WORKGROUPNAME
Where WORKGROUPNAME is the name of the workgroup or NT-domain your Samba server will exist within.
Samba no longer requires you to configure security levels as it once did (such as security = user). The remaining part of the configuration is adding the share at the bottom of the smb.conf file.
Let's say you want to use the directory /data that will belong to the group editors containing a number of users. Let's take care of that first.
Create the new directory with the command:
sudo mkdir /data
Create the group:
sudo newgrp editors
Add yourself to the group:
sudo usermod -aG editors $USER
You can add as many users as you need by replacing $USER with the username to be added.
Change the ownership of the directory with the command:
sudo chgrp -R editors: /data
Give the group read and write permission to the new directory with the command:
sudo chmod -R g+rw /data
You're now ready to create the share.
Back at the /etc/smb.conf file, scroll to the bottom and add the following:
[DATA] path = /data valid users = @editors browsable = yes writable = yes read only = no
The configuration is simple:
[DATA] the visible name of the share
valid users = a group that can access the share. Even if a user has been added to Samba (with the smbpasswd command) they will not be able to access this share unless they are a member of the listed group
path - the exact path of the share
browsable - makes the share visible to the network
writable - makes the share writable to authenticated users
read only - sets the read-only option to no
Save and close the file.
Restart Samba with the command:
sudo systemctl restart smbd
How to add a user to Samba
Now that everything's set up, you must also add users to Samba, otherwise they won't be able to authenticate. Even though a user has a legit account on the server, until they're added to Samba, it's a no-go.
The first thing we have to do is add the user to Samba with the command:
sudo smbpasswd -a USER
Where USER is the user to be added.
You'll be prompted to type and verify a password for the user.
Next, enable the user with the command:
sudo smbpasswd -e USER
Where USER is the user to be enabled.
How to connect to the new share
How you connect to the Samba share will depend on the operating system in use. I'm only going to demonstrate how to connect to the share from the GNOME desktop on Linux. To do this, open the file manager and click Other Locations at the bottom of the left pane. At the bottom of the file manager window type the following in the Enter Server Address bar:
Where SERVER is the IP address of the server. You'll then be prompted to click on the share you wish to access, at which point you'll click DATA. In the resulting popup, select Registered User, type the user name and the password for the user (Figure A).
Click Connect and the file manager will open to the share, where you can start working with the files contained within.
Congratulations, you've just created your first Samba share on Ubuntu 20.04.
Subscribe to TechRepublic's How To Make Tech Work on YouTube for all the latest tech advice for business pros from Jack Wallen.
How to become a developer: A cheat sheet (TechRepublic)
Kubernetes security guide (free PDF) (TechRepublic)
Linux file and directory management commands (TechRepublic Premium)
Linux, Android, and more open source tech coverage (TechRepublic on Flipboard)