File server on Linux for windows networks. How to create a Linux server with your own hands and what you need for this. Practice: Setting up a file server with read-only access

The main Samba configuration file is located in /etc/samba/smb.conf . The default configuration file has a significant number of comments in order to document various configuration directives.

    First, edit the following key/value pairs in the section of /etc/samba/smb.conf :

    workgroup = EXAMPLE ... security = user

    The security parameter is farther down in the section, and is commented by default. Also, change EXAMPLE to better match your environment.

    Create a new section at the bottom of the file, or uncomment one of the examples, for the directory to be shared:

    Comment = Ubuntu File Server Share path = /srv/samba/share browsable = yes guest ok = yes read only = no create mask = 0755

    • comment: a short description of the share. Adjust to fit your needs.

      path: the path to the directory to share.

      This example uses /srv/samba/sharename because, according to the Filesystem Hierarchy Standard (FHS), /srv is where site-specific data should be served. Technically Samba shares can be placed anywhere on the filesystem as long as the permissions are correct, but adhering to standards is recommended.

      browsable: enables Windows clients to browse the shared directory using Windows Explorer.

      guest ok: allows clients to connect to the share without supplying a password.

      read only: determines if the share is read only or if write privileges are granted. Write privileges are allowed only when the value is no , as is seen in this example. If the value is yes , then access to the share is read only.

      create mask: determines the permissions new files will have when created.

    Now that Samba is configured, the directory needs to be created and the permissions changed. From a terminal enter:

    sudo mkdir -p /srv/samba/share sudo chown nobody:nogroup /srv/samba/share/

    The -p switch tells mkdir to create the entire directory tree if it doesn"t exist.

    Finally, restart the samba services to enable the new configuration:

    sudo systemctl restart smbd.service nmbd.service

From a Windows client you should now be able to browse to the Ubuntu file server and see the shared directory. If your client doesn't show your share automatically, try to access your server by its IP address, e.g. \\192.168.1.1, in a Windows Explorer window. To check that everything is working try creating a directory from Windows.

To create additional shares simply create new sections in /etc/samba/smb.conf , and restart Samba. Just make sure that the directory you want to share actually exists and the permissions are correct.

The file share named "" and the path /srv/samba/share are just examples. Adjust the share and path names to fit your environment. It is a good idea to name a share after a directory on the file system. Another example would be a share name of with a path of /srv/samba/qa .

In this tutorial we are going to learn how to install and configure Samba server on Ubuntu 16.04. Samba is a free and open source implementation of the SMB/CIFS protocol for Unix and Linux that allows file and printer communication on Unix/ and Windows machines on a local network.

Samba is a software package, the two most important of which are:

  • smbd: Provides SMB/CIFS service (file and print sharing) and can also act as a Windows domain controller.
  • nmbd: Provides NetBIOS naming service

How to install Samba server on Ubuntu 16.04

Samba is included with most Linux distributions. To install Samba on , simply run:

Sudo apt install samba

The latest stable version available is 4.5.3, released on December 19, 2016. To check the version Samba , run

Sudo smbstatus

Sudo smbd --version

Example output:

Samba version 4.3.11-Ubuntu

To check if the Samba service is running, run the following commands.

Systemctl status smbd systemctl status nmbd

To start these two services, run the following commands:

Sudo systemctl start smbd sudo systemctl start nmbd

After launch, smbd will listen on port 139 and 445.

Editing a Configuration File

There's only one configuration file that needs to be edited: /etc/samba/smb.conf.

Sudo nano /etc/samba/smb.conf

In the section, make sure the value workgroup belong to a workgroup of Windows computers.

Workgroup = WORKGROUP

Scroll down to the bottom of the file. (In the nano text editor, press CTRL+W and then CTRL+V .) Include a new section as shown below. Replace username with the desired username.

Comment = Home Public Folder path = /home/username/ writable = yes valid users = username

Home Share is the name of the folder that will be displayed on the Windows network. A comment is a description of the shared folder. The next 3 lines indicate that only the specified user, valid users, has access to the /home/username/ directory, which is also writable. The above configuration will disable anonymous access.

Save and close the file, and then run the following command to check if there are syntax errors.

Testparm

Creating a user

