Самый простой файловый сервер на линукс. Файловый сервер на Linux. Примечание об использовании утилиты netcat

Глава 11. Настройка файлового сервера с доступом только для чтения

11.1. Создание разделяемой директории

Давайте начнем работу с сервером Samba с настройки простейшего файлового сервера с доступом только для чтения. Каждый клиент (даже анонимные клиенты, использующие гостевой доступ) получит возможность чтения содержимого разделяемых файлов.

Первым шагом является создание директории и размещение в ней нескольких тестовых файлов.

# mkdir -p /srv/samba/readonly # cd /srv/samba/readonly/ # echo "Сегодня холодно." > winter.txt # echo "Сегодня жарко." > summer.txt # ls -l итого 8 -rw-r—r— 1 root root 17 янв 21 05:49 summer.txt -rw-r—r— 1 root root 18 янв 21 05:49 winter.txt #

11.2. Настройка параметров разделяемой директории

11.2.1. Секция глобальных параметров файла конфигурации smb.conf

В данном примере сервер Samba состоит в рабочей группе с именем WORKGROUP (которая является стандартной рабочей группой). Также мы задаем строку описания сервера, которую смогут увидеть пользователи, исследующие сеть с помощью команды net view, проводника Windows или утилиты smbclient.

# head -5 smb.conf workgroup = WORKGROUP server string = Public Anonymous File Server netbios name = TEACHER0 security = share

Вы могли заметить строку в приведенной выше секции файла конфигурации сервера. Данная строка устанавливает стандартный режим ограничения доступа к нашему серверу Samba. Установка режима доступа позволяет клиентам (которыми могут являться утилита smbclient, любая версия ОС Windows, другой сервер Samba,) предоставлять пароль для доступа к каждому из разделяемых ресурсов. Это один из вариантов использования протокола SMB/CIFS. Другой вариант использования данного протокола (называемый режимом пользователя,) позволяет клиенту предоставлять комбинацию из имени пользователя и пароля перед тем, как сервер получит информацию о разделяемом ресурсе, к которому клиент желает получить доступ.

11.2.2. Секция настроек разделяемого ресурса файла конфигурации smb.conf

Наш разделяемый ресурс будет носить имя pubread, причем в качестве пути (задаваемого с помощью параметра path) будет использоваться путь к созданной ранее директории. Каждый пользователь сможет получить доступ к данной директории (благодаря использованию значения параметра) только для чтения (в соответствии со значением параметра).

Path = /srv/samba/readonly comment = files to read read only = yes guest ok = yes

Ниже приведена очень похожая конфигурация, используемая сервером Samba из состава дистрибутива Ubuntu 11.10.

root@ubu1110:~# cat /etc/samba/smb.conf workgroup = LINUXTR netbios name = UBU1110 security = share path = /srv/samba/readonly read only = yes guest ok = yes

На самом деле, название используемого вами дистрибутива Linux не имеет решающего значения. Ниже приведена аналогичная конфигурация, используемая сервером Samba из состава дистрибутива Debian 6 и являющаяся по своей сути идентичной приведенной выше.

root@debian6:~# cat /etc/samba/smb.conf workgroup = LINUXTR netbios name = DEBIAN6 security = share path = /srv/samba/readonly read only = yes guest ok = yes

11.3. Перезапуск сервера

После тестирования файла конфигурации с помощью утилиты следует перезапустить сервер Samba (для того, чтобы вам не пришлось ожидать начала распространения информации о разделяемом ресурсе между компьютерами сети).

# service smb restart Shutting down SMB services: [ OK ] Shutting down NMB services: [ OK ] Starting SMB services: [ OK ] Starting NMB services: [ OK ]

11.4. Проверка наличия разделяемого ресурса

11.4.1. Проверка с использованием утилиты smbclient

Теперь вы можете проверить наличие разделяемого ресурса с помощью утилиты. Наш разделяемый ресурс является четвертым разделяемым ресурсом из списка.

# smbclient -NL 127.0.0.1 Domain= OS= Server= Sharename Type Comment ——— —- ——- IPC$ IPC IPC Service (Public Anonymous File Server) global$ Disk pub0 Disk pubread Disk files to read Domain= OS= Server= Server Comment ——— ——- TEACHER0 Samba 3.0.33-3.7.el5 W2003EE Workgroup Master ——— ——- WORKGROUP W2003EE

11.4.2. Проверка с использованием ОС Windows

Последний этап проверки наличия разделяемого ресурса заключается в чтении файла из разделяемой средствами сервера Samba директории с помощью компьютера, работающего под управлением ОС Microsoft Windows. В первую очередь мы должны использовать команду для монтирования разделяемой директории pubread в качестве дискового накопителя, обозначаемого с помощью буквы K:.

C:\>net use K: \\teacher0\pubread The command completed successfully.

После этого мы должны проверить возможность просмотра содержимого разделяемой директории и чтения файлов из этой директории.

C:\>dir k: Volume in drive K is pubread Volume Serial Number is 0C82-11F2 Directory of K:\ 21/01/2009 05:49

. 21/01/2009 05:49 .. 21/01/2009 05:49 17 summer.txt 21/01/2009 05:49 18 winter.txt 2 File(s) 35 bytes 2 Dir(s) 13.496.242.176 bytes free

Для того, чтобы просто удостовериться в безопасности использования сервера Samba для организации совместного доступа к файлам, давайте попробуем осуществить запись данных в файл из разделенной с его помощью директории.

K:\>echo очень холодно > winter.txt Access is denied. K:\>

Или же, вы можете использовать проводник ОС Windows.

11.5. Примечание об использовании утилиты netcat

Приведенный выше вывод командной оболочки ОС Windows был получен в консоли Linux благодаря использованию утилиты с целью взаимодействия с командной оболочкой ОС Windows.

Данная утилита работает достаточно просто: она ожидает соединения с определенным портом компьютера, работающего под управлением ОС Windows, и исполняет бинарный файл командной оболочки cmd.exe после приема соединения. Утилита netcat аналогична утилите cat в том смысле, что она, как и утилита cat, не делает ничего, кроме передачи данных, но при этом утилита netcat предназначена для передачи данных по сети.

Для создания условий, необходимых для организации описанного соединения, следует выполнить следующую команду на компьютере, работающем под управлением ОС Windows (после загрузки версии утилиты netcat для ОС Windows).

nc -l -p 23 -t -e cmd.exe

После этого вы сможете установить соединение с данной машиной посредством утилиты netcat с любого компьютера, работающего под управлением Linux. В результате в вашей командной оболочке Linux будет выведено приветствие командной оболочки cmd.exe.

paul@laika:~$ nc 192.168.1.38 23 Microsoft Windows (C) Copyright 1985-2003 Microsoft Corp.

Поднимаем корпоративный файловый сервер на Debian Linux

C:\>net use k: /delete net use k: /delete k: was deleted successfully.

11.6. Практическое задание: настройка файлового сервера с доступом только для чтения

11.7. Корректная процедура выполнения практического задания: настройка файлового сервера с доступом только для чтения

1. Создайте директорию для предоставления каждому клиенту из сети доступа к файлам из нее только для чтения в подходящей для этого директории файловой системы (в соответствии со стандартном иерархии файловой системы FHS).

Выберите один из следующих вариантов:

Директория не должна использоваться!

Директория также не должна использоваться!

Директория также не подходит!

2. Убедитесь в том, что вы установили корректный идентификатор владельца созданной директории и файлы в ней являются общедоступными.

chown root:root /srv/samba/readonly chmod 755 /srv/samba/readonly

3. Разместите текстовый файл в созданной директории.

echo Hello World > hello.txt

4. Предоставьте всем клиентам доступ к созданной директории по сети средствами сервера Samba.

Файл конфигурации вашего сервера Samba smb.conf.readonly может выглядеть следующим образом:

Workgroup = WORKGROUP server string = Read Only File Server netbios name = STUDENTx security = share path = /srv/samba/readonly comment = read only file share read only = yes guest ok = yes

Протестируйте его корректность с помощью утилиты testparm перед использованием!

5. Проверьте с вашего компьютера и отдельного компьютера (с помощью команд smbclient, net use,) доступность для чтения файлов из разделяемой директории.

В случае использования Linux:

В случае использования Проводника Windows: Перейдите в директорию «Мое сетевое окружение».

В случае использования командной оболочки ОС Windows

6. Создайте резервную копию файла конфигурации вашего сервера smb.conf с именем smb.conf.ReadOnlyFileServer.

cp smb.conf smb.conf.ReadOnlyFileServer

Если вам понравилась статья, поделитесь ею с друзьями:

Samba - программа, которая позволяет обращаться к сетевым дискам на различных операционных системах по протоколу SMB/CIFS. Имеет клиентскую и серверную части. Является свободным программным обеспечением, выпущена под лицензией GPL.

Samba работает на большинстве Unix-подобных систем, таких как GNU/Linux, POSIX-совместимых Solaris и Mac X Server, на различных вариантах BSD, в /2, Windows. Samba включена практически во все дистрибутивы GNU/Linux, в том числе, конечно, и в Ubuntu.

Чтобы сделать общую папку в Ubuntu Desktop достаточно щёлкнуть правой кнопкой мыши на папке и выбрать пункт меню «Опубликовать папку». Никаких конфигурационных файлов при этом править не надо. Всё описанное ниже относится только к ручной настройке, например, в случае создания файлового сервера.

Для установки достаточно открыть терминал и ввести:

sudo apt-get install samba

Приложение будет автоматически загружено и установлено.

При помощи терминала сделаем резервную копию начального файла конфигурации:

sudo cp /etc/samba/smb.conf{,.bak}

Теперь можно отредактировать файл настроек /etc/samba/smb.conf, для этого откройте его в любом текстовом редакторе с правами суперпользователя. Например, так:

sudo nano /etc/samba/smb.conf

— написанное далее вообще говоря всего лишь один конкретный сценарий использования Samba, и в огромном количестве случаев всё настраивается абсолютно не так. Статью необходимо исправить, сделав акцент на возможностях Samba, а не только на применении этой программы в качестве файлохранилища с локальной авторизацией. Пример же с файлохранилищем лучше вынести в отдельную подробную статью.

Пример настройки Samba в качестве автономного файлового сервера с авторизацией:

; Глобальные настройки сервера ; General server settings ; Имя компьютера, которое будет отображаться в сетевом окружении netbios name = main-server server string = ; Рабочая группа клиентов workgroup = WORKGROUP announce version = 5.0 socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192 passdb backend = tdbsam security = user null passwords = true ; Файл для альясов имен юзеров username map = /etc/samba/smbusers name resolve order = hosts wins bcast ; wins support устанавливается в yes, если ваш nmbd(8) в Самба является WINS сервером. Не устанавливайте этот параметр в yes если у вас нет нескольких подсетей и вы не хотите чтобы ваш nmbd работал как WINS сервер. Никогда не устанавливайте этот параметр в yes более чем на одной машине в пределах одной подсети. wins support = no ; Поддержка принтеров printing = CUPS printcap name = CUPS ; Логи log file = /var/log/samba/log.%m syslog = 0 syslog only = no ; Настройка привязки к интерфейсам, на каких слушать, если не указано слушает на все интерфейсах; interfaces = lo, eth0 ; bind interfaces only = true ; ; ; path = /var/lib/samba/printers ; browseable = yes ; guest ok = yes ; read only = yes ; write list = root ; create mask = 0664 ; directory mask = 0775 ; ; ; path = /tmp ; printable = yes ; guest ok = yes ; browseable = no ; ; ;path = /media/cdrom ;browseable = yes ;read only = yes ;guest ok = yes ; Шара жесткого диска; Имя шары, видно у клиентов ; Путь к расшариваемому диску path = /media/sda1 ; Можно ли просматривать browseable = yes read only = no guest ok = no create mask = 0644 directory mask = 0755 ; Привязка к определенному имени пользователя или группе, имена через пробел; force user = user1 user2 ; force group = group1 group2 ; Еще один жесткий диск, по аналогии с тем что выше path = /media/sde1 browseable = yes read only = no guest ok = no create mask = 0644 directory mask = 0755

Теперь надо разобраться с пользователями.

Samba использует пользователей которые уже есть в системе, возьмем для примера имя user, допустим что он уже есть в системе, надо внести его в базу данных SMB и назначить пароль для доступа к общим ресурсам, сделаем это командой:

smbpasswd -a user

Вам будет предложено ввести пароль, пользователь будет добавлен в базу, теперь необходимо включить этого пользователя.

smbpasswd -e user

Далее создадим псевдоним для имени пользователя user что бы облегчить себе доступ с Windows машины на которой у нас например пользователь с именем Admin, для этого создадим и отредактируем файл /etc/samba/smbusers:

sudo touch /etc/samba/smbusers sudo gedit /etc/samba/smbusers

Впишите в файл пару строк

# Unix_name = SMB_name1 SMB_name2 user = Admin

На этом настройка закончена, перезапустите Samba.

Для версии Ubuntu 10.04 воспользуйтесь командой:

sudo service smbd restart

Для более ранних версий используйте:

sudo /etc/init.d/samba restart

Теперь можно пользоваться общими ресурсами.

Настройка Samba сервера на Ubuntu

Приложения для настройки

Так же существуют приложения, позволяющие производить настройку Samba через графический интерфейс (см. GUI приложения для работы с Samba).

Установить самый простой для Samba можно командой:

sudo apt-get install system-config-samba

Запускается он командой:

sudo system-config-samba

Все изменения он записывает в конфигурационный файл samba.

Для удалённого администрирования Samba в качестве web-интерфейса для Samba отлично подойдёт webmin.

Файловый сервер для Windows сети

Очень часто Samba используют для создания файлового сервера в Windows сети. Описанию такого сценария использования посвящена отдельная статья:

Статьи о Samba

Cсылки

Opening Windows to a Wider World. (слоган на www.samba.org)

Samba — реализация сетевых протоколов Server Message Block (SMB) и Common Internet File System (CIFS) . Основное предназначение — расшаривание файлов и принтеров между Linux и Windows системами.

Samba состоит из нескольких демонов, работающих в фоновом режиме и предоставляющих сервисы и ряд инструментов командной строки для взаимодействия со службами Windows:

  • smbd — демон, являющийся SMB-сервером файловых служб и служб печати;
  • nmbd — демон, предоставляющий службы имен NetBIOS;
  • smblient — утилита предоставляет доступ из командной строки к ресурсам SMB. Она также позволяет получить списки общих ресурсов на удаленных серверах и просматривать сетевое окружение;
  • smb.conf — конфигурационный файл, содержащий настройки для всех инструментов Samba;

Список портов, используемых Samba

Вводная статья про основные принципы расшаривания файлов и принтеров.

Установка и настройка сервера

# под Arch Linux, сервер yaourt -S samba # под Arch Linux, клиент yaourt -S smbclient # под Ubuntu, сервер sudo apt-get install samba samba-common system-config-samba

Скопируем файл с настройками smb.conf

sudo cp /etc/samba/smb.conf.default /etc/samba/smb.conf

По умолчанию создаются ресурсы для домашних каталогов пользователей (раздел homes в smb.conf ) и принтеров (раздел printers ).

Доступ к ресурсу может быть по паролю или анонимный. Для первого способа есть пара моментов:

  1. пользователь должен существовать в системе (создан с помощью команды и установлен пароль);
  2. пользователь должен быть добавлен как пользователь Samba (с помощью команды);

Просмотр пользователей

sudo pdbedit -L -v

Необходимо что-бы компьютеры принадлежали к одной рабочей группе, в Windows по умолчанию это WORKGROUP , вот её и будем использовать.

Ниже приведен пример простого файла smb.conf с настройками для анонимного доступа к директории /srv/samba/public .

sudo mkdir -p /srv/samba/public sudo chmod -R 0777 /srv/samba/public

Имена параметров не чувствительны к регистру. Для некоторых распространенных параметров существуют синонимы, а для некоторых – антонимы. Например, writable и writeable – это синонимы, а read only – антоним для них, т.е. опция read only = yes эквивалентна опции writable = no .

Workgroup = WORKGROUP server string = Samba Server log file = /var/log/samba/%m.log max log size = 50 security = user map to guest = Bad User dns proxy = no # следовать по симлинкам unix extensions = no wide links = yes follow symlinks = yes # utf кодировка dos charset = cp866 unix charset = UTF8 # отключаем принтеры load printers = no show add printer wizard = no printcap name = /dev/null disable spoolss = yes # hosts allow = 127. 192.168.24. # по умолчанию все файлы, начинающиеся с точки будут иметь атрибут «скрытый» hide dot files = yes comment = public folder path = /home/proft/public read only = no locking = no browsable = yes # разрешить гостевой доступ guest ok = yes force user = nobody force group = nobody # guest only = yes # create mode = 0777 # directory mode = 0777 # разрешить доступ только user1, user2 # valid users = user1, user2

Проверим корректность настроек с помощью команды

Опция указывает выводить также значения по умолчанию.

Запустим Samba-сервер

# под Arch Linux sudo systemctl start smbd # под Ubuntu, сервер sudo service start smbd

Проверим подключению к Samba на порт 139 с помощью

telnet 192.168.24.100 139

В Samba имеется ряд параметров, связанных с аутентификацией пользователей. Наиболее важным из них является параметр security , который может принимать пять различных значений

Чтобы создать терминальный, файловый (FTP) или почтовый сервер на Linux, надо уметь работать в этой операционной системе. Иначе разобраться будет сложно. ОС не нужен мощный компьютер. Потому что она не расходует лишние ресурсы на графическое оформление. Дистрибутивы Линукса можно развернуть даже на старом ПК. Поэтому для создания различных серверов часто используют Linux или Ubuntu Server.

Об этом написано много различной литературы. Некоторые книги о Линуксе насчитывают тысячу страниц. Работать придётся через терминал и все команды вводить вручную. Но всё же вы сможете сделать небольшой Linux-сервер своими руками, который будет включать файловое хранилище, Web-сервисы и почтовый протокол.

Ubuntu Server создана на базе операционной системы Linux. Для её работы не нужен современный процессор, хорошая видеокарта или большой объём оперативной памяти. С Линукс можно развернуть сервер даже на старом ноутбуке. И в нём будут все нужные компоненты: почта, FTP, Web.

Скачать образ диска с Linux можно с сайта Ubuntu.ru. Выбирайте любую версию с Server (не Desktop!). Загрузка будет проходить через Torrent-клиент . Этот образ надо записать на болванку или флешку (с помощью LiveUSB). Также можно воспользоваться виртуальным приводом.

У Ubuntu упрощённый интерфейс. В нём нет никаких графических излишеств. Эта ОС прекрасно подходит, чтобы сделать Linux-сервер своими руками. С ней ресурсы компьютера будут использоваться для нужд домена. Ведь ей для работы нужно совсем немного.

Её установка проходит так:

  • Выберите язык и регион, в котором проживаете.
  • Придумайте имя администратора. Оно используется для управления сервером.
  • Также задайте имя пользователя в поле «Username for your account». Под этим аккаунтом вы будете общаться с техподдержкой Ubuntu.

Указываем имя пользователя в Ubuntu

  • Введите пароль. Подтвердите его.

Вводим пароль учетной записи

  • Укажите домен, если он есть. На нём будут находиться все сервисы: файловый (FTP), почтовый, хостинг для сайтов и так далее.
  • Подождите, пока установится система.
  • После этого она предложит дополнительные компоненты.

Вот список того, что необходимо для сервера Linux и его полноценной работы:

  • Open SSh. Используется для удалённого администрирования. Пригодится, если вы решите управлять сервисом с другого компьютера. Тогда на ПК с Линуксом можно будет отключить монитор и видеоадаптер.
  • LAMP. Комплекс утилит Linux, который включает Apache (Web-сервер). MySQL (базы данных) и PHP (язык программирования для CMS). Эти компоненты нужны для создания управляющего интерфейса.
  • Samba file server. Позволяет настроить обмен файлами между компьютерами. Если вам нужен FTP-сервер, выберите этот пункт.
  • Virtual Machine host. Устанавливайте, если собираетесь пользоваться возможностями виртуализации.
  • Print server. Сетевые принтеры.
  • DNS server. Система доменных имён. С ней можно распознать IP-адрес по имени компьютера и наоборот.
  • Mail server. Почтовый сервер.
  • PostgreSQL database. Объектно-реляционные базы данных.

Выберите то, что вам нужно, и подтвердите установку. При первом запуске надо будет ввести логин администратора и пароль. Откроется консоль. Она похожа на командную строку Windows или интерфейс операционной системы MS DOS.

Изначально вам надо будет проверить наличие обновлений. Введите команду «Sudo apt-get update» или «Sudo apt-get upgrade» без кавычек. После апдейта можно заняться настройкой всех компонентов серверов: FTP, почтового, Веб.

Для Ubuntu существует псевдографический интерфейс - Midnight Commander. Это аналог оболочки Norton Commander, которая разработана для системы MS DOS. С таким интерфейсом легче работать - всё нагляднее, чем в консоли.

Запуск терминала Linux

В современных Linux вместо консоли используется терминал. Чтобы в него зайти:

  1. Откройте «Приложения».
  2. Нажмите «Стандартные».
  3. Там будет «Терминал».

В него можно вводить команды так же, как в Ubuntu Server.

  • Чтобы установить компоненты LAMP (если их ещё нет), надо последовательно ввести команды «sudo apt-get update», «sudo apt-get install tasksel» и «sudo tasksel install lamp-server». После каждой нажимайте Enter.
  • Чтобы загрузить Open SSh, введите «sudo apt-get install openssh-server».
  • Чтобы поставить Samba file server, напишите «sudo apt-get install samba».

При установке MySQL из пакета LAMP нужно будет задать пароль администратора, для SQL.

Локальный Web-сервер

Для создания Web у сервера должен быть свой выделенный IP. Тогда после установки LAMP по этому IP-адресу будет доступна тестовая страница Apache. Это и есть будущий Веб. В дальнейшем на него можно будет поставить FTP, базы данных, почтовый протокол. Для настройки Web-сервера:

  • Установите phpMyAdmin. Для этого в терминале или в консоли введите друг за другом введите «sudo apt-get install phpmyadmin»

  • И потом «sudo service apache2 restart».
  • Компонент загрузится. Apache будет перезагружен. Дальнейшие действия зависят от версии операционной системы.

Если у вас Ubuntu 13.1 и выше, используйте команды:

  1. sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf
  2. sudo a2enconf phpmyadmin
  3. sudo /etc/init.d/apache2 reload

Вбивайте их последовательно друг за другом, после каждой нажимайте Enter.

В Ubuntu 16.04, нужны другие указания:

  1. sudo apt-get install php-mbstring php-gettext
  2. sudo phpenmod mcrypt
  3. sudo phpenmod mbstring
  4. sudo systemctl restart apache2

После их ввода и автоматического перезапуска службы по адресу http:///phpmyadmin будет доступен веб-интерфейс.

  • Конфигурация и данные о ней находятся в папке сервера Apache «etc/apache2/». Apache2.conf - конфигурационный файл для дистрибутива
  • В директориях «mods-available»/«sites-available» и «mods-enabled»/«sites-enabled» находятся моды и сайты.
  • В Ports.conf расписаны прослушиваемые порты.
  • Если вы добавите после команды «sudo /etc/init.d/apache2» слово «Stop», Apache приостановит работу. Если «Start» - снова запустится. Если «Restart» - перезагрузится.
  • Чтобы самостоятельно выбирать путь для сохранения сайтов, последовательно введите в терминал «sudo a2enmod rewrite» и «sudo a2enmod userdir».

Каждый раз после внесения каких-либо изменений надо перезапускать службу командой «Restart».

Почтовый сервер

Чтобы создать почтовый сервер на Линукс, у вас уже должен быть зарегистрирован домен. Также нужно иметь статический IP.

  • Установите компонент Postfix. Для этого наберите в консоли «sudo apt-get postfix».
  • Когда он загрузится, напишите команду «sudo /etc/initd/postfix start». Сервис начнёт работать.
  • В Postfix уже прописаны параметры, которые нужны для полноценной работы с протоколом SMTP. Но всё же не помешает небольшая настройка.
  • Откройте файл /etc/postfix/main.cf.
  • Найдите в нём значение «mydomain =». После знака «=» напишите имя домена.
  • Потом отыщите «myhostname =». И введите имя машины.
  • Теперь почтовый сервер может отправлять письма другим компьютерам, которые находятся с ним в одной сети. Чтобы он мог посылать корреспонденцию и на другие домены в интернете, в файле «main.cf» найдите строчку «inet_interfaces =». Поставьте после неё слово «all».
  • В переменной «mynetworks =» пропишите диапазон адресов всех компьютеров вашей подсети (например, 127.0.0.0/8).

Если служба настроена верно, и выполнены все условия (постоянный IP-адрес, зарегистрированный домен), то Server сможет принимать и отправлять корреспонденцию. Если запись MX вашего домена ссылается на ваш хост.

Чтобы посмотреть логи ресурса, используйте команду «tail -f /var/log/mail/info». Чтобы получить от него сообщение, введите «mailq».

Файловый сервер

FTP-сервер Linux может понадобиться для обмена документами и загрузки файлов. Существует несколько версий таких ресурсов: vsFTPd, Samba, proFTPd.

Подробнее остановимся на vsFTPd. Его можно установить и запустить одной командой - «sudo apt-get install vsftpd». Дальнейшие настройки зависят от ваших предпочтений и от того, какой сервис вы хотите сделать. Для изменения параметров могут понадобиться права администратора.

  1. Сразу после загрузки программы система создаёт нового пользователя и добавляет в домашнюю директорию папку, которая предназначена для работы с серверным хранилищем. Также в каталоге «etc» появляется файл «ftpusers». Туда можно добавлять пользователей, которым запрещён доступ к файлам.
  2. После установки лучше сменить директорию, в которой должны находиться файлы, в папку «var». Для этого от имени администратора напишите команду «usermod -d /var/ftp ftp && rmdir /home/ftp».
  3. Создайте новую группу пользователей. Например, «userftp». Напечатайте в консоли «addgroup userftp».
  4. Добавьте в неё новый аккаунт (для простоты назовём пользователя и группу одинаково). Используйте команду «useradd -a /var/ftp -g userftp userftp». Она заодно создаёт пользователя. Чтобы включить в группу уже существующий никнейм, вместо «useradd» напишите «usermod».
  5. Надо придумать пароль новому пользователю. Введите в терминале «passwd userftp».
  6. Напечатайте «chmod 555 /var/ftp && chown root:userftp /var/ftp», чтобы предоставить аккаунту доступ к корневой папке файлового сервера.
  7. Теперь создайте публичную директорию. Последовательно введите «mkdir /var/ftp/pub» и «chown userftp:userftp /var/ftp/pub».

Изначально FTP запускается в автономном режиме. У неё есть скрипт, который играет роль демона. При такой функциональности доступно несколько команд. Они вводятся после строки «sudo service vsftpd».

  • Stop и Start. Отключение и включение.
  • Restart и Reload. Перезапуск. Нужен для применения новых настроек. Разница между командами в том, что во второй перезагрузка происходит без полного отключения.
  • Status. Информация о состоянии.

Дальнейшая настройка сервера заключается в переписывании файла конфигурации, который находится в etc/vsftpd.conf. У него простая и понятная структура. Разобраться в нём достаточно просто. Хотя для этого нужны определённые знания. Перед изменением этого файла имеет смысл сделать его резервную копию. Чтобы в случае выявления ошибок можно было всё восстановить. Введите команду «cp /etc/vsftpd.conf /etc/vsftpd_old.conf» и информация будет сохранена.

После этого можно приступать к редактированию.

  • В параметре «listen=» напишите «YES». Тогда сервер будет работать в независимом режиме.
  • «Local_enable» разрешает вход локальным пользователям.
  • «Write_enable» даёт им доступ в домашние каталоги.
  • «Anonymous_enable». Можно ограничить права анонимных пользователей, если поставить «NO». Также есть опция «no_anon_password» - анонимные входят без пароля. Её тоже можно запретить.

Если вы хотите делать публичный сервер, то после строки «listen» надо добавить несколько дополнительных параметров.

  • «Max_clients». Количество одновременных соединений.
  • «Idle_session_timeout» и «data_connection_timeout». Таймауты сессии.
  • «Ftpd_banner». Приветственное сообщение для посетителей. Можно написать, к примеру, «Hello!».

Терминальный сервер

Терминальный сервер на Linux предназначен для предприятий и офисов , все компьютеры в которых объединены в одну сеть. Очень удобно, когда с любого ПК (если у него есть доступ) организации можно зайти на терминал. Это открывает большие возможности для удалённого администрирования.

Для такой задачи подходит LTSP - Linux Terminal Server Project. Программа есть в стандартном пакете Ubuntu. Чтобы её установить:

  1. Введите команду «ltsp-server-standalone».
  2. Потом напишите «apt-get update && apt-get install ltsp-server-standalone».
  3. Подождите, пока всё загрузится и обновится.
  4. Теперь надо поставить клиентскую систему. Напечатайте «ltsp-build-client».
  5. Затем «ltsp-build-client -dist trusty -arch i386 -fat-client-desktop lubuntu-desktop».
  6. Используйте команду «debootstrap», и дистрибутив автоматически развернётся в директорию «opt/ltsp/i386».

Linux Server может работать даже на слабых ПК. Поэтому его очень часто используют для создания серверов и удалённого администрирования. На этой операционной системе делают почтовые сервисы, FTP-хранилища, терминалы.

Операционные системы Linux исключительно распространены и применяются в широком диапазоне. В то время как определенные дистрибутивы Linux ориентированы на опытных пользователей, другие намного проще, и прекрасно подходят для того, чтобы перейти на них с Windows. Дистрибутивы Linux часто обладают преимуществом благодаря значительным ресурсам сообществ их пользователей.

Хотя операционные системы Linux предлагают отличную рабочую среду для настольных компьютеров, Linux может также быть превосходной системой и для серверных приложений. Как правило, Linux обеспечивает улучшенное управление доступом, давая более высокую гибкость и стабильность.

Поэтому, дистрибутивы Linux являются идеальным серверным ландшафтом. Ознакомьтесь с 12 лучшими операционными системами Linux для серверов, и с тем, на каких пользователей они рассчитаны.

Что такое операционная система Linux для сервера?

Что отличает операционную систему Linux для сервера от обычного дистрибутива Linux? Для ответа нужно учитывать аппаратное обеспечение сервера. Серверы, в сущности, представляют собой компьютеры со специальными характеристиками. Например, аппаратное обеспечение сервера гарантирует длительное время непрерывной работы, эффективность и надежность. Кроме того, серверы балансируют вычислительную мощность с потреблением электроэнергии. Поэтому операционные системы Linux для серверов на первое место ставят надежность и потребление ресурсов.

Операционная система Linux для сервера обслуживает контент для клиентских устройств. Соответственно, операционные системы для серверов имеют инструментарий для создания простых серверов. Поскольку серверы, в основном, работают в автоматическом режиме, то графический интерфейс с пользователем (GUI) в операционной системе Linux для сервера имеет менее важную роль.

Согласно IDC, данные продаж аппаратного обеспечения указывают на то, что 28 процентов серверов используют Linux . Однако эта данные, скорее всего, не учитывают домашних серверов. Используя специализированные операционные системы Linux можно развернуть собственный сервер. Здесь важно использовать версию для долговременной эксплуатации (LTS), и установить нужное программное обеспечение. Версии LTS более стабильны, и имеют длительный период поддержки.

Выбирая операционную систему Linux для сервера, следует учитывать назначение сервера. Применение компьютера под управлением Linux в качестве медийного сервера отличается от его использования в качестве игрового сервера .

Вероятно, наиболее известной из операционных систем Linux является Ubuntu. Имея множество вариантов, Ubuntu является стабильным дистрибутивом. Эта система и ее варианты предоставляют прекрасные возможности для пользователя. Система Ubuntu Server поставляется в двух версиях — LTS и в виде плавающего релиза. Версия LTS Ubuntu Server, как утверждается, имеет пятилетний период поддержки. Хотя этот период и не составляет пяти лет, но версии, не относящиеся к LTS, имеют только девять месяцев обновлений безопасности и обслуживания.

В то время как Ubuntu и Ubuntu Server очень похожи друг на друга, версия Server предлагает другие средства. Например, Ubuntu Server предоставляет такие дополнения, как OpenStack Mitaka, Nginx, и LXD. Они облегчают администрирование системы. Используя Ubuntu Server, можно разворачивать web-серверы, предоставлять контейнеры и делать многое другое. Более того, эти инструменты готовы к использованию сразу после установки.

Хотя и не являясь серверным дистрибутивом, Ubuntu LTS предоставляет пятилетний период поддержки. Я сейчас использую Ubuntu 16.04 LTS, на которой работает сервер Plex, в качестве игрового сервера Linux. Дистрибутивы LTS могут прекрасно функционировать в качестве операционных систем Linux для серверов. Нужно всего лишь установить на них серверное программное обеспечение.

Если вы новичок в Linux, или в области операционных системах для серверов, то Ubuntu является прекрасным выбором. Эта система остается одним из наиболее популярных дистрибутивов Linux частично благодаря своей дружественности к пользователю. Соответственно, Ubuntu Server представляет собой операционную систему Linux для серверов, фантастически подходящую для начинающих пользователей. Она превосходна в качестве медийного сервера, игрового сервера, и сервера электронной почты. Более сложные серверы могут также быть настроены на Ubuntu Server, но она, определенно, ориентирована на основные серверы и новичков.

Дебют SUSE Linux состоялся в 1993 году. В 2015 году вариант openSUSE с открытым исходным кодом превратился в SUSE Linux Enterprise (SLE). Существуют две ветви openSUSE: Leap и Tumbleweed. Версия Leap имеет более длительный цикл выпусков, в то время как Tumbleweed является плавающим релизом. Поэтому Tumbleweed больше подходит для опытных пользователей, предоставляя самые свежие пакеты, такие как Linux Kernel и SAMBA. Вариант Leap более пригоден для стабильных решений. Операционная система поддерживается путем обновлений.

Предоставляемый по умолчанию инструментарий делает openSUSE фантастической операционной системой Linux для сервера. В ее состав входят openQA для автоматического тестирования, Kiwi для поставки образов Linux на несколько платформ, YaST для конфигурирования Linux, и всеобъемлющий менеджер пакетов Open Build Service. За счет отказа от девятимесячного цикла плавающих релизов, и концентрации на стабильности, как это имеет место в SLE, система openSUSE становится жизнеспособной средой Linux для серверов. Специалисты по информационным технологиям даже назвали openSUSE «… CentOS и Debian от SUSE».

Для каких пользователей предназначена: Система openSUSE больше подходит опытным пользователям, таким, как системные администраторы. Она пригодна для установки web серверов , базовых домашних серверов или комбинаций web-серверов и базовых серверов. Системные администраторы могут воспользоваться такими инструментами, как Kiwi, YaST, OBS, и openQA. Разносторонность openSUSE делает ее одной из лучших операционных систем Linux для серверов. В дополнение к серверным возможностям, openSUSE поддерживает приятную среду для настольных компьютеров. Для наиболее базовых серверов система openSUSE также вполне пригодна, хотя и несколько избыточна. Все еще не уверены?

Если вы испытываете двойственные чувства, читая слова «Oracle Linux», то вы не одиноки. Система Oracle Linux является дистрибутивом Linux, поставляемым технологическим гигантом Oracle. Эта система доступна с двумя различными ядрами. Один ее вариант имеет ядро, совместимое с Red Hat (RHCK). Это точно такое же ядро, которое используется в системе Red Hat Enterprise Linux (RHEL). Система Oracle Linux сертифицирована для работы с разнообразным оборудованием от таких производителей, как Lenovo, IBM и HP. Для увеличения защиты ядра Oracle Linux использует технологию Ksplice. В состав системы входит также поддержка контейнеров Oracle, OpenStack , Linux и Docker. В качестве символов бренда используются темы Oracle, включая и Oracle Penguin.

Поддержка системы производителем осуществляется, но она платная. Хотя, если Oracle Linux работает не в среде предприятия, то цена на поддержку не устанавливается. Если возникает необходимость развернуть публичное или приватное облако, то операционная система Oracle Linux поддерживает и эти технологии. С другой стороны, вы можете попробовать работать с Oracle Linux, если вам просто нужна система Linux с брендом Oracle.

Для каких пользователей предназначена: Система Oracle Linux лучше всего подходит для центров данных или для создания облаков с OpenStack. Для Oracle Linux лучше всего подходят наиболее опытные пользователи домашних серверов или серверов уровня предприятия.

  1. Container Linux (бывшая CoreOS)

Операционная система CoreOS в 2016 году сменила свое название на Container Linux. Как следует из нового названия, Container Linux представляет собой операционную систему Linux, выпущенную для предоставления контейнеров. Система сконцентрирована на упрощении процесса предоставления контейнеров. Container Linux является превосходной операционной системой для надежного, масштабированного использования. Кластерное развертывание контейнеров выполняется легко, и данный дистрибутив включает в свой состав средства для обнаружения сервиса. В него входит документация и поддержка технологий Kubernetes, Docker и rkt.

В систему не включено управление пакетами. Все приложения должны выполняться в пределах контейнеров, поэтому контейнеризация обязательна. И если вы работаете с контейнерами, то Container Linux является лучшей операционной системой для серверов в кластерной инфраструктуре. Она предоставляет демона etcd, работающего в каждом компьютере, входящем в кластер. Кроме того, обеспечивается определенная гибкость и в установке. Помимо локальной установки, выполнение Container Linux возможно в таких средах виртуализации, как Azure, VMware и Amazon EC2.

Для каких пользователей предназначена: Система Container Linux лучше всего подходит для серверов в кластерной инфраструктуре или с предоставлением контейнеров. Это, скорее всего, не предусматривает среднего домашнего пользователя. Но при наличии официального логотипа Docker у любителей Plex, Container Linux может работать в любом окружении — от базового домашнего сервера для сложных кластеров. Применяете Container Linux, если вы уверенно работаете с контейнерами. Вместе с openSUSE, система Container Linux является одной из лучших новых и обновленных операционных систем Linux, которые следует попробовать.

Операционная система CentOS предоставляет устойчивую рабочую среду. Это вариант операционной системы Red Hat Enterprise Linux (RHEL) с открытым исходным кодом. В связи с этим CentOS обеспечивает работу сервера уровня предприятия. Эта операционная система от Red Hat использует тот же самый исходный код, как и RHEL. В состав CentOS входит менеджер пакетов RPM. В 2010 году обзор данных продаж показал, что примерно 30 процентов всех серверов Linux работает на CentOS. И тому есть причина: это очень устойчивая среда для сервера с поддержкой от Red Hat.

Следует отметить, что CentOS хорошо работает и на мэйнфреймах. Для пользователей, предпочитающих GUI, в системе доступны KDE и GNOME. Система CentOS может использоваться в качестве непосредственной операционной системы для настольных компьютеров. Благодаря поддержке от Red Hat и растущему сообществу пользователей, CentOS остается свободной от ошибок.

Для каких пользователей предназначена: Система CentOS предоставляет функциональность и устойчивость Red Hat Enterprise Linux. Поэтому она прекрасно подходит в качестве современной операционной системы для сервера. Если вам требуется бесплатная альтернатива RHEL, то можно использовать CentOS. Однако она является и достаточно дружественной к новичкам благодаря своему менеджеру пакетов. В целом, CentOS является лучшей бесплатной альтернативой Red Hat Enterprise Linux.

Многие серверы ограничивают потребление мощности. Снижение расхода мощности является основным преимуществом, особенно для постоянно включенных машин. Поэтому операционные системы Linux для серверов должны использовать небольшие ресурсы. Правильное распределение ресурсов является ключевым фактором для продолжительности работы и эффективности сервера. Многие дистрибутивы Linux используют меньше ресурсов, чем их аналоги Windows или macOS. Операционная система Arch является простым, легким дистрибутивом, придерживающимся принципа KISS («делайте вещи проще»).

Для этой системы в Arch Linux Wiki выделена отдельная часть, связанная с серверами . Там можно узнать все, что относится к конфигурации Arch Linux в качестве операционной системы для сервера. В то время как специального, заранее собранного выпуска системы для серверов не существует, эта документация Wiki описывает все шаги для создания собственной серверной операционной системы. Вы можете установить популярные программы для серверов, включая MySQL, Apache, Samba и PHP для Arch.

Для каких пользователей предназначена: Arch Linux является универсальной операционной системой Linux для серверов. Она идеальна для превращения в сервер старого ПК. Но, несмотря на свою легкость, система Arch вполне функциональна и на более мощном аппаратном обеспечении. Кроме того, Arch Linux лучше всего подходит для пользователей с техническим опытом, поскольку им придется настраивать Arch в качестве серверной системы.


Система Mageia представляет собой операционную систему Linux, в которой основной акцент сделан на надежность и стабильность работы. Это ветвь Mandriva Linux, появившаяся в 2010 году. В 2012 году журнал PC World расхвалил Mageia, которая сегодня уже дошла до пятой версии. Хотя существует множество операционных систем Linux, существует также и большой список рабочих сред Linux для настольных компьютеров. Система Mageia включает в свой состав целую группу интерфейсов с пользователем, таких как KDE, GNOME, Xfce и LXDE.

Вместо MySQL в состав Mageia входит MariaDB . Такие ориентированные на серверы элементы, как 389 Directory Server и Kolab Groupware Server делают Mageia выдающейся операционной системой Linux для серверов.

Для каких пользователей предназначена: Mageia является заслуживающей доверие операционной системой Linux для серверов. Она имеет в своем составе такие средства, как MariaDB и Kolab Groupware Server. Кроме того Mageia предоставляет надежную, защищенную среду. Пользователи, которым требуется GUI, также могут подумать об использовании Mageia благодаря ее множеству интерфейсов для настольных компьютеров.

ClearOS спроектирована специально для серверов, шлюзов и сетевых систем. Стандартная установка системы обеспечивает усиленную безопасность. В нее входит сетевой брандмауэр, средства управления пропускной способностью, почтовый сервер, и средства обнаружения вторжения. Выпуск ClearOS 7 Community Edition имеет в своем составе 75 приложений и инструментов .

Хотя имеются и платные версии ClearOS, выпуск Community Edition остается бесплатным. Кроме того, обновления ClearOS от разработчиков также бесплатные, но такие бесплатные обновления не проходят тестирования.

Для каких пользователей предназначена: ClearOS является специализированной операционной системой Linux для серверов. Ее богатый набор приложений ставит ClearOS в положение дистрибутива, ориентированного на специалистов по Linux. Любителям и специалистам Linux достаточно только запросить нужные приложения. Но новичкам лучше выбрать другие дистрибутивы систем для серверов.

Операционная система Slackware давно используется в качестве Linux для серверов. Первый выпуск этой системы появился в 1993 году. Согласно сайту Slackware Linux, целью этого проекта является «дистрибутив Linux, в максимальной степени напоминающий UNIX». По умолчанию, Slackware предоставляет интерфейс командной строки.

Полная установка Slackware включает в себя C и C++, систему X Windows, почтовый сервер, w eb-сервер , сервер FTP и сервер новостей. Более того, Slackware настолько легкая система, что она может работать на платформе Pentium. Продолжающиеся выпуски увеличивают стабильность и простоту системы.

Для каких пользователей предназначена: Slackware Linux лучше всего подходит для опытных профессионалов Linux. У нее имеются два менеджера пакетов, pkgtools и slackpkg. Но поскольку Slackware по умолчанию запускает интерфейс командной строки, она наиболее пригодна в качестве операционной системы Linux для серверов. Более того, в ее простоте имеется и определенная доля сложности. Для использования Slackware вы должны понимать свои действия в среде Linux.

Gentoo отличается от многих дистрибутивов Linux. Вместо традиционной модели выпусков Gentoo использует модульную структуру . То есть, пользователь сам выбирает то, что будет установлено. Благодаря этому Gentoo занимает верхнюю позицию в списке операционных систем Linux для серверов.

Каждая установка этой системы уникальна. Пользователи могут собрать ядро, предоставляющее максимальные возможности управления. Следовательно, сервер может контролировать такие аспекты как, например, расход памяти. Благодаря своей модульной структуре и гибкости Gentoo становится очень популярной среди профессионалов Linux. Системные администраторы высоко оценивают предлагаемый Gentoo подход к сборке системы в соответствии с потребностями.

Для каких пользователей предназначена: Система Gentoo лучше всего подходит пользователям с техническим уклоном и системным администраторам. Хотя Gentoo и может быть использована новичками, она менее ориентирована на неопытного пользователя, чем средний вариант Ubuntu. Однако система имеет превосходную документацию и ее сообщество постоянно развивается.

Если вы ищите свежую операционную систему Linux для серверов, попробуйте систему Fedora. Поддерживаемый компанией Red Hat, проект Fedora получает регулярные обновления. Разработчики часто участвуют в этих обновлениях. Система Fedora поставляется в различных вариантах. Версия Workstation рассчитана на обычных пользователей и поставляются со средой рабочего стола. По умолчанию Fedora Workstation поставляется с интерфейсом GNOME, но доступны и другие интерфейсы с пользователем. Версия Fedora Server, как и следует из названия, предназначена для серверов.

По умолчанию, в установку Fedora Server графический интерфейс с пользователем не включается. Однако если вы не планируете использовать сервер в автоматическом режиме, то можете установить один из интерфейсов пользователя. Выпуск Server имеет множество инструментов. Среди них можно назвать панель управления системой Cockpit. Кроме того, в Fedora Server включены такие базы данных, как PostgreSQL.

Для каких пользователей предназначена: Опытные разработчики Linux и системные администраторы выберут именно Fedora Server. Отсутствие среды рабочего стола и характеристики системы уровня предприятия означают, что Fedora лучше всего подходит современным серверам.

Ну, специального выпуска для серверов Debian не имеет. Тем не менее, Debian представляет собой одну из лучших доступных операционных систем Linux для серверов. Поскольку система Debian была выпущена в 1993 году, а ее первый стабильный выпуск появился в 1996 году, эта система является невероятно защищенной. Многие дистрибутивы Linux, включая и Ubuntu, основаны на Debian. Почему же Debian используется в качестве основы другой операционной системы? Только благодаря ее устойчивости.

Кроме того, Debian часто используется на серверах, так как она прошла проверку временем. В состав системы входит менеджер проектов, инструменты APT, и различные средства внешнего представления, такие как GDebi. Поэтому, хотя Debian не поставляется в серверном варианте, это прекрасная операционная система для самостоятельно развертывания собственного сервера. Debian характеризуется впечатляющей совместимостью приложений, надежностью и стабильностью.

Для каких пользователей предназначена: Система Debian предоставляет фантастическую серверную среду для двух направлений. Если вам нужен базовый сервер, такой как web-сервер, почтовый, игровой или медийный сервер, то Debian позволяет установить их без особой сложности. С другой стороны, подумать об использовании Debian должны и более опытные пользователи со специфическими серверными потребностями. При этом такой подход не требует работ типа «сделай сам».

Лучшие операционные системы Linux для серверов

Хотя можно найти много операционных систем Linux пригодных для серверов, каждая из них является лучшей для конкретных групп пользователей. Более того, не относящиеся к серверам выпуски LTS, прекрасно функционируют в качестве операционной системы Linux для серверов. Хорошим примером такого рода является Debian. Хотя эта система не имеет специального дистрибутива для серверов, она обладает основными характеристиками такого дистрибутива. А именно, стабильностью и безопасностью.

Для начинающих, или для тех, кому нужна установка простого сервера, я бы рекомендовал любой дистрибутив на базе Debian или вариант Ubuntu. Я использую варианты Ubuntu для всех своих медийных или игровых серверов. Они имеют максимальную совместимость с тем программным обеспечением, которым я пользуюсь, и позволяют создавать комбинации серверов домашних кинотеатров на базе ПК и медийных серверов.

При создании файлового сервера неизбежно возникает вопрос выбора операционной системы. Здесь есть над чем задуматься: потратить деньги на Windows Server или обратить внимание на бесплатные Linux и BSD? Во втором случае придется еще определиться с выбором файловой системы, которых в Linux довольно много. Однозначного ответа на поставленные вопросы дать нельзя, нужно разностороннее тестирование, которое мы провели в нашей тестовой лаборатории.

Как мы тестировали

Нельзя объять необъятное. Так и в нашем случае. Невозможно протестировать все варианты файловых серверов. Поэтому мы решили ограничиться самыми распространенными. Для Windows Server это версии 2003 и 2008 R2, поскольку первая еще продолжает широко использоваться, а последняя интересна техническими новинками, в частности поддержкой протокола SMB2, файловая система NTFS.

Для Linuх платформы был выбран Ubuntu 10.04 LTS, проведя ряд дополнительных тестов, мы выяснили, что производительность файловых серверов практически не зависит от дистрибутива Linux, в тоже время наблюдается определенная зависимость от версии Samba (в нашем случае 3.4.7). Из всего многообразия файловых систем мы выбрали наиболее распространенные и популярные: ext3, ext4, reiserfs, XFS, JFS. Также был протестирован дистрибутив FreeNAS, как представитель семейства BSD (собран на базе FreeBSD 7.2) с UFS.

В качестве клиента использовали Windows 7 32-бита. Сразу огорчим поклонников XP, нравится вам это или нет, именно Windows 7 станет в ближайшие годы корпоративной OC по умолчанию.

Для тестовой платформы использовались два ПК Core2 Duo E8400 - P45 - 2 Гб PC2-8500 , соединенных гигабитной сетью. На одном из них установлена Windows 7, на втором устанавливались серверные ОС и был подключен дополнительный жесткий диск 750 Gb Western Digital RE3 использовавшийся исключительно для тестирования. Этот диск форматировался в нужную файловую систему и настраивался в качестве общего ресурса.

Тестирование проводилось при помощи пакета Intel NASPT 1.0.7, подробнее о входящих в его состав тестах можно . Для каждой конфигурации мы производили 5 прогонов теста, используя в качестве окончательного средний результат.

Файловые операции

Работа с файлами

На операциях записи уверенно лидирует Windows Server, опережая Linux более чем в два раза, на операциях чтения разрыв между Linux и Windows Server 2003 практически сокращается, однако Windows Server 2008 R2 удерживает высокие позиции, значительно опережая как Linux, так и Windows Server 2003.

В семействе файловых систем Linux при работе с большими файлами неожиданно лидирует reiserfs, ext4 показала довольно низкие результаты при записи, а ext 3 при чтении. JFS - аутсайдер тестирования, и имеет проблемы с записью больших файлов, показав неприемлемо низкий результат. FreeNAS показал весьма скромный результат, по нижней планке Linux систем.

Работа с папками

При работе с большим количеством небольших файлов распределенных по папкам разной степени вложенности результат более равномерный. Windows системы снова лидируют, хотя не со столь впечатляющим отрывом. SMB2 и здесь дает о себе знать, выводя Windows Server 2008 R2 в несомненные лидеры с 40% превосходством над Linux.

В Linux стане результаты довольно ровные, на запись незначительно лидируют reiserfs и JFS, на чтение явного лидера нет, JFS явный аутсайдер. FreeNAS имеет сопоставимые результаты, незначительно опережая при чтении и незначительно отставая при записи.

Работа с приложениями

Итак, абсолютный лидер на сегодня это Windows Server 2008 R2, протокол SMB2 показывает значительное преимущество, не оставляя шансов конкурентам. Если перед вами стоит задача создать высокопроизводительный файловый сервер для работы в современной инфраструктуре то выбора как такового нет. Новая серверная ОС от Microsoft безусловно оправдает затраченные на нее средства.

Windows Server 2003 в общем зачете получает второе место с 76,31%, учитывая что в некоторых задачах он показал довольно низкий результат и небольшой отрыв от Linux решений (10-15%) развертывать новые сервера под этой ОС не представляется целесообразным. Это же следует учитывать при легализации ПО, в этом случае целесообразен апгрейд до Windows Server 2008 R2 или переход на Linux решения.

Среди Linux решений, за исключением JFS, результат довольно равномерный, с небольшим отрывом (3-5%) вперед выходят XFS и reiserfs. JFS явный аутсайдер, к применению категорически не рекомендуется. Решения на базе FreeBSD также нельзя рекомендовать к серьезному применению, они проигрывают Linux 10-15%, не говоря уже о гораздо более серьезном отставании от Windows систем.

Надеемся что проведенное нами тестирование поможет вам принять правильное решение в выборе операционной и файловой систем для вашего файлового сервера.

Н а этом уроке мы собираемся узнать, как установить и настроить сервер Samba на Ubuntu 16.04. Samba является свободным и с открытым исходным кодом реализацией протокола SMB/CIFS для Unix и Linux, что позволяет взаимодействовать между файлами и принтерами в Unix/ и Windows, на машинах в локальной сети.

Samba представляет собой пакет программ, наиболее важными из которых два являются:

  • smbd : обеспечивает SMB / CIFS обслуживание (общий доступ к файлам и печати), а также может выступать в качестве контроллера домена Windows.
  • nmbd : обеспечивает сервис имен NetBIOS

Как установить Samba-сервер на Ubuntu 16.04

Samba входит в состав большинства дистрибутивов Linux. Чтобы установить Samba на , просто запустите:

Sudo apt install samba

Последняя стабильная версия доступна 4.5.3, выпущена 19 декабря 2016 г. Чтобы проверить версию Samba , запустите

Sudo smbstatus

Sudo smbd --version

Пример вывода:

Samba version 4.3.11-Ubuntu

Для того, чтобы проверить, запущена ли служба Samba, выполните следующие команды.

Systemctl status smbd systemctl status nmbd

Для запуска этих двух служб, выполните следующие команды:

Sudo systemctl start smbd sudo systemctl start nmbd

После запуска, smbd будет слушать на порту 139 и 445.

Редактирование файла конфигурации

Там только один конфигурационный файл, который необходимо отредактировать: /etc/samba/smb.conf .

Sudo nano /etc/samba/smb.conf

В разделе , убедитесь, что значение workgroup относиться к рабочей группе компьютеров Windows.

Workgroup = WORKGROUP

Прокрутите вниз к нижней части файла. (В текстовом редакторе nano, нажмите CTRL+W а затем CTRL+V .) Включите новый раздел, как показано ниже. Замените username на необходимое имя пользователя.

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

Home Share это имя папки, которое будет отображаться в сети Windows. Комментарием является описание общей папки. Следующие 3 строки указывают, что только указанный пользователь valid users имеет право доступа к каталогу /home/username/ , который также доступен для записи. Вышеуказанная конфигурация отключит анонимный доступ.

Сохраните и закройте файл, а затем выполните следующую команду, чтобы проверить, если есть синтаксические ошибки.

Testparm

Создание пользователя

Samba содержит по умолчанию user в качестве режима защиты, означает, что клиенты должны ввести имя пользователя и пароль для доступа к общей папке. Чтобы добавить пользователя в Ubuntu, выполните следующую команду:

Sudo adduser username

Вам будет предложено установить пароль Unix. Кроме того, необходимо установить отдельный Samba пароль для пользователя с помощью следующей команды:

Sudo smbpasswd -a username

Теперь все, что осталось сделать, это перезапустить демон smbd.

Sudo systemctl restart smbd

Доступ Samba к общей папки из Windows

На компьютере Windows, который находится в той же сети, откройте проводник и нажмите Сеть на левой панели. Вы увидите сервер самбы. Дважды щелкните общую папку и введите имя пользователя и пароль.

Доступ Samba к ресурсу папке с компьютера Ubuntu

В диспетчере файлов, перейдите на вкладку Сеть на левой панели и выберите Сеть Windows.

Выберите рабочую группу, сервер Samba и общую папку, а затем введите имя пользователя и пароль Samba.

Добавление нескольких пользователей или групп

Если нескольким учетным записям необходимо получение доступа к общей папке, то необходимо изменить правомерных пользователей, как показано ниже в файле /etc/samba/smb.conf .

Valid users = user1, user2, user3

Также используйте smbpasswd для установки пароля Samba для каждого из этих пользователей.

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

Для того, чтобы разрешить группе пользователей получить доступ к общей папке, используйте следующую конфигурацию /etc/samba/smb.conf .

Valid users = @sambashare

Создайте группу.

Sudo groupadd sambashare

Затем добавьте в эту группу пользователей

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

Группа должна иметь разрешение на запись в общую папку, которая может быть достигнута при следующих двух команд.

Набор sambashare как владельца группы общей папки:

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

Предоставить право на запись в группе.

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

Я надеюсь, что эта статья помогла вам настроить сервер Samba на Ubuntu 16.04. Как всегда, если вы нашли этот пост полезным, то отпишитесь в комментариях.