Installing Samba on Ubuntu facilitates easy network file and printer sharing. It facilitates teamwork and resource management in a local network setting. Provides comprehensive instructions for installing and configuring Samba on Ubuntu. This guide guarantees a seamless setup process for file and service sharing between various platforms. If you are looking to maximize server resource use on a single server without any conflicts you need to go for docker installation in Debian.

An open-source program called Samba makes it possible for computers connected to a single network to share files. That makes it possible for Linux computers to exchange files with Windows. Use London situated forex vps hosting to access real-time data UK trading server with no delayed time.

Required Conditions

  • Ubuntu system (Ubuntu 22.04 is used in this guide). On Ubuntu 20.04, the same procedures apply.
  • A text editor (Vim is used in this tutorial).
  • Sudo rights.

Installing and Setting Up Samba on Ubuntu

The majority of Linux package managers come pre-installed with Samba. To set up Samba on Ubuntu, take the following actions:

Step 1: Install Samba in the First Step.

1. First, do the package registry updates:

sudo apt update

update package registry

2. After that, install Samba using apt. To have any questions automatically approved during installation, include the -y argument:

sudo apt install samba -y


using apt to install samba

3. Use to confirm the installation:

whereis samba

verify with samba terminal output

The output displays the Samba-containing directory. Checking the Samba version is another way to confirm the installation:

samba -V

output displays samba version

The report indicates that Samba version 4.16.4 was installed on the machine.

4. Finally, make sure Samba is operating using:

systemctl status smbd

output displays smdb service is running

The output demonstrates the active and enabled state of the SMBd service.

Step 2: Establish a Public Directory

1. Create a directory holding files for sharing to share files with Samba. To create the directory under /home, use mkdir -p:

Create a directory named “sharing with,” for instance.

sudo mkdir -p /home/sharing

2. Verify the result with ls.

ls

create shared directory using command

Step 3: Set Up Global Preferences for Samba

Modify the smb.conf file in /etc/samba/smb.conf to configure Samba.

Use Vim to access the file:

sudo vim /etc/samba/smb.conf

Next, find the Global Settings section by scrolling down. This part allows you to set up the network interfaces, name, role, and behavior of the Samba server.

configure samba global options

The following subsections contain the important factors to take into account:

Parameters of Browsing/Conclusion

The workgroup and server string parameters are in the Browsing subsection:

  • Using a local area network, file sharing between a group of computers is made possible via the workgroup parameter. Make sure the Windows settings and the workgroup settings match.
  • The Samba server is identified by the server string setting. The server in our example is called samba_server.

Uncomment the workgroup and server string options and add these values to configure the identification settings:

workgroup = WORKGROUP
server string = samba_server

global settings display

Networking

To set up network interfaces that Samba binds to, use the Networking subsection. There are two parameters in networking:

  • The network interface that Samba will bind to is specified by the first option, interfaces.
  • Samba will only bind to the interfaces specified in the file if the second parameter, bind interfaces only, is used. The parameter ought to be set to yes at all times.

use networking subsection to configure network interfaces

Use the ip command to see which interfaces are available before setting the interfaces parameter:

ip link

ip link terminal output

Samba is bound to two interfaces, according to the example output: enp0s3, which is the network interface, and lo, which is the loopback interface.

For instance, the settings in this instance are:

interfaces = lo enp0s3
bind interfaces only = yes

Troubleshooting

The part on Debugging comprises four factors. Arrange them as follows:

log file = /var/log/samba/log.%m
max log size = 1000
logging = file
panic action = /usr/share/samba/panic-action %d

debugging subsection global settings

Domain, Authentication, and Additional

The server role is the most important authentication characteristic. The Samba server type is determined by this parameter.

1. Configure Samba as a separate server:

server role = standalone server

set samba as standalone server

A complete list of additional authentication parameters is provided below:

obey pam restrictions = yes
unix password sync = yes
passwd program = /usr/bin/passwd
passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
pam password change = yes
map to guest = bad user

authentication settings global

2. Scroll down to Misc and adjust the following, leaving the Domain subsection unaltered.

usershare allow guests = yes

usershare allow guests

Don’t modify any other Global Settings.

3. After saving and closing the document, use the Samba tool testparm to look for syntax errors:

testparm

run samba utility testparm to check syntax errors

There are no syntactic mistakes as indicated by the Loaded services file OK message in the output. The Samba server is operational after Global Settings have been set up.

However, Samba’s functionality is limited if users and the directory are not configured.

Step 4: Create a User Account in Step Four

1. Enter your username and password to establish a user account with:

sudo smbpasswd -a username

Recall that a system user should be identified by the username. For instance, xyz is the Ubuntu system account in this scenario. As a result, the username is identical:

sudo smbpasswd -a xyz

set up user account

2. Use adduser to add a new user to the system and Samba:

sudo adduser username

To add new_user to the system, for example, use:

sudo adduser new_user


sudo add user output

3. Create a new Samba user using the following after entering and verifying the system password for new_user:

sudo smbpasswd -a new_user

create new samba user

Subsequently, the sharing directory must be accessible to both users in read, write, and execute modes. Xyz, however, already has these rights by default. Conversely, new_user does not.

4. Use setfacl to allow the sharing directory to be read, written, and executed:

sudo setfacl -R -m "u:new_user:rwx" /home/sharing

There is no output from the command.

Step 5: Set Up the Samba Share Directory

1. To add the previously created sharing directory, access the configuration file once more. Add the following at the end of the file:

[sharing]
comment = Samba share directory
path = /home/sharing
read only = no
writable = yes
browseable = yes
guest ok = no
valid users = @xyz @new_user

sharing settings in vim

Specific rights to visit the directory are granted by each line. For example:

  • [Dividing}]: carries the name of the directory. Windows users see this directory location.
  • Remark: acts as a description for a shared directory.
  • route: The location of the shared directory is specified by this argument. Users can store the shared files under /samba, however the example uses a directory under /home.
  • merely to read: When set to no, this parameter gives users the ability to add, remove, or alter files within the directory.
  • able to be written: When set to yes, it allows both read and write access.
  • navigable: When set to yes, this parameter makes the Samba server and Samba share accessible to other computers on the network. If not, users can’t access the shared directory unless they know the precise name of the Samba server and can enter it in.
  • visitor okay: This parameter prevents guests from entering when it is set to no. To access the shared directory, users must provide their login and password.
  • legitimate users: The Samba share is only accessible to the aforementioned users.

2. Close the file after saving the changes.

3. Start testparm again:

testparm terminal output after the configuration

The output attests to the Samba’s proper configuration. Press Enter to get a more verbose output:

displays output after hitting enter

Step 6: Make Firewall Rules Updates

To confirm that Samba traffic is permitted by the Linux firewall, execute:

sudo ufw allow samba

update firewall rules

Step 7: Establish a Shared Directory Connection

1. Restart the services using: before establishing a connection to the Samba server.

sudo systemctl restart smbd

There is no output printed by the command.

2. Use the built-in file manager and select Other Locations to establish a GUI connection to the shared directory:

3. Fill in the Enter server address… box with the following information, then click Connect:

 

smb://ip-address/sharing

4. A username and password are requested by the system. Give the information asked for and click “Connect again”:

5. By doing this, the Windows shares location now includes the sharing directory:

Final Wordings on Installing Samba on Ubuntu

To sum up, installing Samba on Ubuntu delivers a productive way to share resources and files across networks. Users may smoothly configure Samba on their Ubuntu systems. It enables seamless data sharing. Then collaborate between devices in their network by following this guide. To make power to modern applications or to make applications capable mongoDB is been used.

Furthermore, adding Samba to Ubuntu allows smooth integration with Windows file-sharing protocols. It also improves connectivity within local networks and compatibility with Windows-based devices. Samba facilitates safe file and printer sharing across Windows and Ubuntu computers. It will be promoting efficiency and teamwork in a variety of computing settings. With the knowledge gained from this guide, users can successfully setup Samba. You can benefit from network file sharing on Ubuntu systems.

Frequently Asked Questions (FAQ)

1. What is the use of Samba?

So basically samba plays an important role in networking Ubuntu and Windows systems and it makes Ubuntu act as a file server. As the services that are been created by Samba are available for all clients {ex. macOS, Linux, windows}.

2. What is the Function of the Samba?

There are a few functions of samba listed below:

  1. It provides secure, stable, and fast services.
  2. Allows File sharing between different operating systems.
  3. Enables windows clients to access shared folders

As such there are plenty of functions of samba as above.