Samba contains a default user as a security mode, meaning that clients must enter a username and password to access the shared folder. To add a user in Ubuntu, run the following command:

Sudo adduser username

You will be prompted to set a Unix password. Additionally, you need to set a separate Samba password for the user using the following command:

Sudo smbpasswd -a username

Now all that's left to do is restart the smbd daemon.

Sudo systemctl restart smbd

Samba access to shared folder from Windows

On a Windows computer that is on the same network, open File Explorer and click Network in the left pane. You will see a samba server. Double-click the shared folder and enter your username and password.

Samba access to share folder from Ubuntu computer

In File Manager, go to the Network tab in the left pane and select Windows Network.

Select the workgroup, Samba server, and shared folder, and then enter the Samba username and password.

Adding multiple users or groups

If multiple accounts need to gain access to a shared folder, then the authorized users must be changed, as shown below in the /etc/samba/smb.conf file.

Valid users = user1, user2, user3

Also use smbpasswd to set the Samba password for each of these users.

Sudo smbpasswd -a user1 sudo smbpasswd -a user2 sudo smbpasswd -a user3

To allow a group of users to access a shared folder, use the following configuration in /etc/samba/smb.conf.

Valid users = @sambashara

Create a group.

Sudo groupadd sambashare

Then add users to this group

Sudo gpasswd -a user1 sambashare sudo gpasswd -a user2 sambashare sudo gpasswd -a user3 sambashare

The group must have write permission to the shared folder, which can be achieved with the following two commands.

Set sambashare as the group owner of the shared folder:

Sudo chgrp sambashare /path/to/shared/folder -R

Grant write permission to the group.

Sudo chmod g+w /path/to/shared/folder/ -R

I hope this article helped you set up a Samba server on Ubuntu 16.04. As always, if you found this post helpful, please leave a comment.

In this article we will tell you how to install and configure file storage on the Linux operating system, or rather, we will use server Ubuntu 16.04 LTS. Most deb-based distributions are configured in a similar way.

Such a server can be used for network installation of a 1C:Enterprise file database - this is much more reliable than storing it on one of the users’ work computers. Or such a server can be adapted for network backup storage.

Just do not use the same server to install the infobase and store its backup copies.

Why Linux? Firstly, it is free and completely legal. Secondly, Linux consumes much less hardware resources, and even old, scrapped equipment will do an excellent job of file storage. Thirdly, a well-configured Linux practically does not require the intervention of a system administrator; it is operated according to the “set it and forget it” principle.

So, let's begin…

Equipment selection

As I already wrote, almost any equipment will suit us, but we still have some wishes. Since the server will be a file server, our wishes will concern the disk system. It would be nice to find a machine with a RAID controller on board. If we are making a server to host a working file database, it would be a good idea to place it on RAID-5; if the storage is for backups, RAID-1 would be an excellent option.

At the same time, we do not have any special requirements for RAM; 1 GB is enough. There are also no special requirements for the processor; Linux will run on anything that is still alive.

Perhaps the best option is to purchase a refurbished, used server. Take the cheapest one you can find, the main thing is that it has undergone maintenance beforehand, it has been cleaned of dust and all system tests have been run.

For lack of anything better, you can use any old computer, but remember that you do this at your own peril and risk. The most vulnerable point of a file server is the disk subsystem. If you have it consisting of one single old disk, you are taking a very big risk.

If you cannot find a RAID controller, you can configure software RAID using the operating system. Please note that this will increase the requirements for the processor and RAM, but you will not be afraid of controller failure.

Operating system installation

First, let's define the server architecture. If you know the brand of processor installed in the server, by reading its specifications you will find out whether it is compatible with x86-64 (64 bit) or only i386 (32 bit) architecture. An indirect sign is the size of the RAM, 32-bit architecture cannot work with RAM of more than 3 GB, sometimes 4 GB of memory was installed in this architecture, but only 3 GB was visible in the system.

Contact the Father of Bots, first send him the command /start, then /newbot. Next, answer the questions of the Father of Bots, as a result you will receive from him a token and a link to your bot.

Open the configuration file

$ nano backtracker.conf

and set up

