Настройка файл сервера на linux. Как создать Linux сервер своими руками и что для этого нужно. Файловый сервер для Windows сети

Операционные системы 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 машин на Ubuntu достаточно просто. Обычно такой сервер используется для организации файловых хранилищ в рамках Active Directory домена.

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

В любом случае воспользуйтесь Samba – установите ее с помощью менеджера пакетов Synaptic или следующей командой:

sudo apt-get install samba

Файловый сервер в составе домена Active Directory

Для создания файлового сервера, интегрированного в домен Active Directory, сначала необходимо ввести Вашу машину с Ubuntu в домен.

Чтобы создать файловый сервер, настройка PAM не потребуется, достаточно добавить доменных пользователей и группы через Winbind в систему.

Войдя в домен, настройте расшаренные ресурсы на компьютере. Учтите, что Samba будет проецировать права на файлы Windows на права Unix, однако принципиальные различия в механизмах присвоения прав скорее всего не дадут ей это сделать. Права на файлы всегда и в любом случае управляются Вашей файловой системой на компьютере с Ubuntu, а Samba может только адаптироваться под них, а менять их поведение - нет.

Так что по умолчанию расшаренные ресурсы будут располагать скромными возможностями контроля доступа, включая назначение разных прав для пользователя, группы и всех остальных. Но Вы можете это без труда исправить, добавив в ФС поддержку POSIX ACL. Тогда можно будет назначать различные права различным пользователям и группам почти как в Windows.

Поддержку POSIX ACL можно найти в ext3/4, и для её активации нужно только добавить к опциям монтирования нужного раздела параметр acl.

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

Помните еще вот о чем: POSIX ACL не поддерживают наследование прав доступа от родительских каталогов, в то время как в Windows эта возможность есть. Так что в Samba существует дополнительный механизм сохранения информации о наследовании прав доступа, использующий расширенные атрибуты файловой системы. Чтобы Samba корректно обрабатывала наследование прав, кроме acl к опциям монтирования файловой системы добавьте параметр user_xattr, ответственный за включение поддержки расширенных атрибутов.

Например, удобно использовать для организации расшаренных ресурсов отдельные LVM диски. В этом случае строчки в fstab для них выглядят так:

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

Опция noexec нужна для перестраховки: что на шарах для Windows 100% не должно быть исполняемых файлов Linux.

Установите пакет необходимх утилит для работы с acl на Ubuntu:

Sudo aptitude install acl


Теперь просмотрите расширенные права (т.е. ACL) на файл или каталог следующей командой:

Getfacl file


Установите такой командой:

Setfacl file


Не забывайте, что механизм POSIX ACL никак не связан с Samba - это только надстройка над стандартным механизмом разграничения прав в Linux. Так что Samba может его использовать, но не способна как-либо изменить или обойти.

Для использования расширенных атрибутов ФС пригодится похожий на acl пакет утилит - attr, поставьте его следующей командой:

Sudo aptitude install attr


Чтобы просмотреть расширенные атрибуты, используйте команду:

Getfattr file


А для установки выполните:

Setfattr file


Следует помнить, что Samba хранит всю информацию о наследовании в бинарном виде в единственном расширенном атрибуте user.SAMBA_PAI. Так что поменять что-то с помощью setfattr не получится, возможно только полное удаление расширенных атрибутов (в некоторых случаях необходимость в этом возникает).

Контролировать наследование прав с Windows машины возможно с помощью штатных инструментов этой системы, или утилитой smbcacls.

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

Если в Вашей системе есть каталог, который нужно расшарить через Samba (и он расположен на диске, подмонтированном с поддержкой acl и user_xattr), настройте его расшаривание – введите нужную информацию в файл /etc/samba/smb.conf.

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


# Отключить расшаривание принтеров. Если вы конечно и вправду не хотите их расшаривать. # Для полного отключения нужно указывать все 4 строки, приведённых ниже load printers = no show add printer wizard = no printcap name = /dev/null disable spoolss = yes # Сделать скрытыми при просмотре с Windows файлы со следующими именами hide files = /$RECYCLE.BIN/desktop.ini/lost+found/Thumbs.db/ # Использовать для шар с публичным доступом следующего UNIX пользователя в качестве Guest guest account = nobody # Воспринимать как guest незарегистрированных пользователей map to guest = Bad User ## Настройки, использующие расширенные атрибуты файловой системы # Обрабатывать наследования прав с помощью расширенных атрибутов ФС map acl inherit = yes # Использовать расширенные атрибуты ФС для хранения атрибутов DOS store dos attributes = yes # Отключить маппинг DOS атрибутов на UNIX права, включённый по умолчанию # Согласно man smb.conf при использовании расширенных атрибутов эти опции обязаны быть отключены map archive = no map system = no map hidden = no map readonly = no


Затем настройте сам расшаренный ресурс. В примере он указан как profiles, а физически на Ubuntu машине расположен по адресу /var/data/profiles:


