Linux server for small groups. Installing a Linux server

Linux server for small groups. Installing a Linux server

20.10.2023

Deploying a file server for Windows machines on Ubuntu is quite simple. Typically, such a server is used to organize file storage within an Active Directory domain.

At the same time, you can easily create file servers on a domainless network, including for home use.

In any case, use Samba - install it using the Synaptic package manager or the following command:

sudoapt-get install samba

FileserverVcompositiondomainActive Directory

To create a file server integrated into an Active Directory domain, you first need to join your Ubuntu machine to the domain.

To create a file server, you do not need to configure PAM; you just need to add domain users and groups via Winbind to the system.

After logging into the domain, configure shared resources on your computer. Please note that Samba will map Windows file permissions to Unix permissions, but fundamental differences in the permissions mechanisms will likely prevent it from doing so. File rights are always and in any case managed by your file system on a computer running Ubuntu, and Samba can only adapt to them, but not change their behavior.

So by default, shared resources will have modest access control capabilities, including assigning different rights to the user, group, and everyone else. But you can easily fix this by adding POSIX ACL support to the FS. Then you can assign different rights to different users and groups, much like in Windows.

POSIX ACL support can be found in ext3/4, and to activate it you only need to add the acl parameter to the mount options of the desired partition.

Important! The directory that needs to be shared via Samba must be on a disk mounted with the acl option. Otherwise, it will be impossible to properly apply the mechanism for delimiting access rights to files on the shares.

Another thing to keep in mind is that POSIX ACLs do not support inheritance of access rights from parent directories, while Windows does have this feature. So Samba has an additional mechanism for storing permission inheritance information using extended file system attributes. In order for Samba to correctly handle inheritance of rights, in addition to acl, add the user_xattr parameter to the file system mounting options, which is responsible for enabling support for extended attributes.

For example, it is convenient to use separate LVM disks to organize shared resources. In this case, the lines in fstab for them look like this:

/dev/mapper/data-profiles /var/data/profiles ext3defaults,noexec,acl,user_xattr 0 2

The noexec option is needed to be on the safe side: there should be 100% no Linux executable files on Windows shares.

Install the package of necessary utilities for working with acl on Ubuntu:

Sudo aptitude install acl


Now view the extended rights (i.e. ACL) on a file or directory with the following command:

Getfacl file


Install with this command:

Setfacl file


Don't forget that the POSIX ACL mechanism has nothing to do with Samba - it's just an add-on to the standard Linux permissions mechanism. So Samba can use it, but cannot change or bypass it in any way.

To use extended FS attributes, a utility package similar to acl - attr - is useful, install it with the following command:

Sudo aptitude install attr


To view extended attributes, use the command:

Getfattr file


And to install do:

Setfattr file


Remember that Samba stores all inheritance information in binary form in a single extended attribute, user.SAMBA_PAI. So changing something using setfattr will not work, only complete removal of extended attributes is possible (in some cases this becomes necessary).

It is possible to control the inheritance of rights from a Windows machine using the standard tools of this system, or the smbcacls utility.

Extended file system attributes allow Samba to enable full support for DOS file attributes (for example, hidden, archive, etc.).

If your system has a directory that needs to be shared via Samba (and it is located on a disk mounted with acl and user_xattr support), configure its sharing - enter the necessary information in the /etc/samba/smb.conf file.

First of all, take care of the general settings for adding to the section of this file:


# Disable printer sharing. Unless, of course, you really want to share them. # To completely disable you need to specify all 4 lines below load printers = no show add printer wizard = no printcap name = /dev/null disable spoolss = yes # Make files with the following names hidden when viewed on Windows hide files = /$RECYCLE.BIN/desktop.ini/lost+found/Thumbs.db/ # Use the next UNIX user as Guest for the public share guest account = nobody # Treat unregistered users as guest map to guest = Bad User ## Settings that use extended file system attributes # Handle inheritance of rights using extended FS attributes map acl inherit = yes # Use extended FS attributes to store DOS attributes store dos attributes = yes # Disable DOS attribute mapping on UNIX rights, enabled by default # According to man smb.conf, when using extended attributes, these options must be disabled map archive = no map system = no map hidden = no map readonly = no


Then configure the shared resource itself. In the example it is indicated as profiles, and physically on an Ubuntu machine it is located at /var/data/profiles:


# Comment comment = User Profiles # Path to the folder we are sharing path = /var/data/profiles/ # Users with unlimited access rights to the share # I have a Domain Administrators group. # These users are treated as local root when working with files admin users = "@DOMAIN\ Domain Administrators " # Hide folders that the user does not have access to hide unreadable = yes # Access is not read only read only = no # Masks for created files - can be set as desired#create mask = 0600 #directory mask = 0700 # Disabling locks - it's better to disable locking = no


There are a number of other options - all detailed information is in the Samba documentation.

Be sure to set the correct owner and access rights to the shared folder, otherwise writing to it may be prohibited at the Linux permission level. You can do this:

Sudo chmod ug + rwx /var/data/profiles sudo chown root :"domain users" / var/data/profiles

Attention! Since your Ubuntu machine is joined to a domain, you can use domain users and groups as file owners directly in Ubuntu.

Check that Samba is configured correctly with the following command:

Sudo /etc/init. d/samba restart


Now you can access the shared resource from any machine in the domain. But don’t forget about the SGID and Sticky bits for directories, designed to inherit the owning group and prevent users from deleting files that are not theirs - this is especially true for multi-user storages. At the same time, unlike editing rights from Windows, it is impossible to change these bits on folders on a shared resource - only manually directly on the Ubuntu computer.

Samba allows you to store previous versions of files, which can be useful when creating shares of user data.

Standalone file server

Not everyone has an Active Directory domain. Therefore, it often becomes necessary to organize an independent file storage on a Linux machine with its own authorization system. It is not difficult.

In this case, all information about users will be stored in the Samba database, and users will have to be added and deleted manually.

The main thing is to decide on the method of access to the resource used. You should correctly set the value of the security parameter in the section of the /etc/samba/smb.conf file.

The default value is share or user.

And do not forget to change the value of the workgroup parameter to the appropriate one, and all other settings will directly depend on specific goals.

At home it is convenient when everyone can see everyone. To do this, simply add 4 lines to the section of the /etc/samba/smb.conf file (some may already be present):

[ global ] workgroup = WORKGROUP map to guest = Bad User netbios name = NOTEBOOK security = user


NOTEBOOK - the name of the computer that will be on the network. Also install additional programs:

share

Then add the following lines to the end of the /etc/samba/smb.conf file, and replace “yuraku1504” with the username of the Samba computer:


[MyShareWork] comment = Anonymous Samba Share path=/home/yuraku1504/share guest ok= yes browsable = yes writable = yes read only = no force user = yuraku1504 force group = yuraku1504

The folder will be opened for reading and writing.

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.

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.

  • 30.03.2010

A file server, along with a router, can be called, without exaggeration, an essential item for any organization. Using Linux for such a server looks very attractive, at least in small organizations that do not require close integration with AD. And the money saved on the cost of Windows Server and client licenses for it will be very useful in our times of crisis.

We will consider setting up a file server using the example of our conditional network, which already has a router, which we are setting up, although no one bothers to combine these functions on one server.

Now let's move on to setting up the file server role. To implement it we need Samba, this package provides file and printer sharing to clients on Microsoft networks.

Sudo apt-get install samba

To configure, edit the file /etc/samba/smb.conf, let's start with the global section, the parameters of which apply to all services. Let's set the workgroup name:


workgroup = WORKGROUP

To access the resources of the file server without authorization on it, set the following parameter:

Security = share

If the server has several network interfaces, for example, combined with a router, then you can (and should) limit access to the file server to the internal network. Let's say we have eth0 - an external network, eth1 - an internal one, to work only with the internal interface we specify:

Interfaces = lo, eth1
bind interfaces only = true

Initially, these settings are enough, do not forget to save the changes. Let's consider the settings of service sections, let's say we need a shared resource 1CBases for hosting 1C:Enterprise databases. Let's create a new directory /data/1CBases, and set full rights to it for everyone:

Sudo mkdir /data/1CBases
sudo chmod 777 /data/1CBases

In the end smb.conf add the following section:


path = /data/1CBases
guest ok = yes
writeable = yes

With the section parameters, everything is very clear; the section name (in square brackets) determines the name of the shared resource. The first parameter specifies the path to it, the second and third allow guest access and writing, respectively. Save the configuration file and restart Samba:

Sudo /etc/init.d/samba restart

After which our server should be visible in the Windows network environment and a shared folder will be available on it 1CBases.

For remote administration Samba We recommend installing a package that provides a web interface Swat:

Sudo apt-get install swat

In order to take advantage of all the features of the package, you will need to log in as root. But by default in Ubuntu, root does not have a password, so let’s set it (and don’t forget that now you need to enter it to perform administrative tasks) and reboot:

Sudo passwd root
sudo reboot

Now in any browser you just need to type http://server_name:901 and, after authorization, get full access to the settings Samba.

Authors Swat are the developers Samba, so this solution can be regarded as “native”. Really Swat provides full access to all settings Samba and allows you to perform almost any task without manual editing smb.conf.

When creating a file server, the question of choosing an operating system inevitably arises. There is something to think about here: spend money on Windows Server or look at free Linux and BSD? In the second case, you will still have to decide on the choice of file system, of which there are quite a few in Linux. It is impossible to give a definite answer to the questions posed; we need comprehensive testing, which we conducted in our test laboratory.

How we tested

It is impossible to embrace the immensity. So it is in our case. It is not possible to test all file server options. Therefore, we decided to limit ourselves to the most common ones. For Windows Server, these are versions 2003 and 2008 R2, since the former is still widely used, and the latter is interesting for its technical innovations, in particular support for the SMB2 protocol and the NTFS file system.

For the Linux platform, Ubuntu 10.04 LTS was chosen. After conducting a series of additional tests, we found that the performance of file servers is practically independent of the Linux distribution, while at the same time there is a certain dependence on the version of Samba (in our case, 3.4.7). From the variety of file systems, we chose the most common and popular: ext3, ext4, reiserfs, XFS, JFS. The FreeNAS distribution was also tested, as a representative of the BSD family (built on the basis of FreeBSD 7.2) with UFS.

Windows 7 32-bit was used as the client. Let us immediately upset XP fans, whether you like it or not, Windows 7 will become the default corporate OS in the coming years.

Two PCs were used for the test platform Core2 Duo E8400 - P45 - 2 GB PC2-8500 connected by a gigabit network. One of them had Windows 7 installed, the second one had server OS installed and an additional hard drive was connected 750 Gb Western Digital RE3 used exclusively for testing. This disk was formatted into the desired file system and configured as a shared resource.

Testing was carried out using the Intel NASPT 1.0.7 package; you can learn more about the tests included in it. For each configuration, we performed 5 test runs, using the average result as the final result.

File operations

Working with files

In write operations, Windows Server is confidently in the lead, more than twice as fast as Linux; in read operations, the gap between Linux and Windows Server 2003 is practically narrowing, but Windows Server 2008 R2 holds high positions, significantly ahead of both Linux and Windows Server 2003.

In the Linux family of file systems, reiserfs unexpectedly takes the lead when working with large files, ext4 showed rather poor results when writing, and ext 3 when reading. JFS is a testing underdog and has problems writing large files, producing unacceptably low scores. FreeNAS showed a very modest result, according to the lower bar of Linux systems.

Working with folders

When working with a large number of small files distributed in folders of varying degrees of nesting, the result is more uniform. Windows systems are again in the lead, although not by such an impressive margin. SMB2 makes itself felt here too, making Windows Server 2008 R2 the undisputed leader with a 40% advantage over Linux.

In Linux, the results are quite even, reiserfs and JFS are slightly in the lead for writing, there is no clear leader for reading, JFS is a clear outsider. FreeNAS has comparable results, being slightly ahead on reads and slightly behind on writes.

Working with applications

So, the absolute leader today is Windows Server 2008 R2; the SMB2 protocol shows a significant advantage, leaving no chance for competitors. If you are faced with the task of creating a high-performance file server to work in a modern infrastructure, then there is no choice as such. The new server OS from Microsoft will certainly be worth the money spent on it.

Windows Server 2003 in the overall ranking takes second place with 76.31%, given that in some tasks it showed rather low results and a small gap from Linux solutions (10-15%) does not seem advisable to deploy new servers under this OS. The same should be taken into account when legalizing software; in this case, it is advisable to upgrade to Windows Server 2008 R2 or switch to a Linux solution.

Among Linux solutions, with the exception of JFS, the result is quite uniform, with XFS and reiserfs ahead by a small margin (3-5%). JFS is a clear outsider and is categorically not recommended for use. Solutions based on FreeBSD also cannot be recommended for serious use; they are inferior to Linux by 10-15%, not to mention the much more serious lag behind Windows systems.

We hope that our testing will help you make the right decision in choosing the operating and file systems for your file server.

© 2023 hecc.ru - Computer technology news