Token = # Here you need to specify the telegram bot token received from the Father of Bots failonly = # False if you want to receive messages about the presence of new files or True if only about their absence path = # Specify the path to the scanned folders hours = # Specify the “freshness” of the files in hours, for example 8

Run the utility

$./backtracker.ry

The first launch is needed to automatically determine the ID of the Telegram subscriber who will receive messages (this is not his phone number). Connect to your bot using the link that the Father of Bots gave you and send it the /start command. In response, you will receive a message that your ID has been determined, and the utility will configure itself and close. Run it again to perform the scan.

After setting up and checking the operation of the utility, add it to the cron daemon schedule

$ crontab -e

Add a line

0 8 * * * ~/backtracker/backtracker.py

The scan will run every day at 8 am. If something goes wrong at night, you will know about it.

System Resources

You can monitor server resources using the console utility top or its more colorful version htop. Let's install and launch it

$sudo apt install htop $htop

Monitor RAM usage periodically. If you often experience loads around 100%, set up a swap file.

$ sudo dd if=/dev/zero of=/swapfile bs=1M count=1024 $ sudo chmod 600 /swapfile && sudo mkswap /swapfile $ sudo swapoff -a $ sudo swapon /swapfile $ echo "/swapfile swap swap defaults 0 0 "| sudo tee -a /etc/fstab

Here count=1024 is the size of the paging file in megabytes.

Disk space

To monitor the file system, it is convenient to use the Midnight Commander file manager. If you have seen the times of MS DOS and Notron Commander, then there is no need to explain anything.

Install and launch

$ sudo apt install mc $ mc

It’s so convenient to monitor file storage, quarantine, and free disk space.

Samba is software for organizing file sharing and working with shared resources between computers running Linux/Unix and the Windows operating system. Samba consists of a client and server part. The client part allows you to access network folders and Windows resources, and the server part, in turn, opens general access to the Ubuntu folder for other machines, including Windows.

This short instruction will cover the simplest setup of Samba Ubuntu 18.04, as well as how to set up shared access to the Ubuntu folder with several levels of privileges.

We will create three shared folders with different permission levels. A folder with anonymous access, with access for users belonging to a specific group and access only for a specific user.

Both Linux and Windows machines can access shared folders in Ubuntu, using any program running over the SMB protocol.

In order for everything to work correctly, all machines must be in the same workgroup specified on the Samba server. By default, for Windows, Linux, and MacOS, the workgroup is called Workgroup. To find out which workgroup is used in your Windows, open the command line (Win+R, then cmd) and run the following command:

net config workstation

We see the parameter we need in the line Workstation domain. This is the working group.

Now, if a computer with a Samba server on your network has a permanent IP address, it is advisable to enter it in the hosts file. To do this, run the command line as an administrator:

And run the command:

notepad C:\Windows\System32\drivers\etc\hosts

In the file that opens, add a line with the IP address of the computer on which Samba will be installed:

192.168.0.1 srvr1.domain.com srvr1

Now you can move on to the question of how to share the Ubuntu folder.

Setting up Samba on Ubuntu 16.04

Let's start, as usual, with installation. Installing Samba Ubuntu along with all the necessary components is done with the command:

sudo apt-get install -y samba samba-common python-glade2 system-config-samba

Once everything is installed, you can proceed to configuration. First, create a backup of your original Samba configuration file:

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

After creating the backup, create your configuration file with this command:

sudo vi /etc/samba/smb.conf

First, let's specify the global file server settings. To do this, insert the following lines into the file:


workgroup = WORKGROUP

netbios name = Ubuntu Share
dns proxy = no

max log size = 1000
passdb backend = tdbsam
unix password sync = yes

pam password change = yes
map to guest = bad user
usershare allow guests = yes

Let's take a closer look at what these lines mean.

  • workgroup- the working group, as already mentioned, should be the same on all machines
  • netbios name- computer name that will be displayed in Windows;
  • log file- the address of the file where error messages and other information will be stored;
  • security- Perform user-level authentication by default;
  • name resolve order- order of resolution of IP addresses by NetBIOS name. bcast - means to send a broadcast request to the local network. If all the computers between which interaction is planned are on the same network, this option is optimal;
  • passdb backend- method of storing user passwords;
  • unix password sync- synchronization of samba user passwords with local Unix passwords;
  • map to guest- indicates when the user will be granted guest access. Three values ​​are available - never- never, bad user- when such user does not exist, bad password- when the password is entered incorrectly,

When you complete creating the configuration file, we move on to the question of how to share the Ubuntu folder for Windows.

Ubuntu Folder Sharing

First, let's create a shared folder accessible to everyone. That is, with anonymous access, without samba authorization.

Create a folder to which we will share access, for example:

sudo mkdir -p /samba/allaccess

After the folder is created, you need to set the correct access rights for it. The following commands allow access to the folder to everyone and make the owner nobody:

cd /samba
sudo chmod -R 0755 allaccess
sudo chown -R nobody:nogroup allaccess/

The next step is to describe the allaccess folder in the samba configuration file:


path = /samba/allaccess
browsable = yes
writable = yes
guest ok = yes
read only = no

Your configuration file should now look like this:


workgroup = WORKGROUP
server string = %h server (Samba, Ubuntu)
netbios name = Ubuntu Share
dns proxy = no
log file = /var/log/samba/log.%m
max log size = 1000
passdb backend = tdbsam
unix password sync = yes
passwd program = /usr/bin/passwd %u
pam password change = yes
map to guest = bad user
usershare allow guests = yes
#==============
path = /samba/allaccess
browsable = yes
writable = yes
guest ok = yes
read only = no

Let's take a closer look at the options that were used here:

  • path- path to the folder that needs to be shared;
  • browsable- whether the folder will be displayed in the list of available shares;
  • writable- whether the folder will be writable;
  • read only- the folder is read-only;
  • guest ok, public- whether guest access will be allowed;
  • only guest- if set to yes, then the folder will be accessible only to guests;
  • hosts allow- IP addresses from which you can access this server;
  • valid users- by default, all users can log in; if you pass a list of users in this parameter, then only they can log in;
  • create mask- rights mask for created files.

To apply the changes, restart the Samba server:

sudo systemctl restart samba

Setting up Samba Ubuntu 16.04 for anonymous access is complete. Now you can check the availability of the allaccess shared folder from Windows, to do this, press Win+R and run:

\\srvr1\allaccess

You will see our folder. If you don't see it, check your configuration again. The folder can be accessed without samba authorization. Setting up Samba shares with access without authorization is complete.

You can also connect to this server from Linux using Nautilus; just type the address smb://ip-server, in the section other places:

Secure Folder Sharing Ubuntu

To share a folder for Windows Ubuntu, which only users from a certain group will have access to, we will create a separate folder and describe it in the Samba configuration file in Ubuntu.

First we create a folder:

sudo mkdir -p /samba/allaccess/secured

Create a group:

sudo addgroup securedgroup

Setting up rights:

cd /samba/allaccess
$ sudo chown -R richard:securedgroup secured
$ sudo chmod -R 0770 secured/

The last step is to add settings to the samba configuration file:

sudo vi /etc/samba/smb.conf


path = /samba/allaccess/secured
valid users = @securegroup
guest ok = no
writable = yes
browsable = yes

Restart the Samba server. Now only users of the securegroup can access the shared folder in Ubuntu.

To check how this works, let's add the user richard to our group:

sudo usermod -a -G securedgroup richard

Linux operating systems are extremely common and have a wide range of applications. While certain Linux distributions are aimed at power users, others are much simpler and are great for switching to from Windows. Linux distributions often benefit from the significant resources of their user communities.

Although Linux operating systems offer an excellent desktop environment, Linux can also be an excellent system for server applications. Generally, Linux provides improved access control, giving greater flexibility and stability.

Therefore, Linux distributions are the ideal server landscape. Check out the 12 best Linux operating systems for servers and what kind of users they are aimed at.

What is Linux operating system for server?

What makes the Linux server operating system different from a regular Linux distribution? To answer, you need to take into account the server hardware. Servers are essentially computers with special characteristics. For example, server hardware guarantees long uptime, efficiency and reliability. In addition, servers balance processing power with electricity consumption. Therefore, Linux operating systems for servers place reliability and resource consumption first.

The Linux server operating system serves content for client devices. Accordingly, server operating systems have tools for creating simple servers. Since servers mostly operate in unattended mode, the graphical user interface (GUI) in the Linux operating system for the server has a less important role.

According to IDC, hardware sales data indicates that 28 percent of servers use Linux. However, this data most likely does not take into account home servers. Using specialized Linux operating systems, you can deploy your own server. It is important to use the Long Term Service (LTS) version and install the necessary software. LTS versions are more stable and have a longer support period.

When choosing a Linux operating system for a server, you should consider the purpose of the server. Application computer running Linux as a media server different from its use as game server.

Probably the most famous of the Linux operating systems is Ubuntu. With many options, Ubuntu is a stable distribution. This system and its variants provide excellent user experience. The Ubuntu Server system comes in two versions - LTS and as a rolling release. The LTS version of Ubuntu Server is said to have a five-year support period. Although this period is not five years, non-LTS versions only have nine months of security and maintenance updates.

While Ubuntu and Ubuntu Server are very similar to each other, the Server version offers different features. For example, Ubuntu Server provides add-ons such as OpenStack Mitaka, Nginx, and LXD. They make system administration easier. Using Ubuntu Server, you can deploy web servers, provision containers, and much more. Moreover, these tools are ready to use immediately after installation.

Although not a server distribution, Ubuntu LTS provides a five-year support period. I'm currently using Ubuntu 16.04 LTS running Plex server as a Linux gaming server. LTS distributions can function very well as Linux server operating systems. You just need to install server software on them.

If you're new to Linux, or to server operating systems, then Ubuntu is a great choice. It remains one of the most popular Linux distributions due in part to its user friendliness. Accordingly, Ubuntu Server is a Linux server operating system that is fantastic for first-time users. It is excellent as a media server, game server, and email server. More complex servers can also be configured with Ubuntu Server, but it is definitely aimed at basic servers and beginners.

SUSE Linux debuted in 1993. In 2015, the open source variant of openSUSE evolved into SUSE Linux Enterprise (SLE). There are two branches of openSUSE: Leap and Tumbleweed. The Leap version has a longer release cycle, while Tumbleweed is a rolling release. Therefore, Tumbleweed is more suitable for advanced users, providing the latest packages such as Linux Kernel and SAMBA. The Leap option is more suitable for stable solutions. The operating system is supported through updates.

The default tooling makes openSUSE a fantastic Linux server operating system. It includes openQA for automated testing, Kiwi for delivering Linux images on multiple platforms, YaST for configuring Linux, and the comprehensive Open Build Service package manager. By eliminating the nine-month rolling release cycle and focusing on stability as SLE does, openSUSE becomes a viable Linux environment for servers. Information technology specialists even called openSUSE"...CentOS and Debian from SUSE."

For which users is it intended: openSUSE is more suitable for advanced users such as system administrators. It is suitable for installation webservers, basic home servers, or combinations of web servers and basic servers. System administrators can take advantage of tools such as Kiwi, YaST, OBS, and openQA. openSUSE's versatility makes it one of the best Linux operating systems for servers. In addition to server capabilities, openSUSE supports a pleasant desktop environment. For the most basic servers, openSUSE is also quite suitable, although somewhat redundant. Still not sure?

If you're feeling ambivalent when you read the words "Oracle Linux," you're not alone. The Oracle Linux system is a Linux distribution supplied by the technology giant Oracle. This system is available with two different kernels. One variant has a Red Hat Compatible Kernel (RHCK). This is the exact same kernel that is used in the Red Hat Enterprise Linux (RHEL) system. Oracle Linux System certified to work with a variety of equipment from manufacturers such as Lenovo, IBM and HP. To increase kernel security, Oracle Linux uses Ksplice technology. The system also includes support for Oracle containers, OpenStack, Linux and Docker. Oracle themes are used as brand symbols, including Oracle Penguin.

The system is supported by the manufacturer, but it is paid. Although, if Oracle Linux does not work in an enterprise environment, then the price for support is not set. If there is a need to deploy a public or private cloud, the Oracle Linux operating system also supports these technologies. On the other hand, you can try Oracle Linux if you just want an Oracle-branded Linux system.

For which users is it intended: Oracle Linux is best suited for data centers or for building clouds with OpenStack. Oracle Linux is best suited for the most experienced users of home or enterprise servers.

  1. Container Linux (formerly CoreOS)

The CoreOS operating system changed its name to Container Linux in 2016. As the new name suggests, Container Linux is a Linux operating system released to provide containers. The system is focused on simplifying the container provisioning process. Container Linux is an excellent operating system for reliable, scalable use. Clustering container deployment is easy, and the distribution includes service discovery tools. It includes documentation and support for Kubernetes, Docker and rkt technologies.

The system does not include package management. All applications must run within containers, so containerization is a must. And if you work with containers, then Container Linux is the best operating system for servers in a cluster infrastructure. It provides an etcd daemon that runs on each computer in the cluster. In addition, a certain flexibility in installation is provided. In addition to local installation, Container Linux can be run in virtualization environments such as Azure, VMware, and Amazon EC2.

For which users is it intended: Container Linux is best suited for servers in a clustered infrastructure or container provisioning. This likely doesn't include the average home user. But with the official Docker logo for Plex lovers, Container Linux can run in any environment - from a basic home server to complex clusters. Use Container Linux if you are confident working with containers. Together with openSUSE, Container Linux is one of the best new and updated Linux operating systems to try.

The CentOS operating system provides a stable working environment. It is an open source variant of the Red Hat Enterprise Linux (RHEL) operating system. In this regard, CentOS provides an enterprise-grade server. This operating system from Red Hat uses the same source code as RHEL. CentOS includes the RPM package manager. In 2010, a review of sales data showed that approximately 30 percent of all Linux servers runs on CentOS. And there's a reason for that: it's a very robust server environment with support from Red Hat.

It should be noted that CentOS runs well on mainframes as well. For users who prefer GUI, KDE and GNOME are available on the system. CentOS can be used as a direct desktop operating system. Thanks to support from Red Hat and a growing user community, CentOS remains bug-free.

For which users is it intended: CentOS provides the functionality and stability of Red Hat Enterprise Linux. Therefore, it is ideal as a modern server operating system. If you need a free alternative to RHEL, you can use CentOS. However, it is also quite beginner-friendly thanks to its package manager. Overall, CentOS is the best free alternative to Red Hat Enterprise Linux.

Many servers limit their power consumption. Reduced power consumption is a major benefit, especially for always-on machines. Therefore, Linux server operating systems must use small resources. Proper resource allocation is key to server uptime and efficiency. Many Linux distributions use fewer resources than their Windows or macOS counterparts. The Arch operating system is a simple, lightweight distribution that adheres to the KISS (Keep Things Simple) principle.

For this system in Arch Linux Wiki has a separate part related to servers. There you can find out everything related to configuring Arch Linux as a server operating system. While there is no dedicated, pre-built edition of the system for servers, this Wiki documentation describes all the steps to create your own server operating system. You can install popular server software including MySQL, Apache, Samba and PHP for Arch.

For which users is it intended: Arch Linux is a general-purpose Linux operating system for servers. It's ideal for turning an old PC into a server. But, despite its lightness, the Arch system is quite functional on more powerful hardware. Additionally, Arch Linux is best suited for users with a technical background as they will have to set up Arch as a server system.


Mageia is a Linux operating system that focuses on reliability and stability. This is a branch of Mandriva Linux that appeared in 2010. In 2012, PC World magazine praised Mageia, which today has already reached its fifth version. While there are many Linux operating systems, there is also a large list of Linux desktop environments. The Mageia system includes a whole group of user interfaces such as KDE, GNOME, Xfce and LXDE.

Instead of MySQL in Mageia includes MariaDB. Server-oriented elements such as 389 Directory Server and Kolab Groupware Server make Mageia the preeminent Linux operating system for servers.

For which users is it intended: Mageia is a trusted Linux operating system for servers. It includes tools such as MariaDB and Kolab Groupware Server. In addition, Mageia provides a reliable, secure environment. Users who require a GUI may also consider using Mageia due to its variety of desktop interfaces.

ClearOS is designed specifically for servers, gateways and network systems. The standard installation of the system provides enhanced security. It includes a network firewall, bandwidth management, mail server, and intrusion detection tools. ClearOS 7 Community Edition includes 75 apps and tools.

Although there are paid versions of ClearOS, the Community Edition remains free. Additionally, ClearOS updates from developers are also free, but such free updates are not tested.

For which users is it intended: ClearOS is a specialized Linux operating system for servers. Its rich set of applications makes ClearOS a distro aimed at Linux specialists. Linux enthusiasts and experts just need to request the applications they need. But for beginners it is better to choose other system distributions for servers.

The Slackware operating system has long been used as Linux for servers. The first release of this system appeared in 1993. According to the Slackware Linux website, the goal of this project is “a Linux distribution that resembles UNIX as closely as possible.” By default, Slackware provides a command line interface.

Full Slackware installation includes C and C++, X Windows system, mail server, web server, FTP server and news server. Moreover, Slackware is so lightweight that it can run on a Pentium platform. Continuing releases increase the stability and simplicity of the system.

For which users is it intended: Slackware Linux is best suited for seasoned Linux professionals. It has two package managers, pkgtools and slackpkg. But since Slackware runs a command line interface by default, it is most suitable as a Linux operating system for servers. Moreover, in its simplicity there is also a certain amount of complexity. To use Slackware, you must understand your operations in the Linux environment.

Gentoo is different from many Linux distributions. Instead of the traditional release model Gentoo uses a modular structure. That is, the user himself chooses what will be installed. This puts Gentoo at the top of the list of Linux server operating systems.

Each installation of this system is unique. Users can build a kernel that provides maximum control capabilities. Therefore, the server can control aspects such as memory consumption. Thanks to its modular structure and flexibility, Gentoo is becoming very popular among Linux professionals. System administrators appreciate Gentoo's approach to customizing the system according to their needs.

For which users is it intended: Gentoo is best suited for technical users and system administrators. While Gentoo can be used by beginners, it is less user-friendly than the average Ubuntu. However, the system has excellent documentation and its community is constantly evolving.

If you're looking for a fresh Linux operating system for servers, try Fedora. Maintained by Red Hat, the Fedora project receives regular updates. Developers are often involved in these updates. Fedora comes in a variety of flavors. The Workstation version is designed for regular users and comes with a desktop environment. By default, Fedora Workstation comes with the GNOME interface, but other user interfaces are available. The Fedora Server version, as the name suggests, is designed for servers.

By default, the Fedora Server installation does not include a graphical user interface. However, if you do not plan to use the server in automatic mode, you can install one of the user interfaces. The Server edition has many tools. Among them is the Cockpit system control panel. In addition, Fedora Server includes databases such as PostgreSQL.

For which users is it intended: Experienced Linux developers and system administrators will choose Fedora Server. The lack of a desktop environment and enterprise-level system characteristics mean that Fedora is best suited to modern servers.

Well, there is no special edition for Debian servers. However, Debian is one of the best Linux server operating systems available. Since Debian was released in 1993 and its first stable release in 1996, it is an incredibly secure system. Many Linux distributions, including Ubuntu, are based on Debian. Why is Debian used as the basis of another operating system? Only thanks to its stability.

Moreover, Debian is often used on servers as it has stood the test of time. The system includes a project manager, APT tools, and various external presentation tools such as GDebi. Therefore, although Debian does not come in a server version, it is an excellent operating system for self-hosting your own server. Debian has impressive application compatibility, reliability and stability.

For which users is it intended: The Debian system provides a fantastic server environment in two ways. If you need a basic server, such as a web server, mail server, game server, or media server, Debian allows you to install them without much complexity. On the other hand, more experienced users with specific server needs should also consider using Debian. Moreover, this approach does not require do-it-yourself work.

Best Linux Operating Systems for Servers

Although you can find many Linux operating systems suitable for servers, each is best for specific user groups. Moreover, non-server LTS editions function perfectly as a Linux server operating system. Debian is a good example of this. Although this system does not have a dedicated server distribution, it does have the basic characteristics of such a distribution. Namely, stability and security.

For beginners, or those who need a simple server setup, I would recommend any Debian-based distribution or Ubuntu variant. I use Ubuntu variants for all my media or game servers. They have maximum compatibility with the software I use and allow me to create combinations of PC-based home theater servers and media servers.