# Комментарий comment = User Profiles # Путь до папки, которую расшариваем path = /var/data/profiles/ # Пользователи с неограниченными правами доступа к шаре # У меня стоит группа администраторов домена. # Эти пользователи при работе с файлами воспринимаются как локальный root admin users = "@DOMAIN\ Администраторы домена " # Скрыть папки, к которым у пользователя нет доступа hide unreadable = yes # Доступ не только на чтение read only = no # Маски для создаваемых файлов - можно задать по желанию #create mask = 0600 #directory mask = 0700 # Отключение блокировок - лучше отключить locking = no


Существует ряд других опций – вся подробная информация есть в документации по Samba.

Обязательно поставьте правильного владельца и права доступа на расшариваемую папку, иначе в неё может быть запрещена запись на уровне прав Linux. Можете сделать так:

Sudo chmod ug + rwx / var / data / profiles sudo chown root :"пользователи домена" / var / data / profiles

Внимание! Так как Ваша Ubuntu машина введена в домен, вы можете применять пользователей и группы домена в качестве владельцев файлов прямо в Ubuntu.

Проверьте корректность настройки Samba командой:

Sudo / etc / init . d / samba restart


Теперь получить доступ к расшаренному ресурсу Вы можете с любой машины домена. Но не забывайте про SGID и Sticky биты для каталогов, предназначенные для наследования группы-владельца и запрещения пользователям удаления не своих файлов - это особенно актуально для многопользовательских хранилищ. При этом, в отличие от редактирования прав из Windows, поменять эти биты на папках на расшаренном ресурсе невозможно - только вручную прямо на Ubuntu компьютере.

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

Автономный файловый сервер

Далеко не все располагают доменом Active Directory. Поэтому часто появляется необходимость организовать на Linux машине независимое файловое хранилище с собственной системой авторизации. Это несложно.

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

Главное – нужно определиться с используемым способом доступа к ресурсу. Следует корректно установить значение параметра security в секции файла /etc/samba/smb.conf.

Стандартно применяется значение share или user.

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

В домашних условиях удобно, когда все видят всех. Для этого просто добавьте 4 строчки в секцию файла /etc/samba/smb.conf (некоторые могут уже быть в наличии):

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


NOTEBOOK - имя компьютера, которое будет в сети. Также установите дополнительные программы:

share

Затем добавить в конец файла /etc/samba/smb.conf такие строки, а «yuraku1504» в них замените на имя пользователя компьютера с Samba:


[ 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

Папка будет открыта для чтения и записи.

В этой статье мы расскажем как установить и настроить файловое хранилище на операционной системе Linux, а точнее будет использована серверная Ubuntu 16.04 LTS. Аналогичным образом настраивается большинство deb-based дистрибутивов.

Такой сервер можно использовать для сетевой установки файловой базы 1С:Предприятие - это гораздо надежнее, чем хранить ее на одном из рабочих компьютеров пользователей. Или такой сервер можно приспособить под сетевое хранилище резервных копий.

Только не используйте один и тот же сервер для установки информационной базы и хранения ее резервных копий.

Почему Linux? Во-первых это бесплатно и при этом совершенно легально. Во-вторых Linux потребляет гораздо меньше аппаратных ресурсов, и даже старая, списанная в утиль техника отлично справится с задачей файлового хранилища. В-третьих, хорошо настроенный Linux практически не нуждается во вмешательстве системного администратора, эксплуатируются по принципу «настроил и забыл».

И так, начнем…

Выбор оборудования

Как я уже написал, оборудование нам подойдет практически любое, но все же кое-какие пожелания у нас есть. Поскольку сервер будет файловый, то и пожелания наши будут касаться дисковой системы. Было бы неплохо найти машину с RAID контроллером на борту. Если мы делаем сервер для размещения рабочей файловой базы, было бы неплохо разместить ее на RAID-5, если хранилище резервных копий, отличным вариантом будет RAID-1.

При этом у нас нет особых требований к оперативной памяти, хватит и 1 Гбайта. К процессору тоже нет особых требований, Linux будет работать на всем, что еще живо.

Пожалуй, самый оптимальный вариант - приобрести восстановленный сервер «с пробегом». Берите самый дешевый, какой найдете, главное, что бы перед этим он прошел профилактику, его очистили от пыли и прогнали все системные тесты.

За неимением лучшего, можно использовать любой старый компьютер, но помните, что Вы это делаете на свой страх и риск. Самое уязвимое место файлового сервера - дисковая подсистема. Если она у Вас будет состоять из одного единственного старого диска, Вы очень сильно рискуете.

Если не удалось найти RAID-контроллер, можно настроить программный RAID средствами операционной системы. Учтите, что это повысит требования к процессору и оперативной памяти, зато Вам будет не страшен выход из строя контроллера.

Установка операционной системы

Сначала определимся с архитектурой сервера. Если Вам известна марка процессора, установленного в сервер, ознакомившись с его спецификацией Вы узнаете, совместим ли он с архитектурой x86-64 (64 бит) или только i386 (32 бит). Косвенный признак - размер оперативной памяти, 32-битная архитектура не может работать с оперативной памятью объемом более 3 Гбайт, иногда в эту архитектуру устанавливали 4 Гбайт памяти, но в системе было видно только 3 Гбайт.

Свяжитесь с Отцом Ботов , отправьте ему сначала команду /start , затем /newbot . Далее отвечайте на вопросы Отца Ботов, в итоге Вы получите от него токен и ссылку на Вашего бота.

Открываем конфигурационный файл

$ nano backtracker.conf

и настраиваем

Token = # Тут нужно указать токен telegram-бота, полученный от Отца Ботов failonly = # False если хотите получать сообщения о наличии новых файлов или True если только об их отсутствии path = # Укажите путь к сканируемым папкам hours = # Укажите "свежесть" файлов в часах, например 8

Запускайте утилиту

$ ./backtracker.ry

Первый запуск нужен для того, что бы автоматически определить ID абонента Telegram, который будет получать сообщения (это не номер его телефона). Подключайтесь к своему боту по ссылке, которую Вам дал Отец Ботов и отправляйте ему команду /start . В ответ Вы получите сообщение, что Ваш ID определен, а утилита самонастроится и закроется. Запустите ее повторно для выполнения сканирования.

После настройки и проверки работы утилиты, добавьте ее в расписание демона cron

$ crontab -e

Добавьте строчку

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

Проверка будет запускаться каждый день в 8 утра. Если ночью что-то пошло не так, Вы узнаете об этом.

Системные ресурсы

Мониторить ресурсы сервера можно консольной утилитой top или ее более красочной версией htop . Установим и запустим ее

$ sudo apt install htop $ htop

Периодически контролируйте использование оперативной памяти. Если часто наблюдается загруженность около 100%, настройте файл подкачки.

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

Здесь count=1024 - размер файла подкачки в мегабайтах.

Дисковое пространство

Для мониторинга файловой системы удобно пользоваться файловым менеджером Midnight Commander. Если Вы застали времена MS DOS и Notron Commander, то объяснять ничего не нужно.

Устанавливаем и запускаем

$ sudo apt install mc $ mc

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

Основной файл настройки Samba - /etc/samba/smb.conf. Изначальный файл конфигурации имеет значительное количество комментариев для документирования различных директив настройки.

Не все возможные опции включены в файле настроек по умолчанию. Смотрите руководство man smb.conf или Сборник ЧаВо по Samba для уточнения деталей.

1. Сначала измените следующие пары ключ/значение в секции файла /etc/samba/smb.conf:

Workgroup = EXAMPLE ... security = user

Параметр security находится значительно ниже в секции и по умолчанию закомментирован. Также замените EXAMPLE на что-то более соответствующее вашему окружению.

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

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

    comment : короткое описание разделяемого ресурса. Используется для вашего удобства.

    path : путь до разделяемого каталога.

    Этот пример использует /srv/samba/sharename поскольку, в соответствии со стандартом иерархии файловых систем (FHS), каталог /srv - это место, где должны находится все данные, относящиеся к данному сайту. Технически разделяемый ресурс Samba может быть размещен в любом месте файловой системы, где позволяют файловые ограничения доступа, но следование стандартам рекомендуется.

    browsable : позволяет клиентам Windows просматривать содержимое разделяемого каталога с помощью проводника Windows.

    guest ok : позволяет клиентам подключаться к разделяемому ресурсу без указания пароля.

    read only : определяет доступность ресурса только на чтение или с привилегиями на запись. Привилегии на запись доступны только при указании no , как показано в данном примере. Если значение yes , то доступ к ресурсу будет только на чтение.

    create mask : определяет какие права доступа будут установлены для создаваемых новых файлов.

3. Теперь, поскольку Samba настроена, требуется создать каталог и установить на него права доступа. Введите в терминале:

Sudo mkdir -p /srv/samba/share sudo chown nobody.nogroup /srv/samba/share/

параметр -p говорит mkdir создать полное дерево каталога, если оно не существует.

4. Наконец, перезапустите сервисы samba для применения новых настроек:

Sudo restart smbd sudo restart nmbd

Теперь вы можете находить Ubuntu файл сервер с помощью клиента Windows и просматривать его разделяемые каталоги. Если ваш клиент не показывает ваши разделяемые ресурсы автоматически, попробуйте обратиться к вашему серверу по его IP адресу, например, \\192.168.1.1, из окна проводника Windows. Для проверки, что все работает, попробуйте создать каталог внутри вашего разделяемого ресурса из Windows.

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

Разделяемый ресурс "" и путь /srv/samba/share - это просто примеры. Установите название ресурса и имя каталога в соответствии с вашим окружением. Хорошей идеей является использование в качестве названия ресурса имени его каталога в файловой системе. Другими словами ресурс можно указать как для каталога /srv/samba/qa.

При создании файлового сервера неизбежно возникает вопрос выбора операционной системы. Здесь есть над чем задуматься: потратить деньги на 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 систем.

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

Есть вопросы?

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: