Open
Close

Установка файлового сервера на ubuntu. Файловый сервер

Н а этом уроке мы собираемся узнать, как установить и настроить сервер 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. Как всегда, если вы нашли этот пост полезным, то отпишитесь в комментариях.

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


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

на сегодняшний день меня интересует file-сервер и web-сервер (для сайта-поддержки игры). об них и будет данный псто.


1. установка дистрибутива linux. создание пользователей.
за основу была взята, уже полюбившаяся, Ubuntu. конктретно в данном случае была использована свеженькая Ubuntu 9.10 server i386 .
бесплатно скачать исошник можно с официального сайта Canonical.

после загрузки рабочей консоли, я установил Midnight Commander . это псевдографическая оболочка, похожая на Norton Commander (ставился, в своё время, на безгуёвый MS DOS). очень удобна в работе.
$ sudo apt-get install mc
$ mc

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

2. настраиваем samba и поднимаем file-сервер.
для начала настроим сетевую карту сервера. выбираем свободный ip-адрес (у меня был свободен 192.168.1.4).
сетку настраиваем путем редактирования файла: /etc/network/interfaces :
$ sudo nano -w etc/network/interfaces
содержимое файла interfaces:
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.4
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1

[обратите внимание, что "address" написано с двумя "d" и двумя "s". у меня здесь были ошибки. скорее всего из-за невнимательности ]

затем:
# echo server.home.net > /etc/hostname

И еще:
$ hostname
$ hostname -f
эти две команды должны вывести на экран имя server.home.net .

теперь, собственно, самба. если вы в самом начале (в время установки дистрибутива) не выделили Samba file server, то ничего страшного. мы можем сейчас все нужные пакеты установить:
$ sudo apt-get install samba smbclient smbfs ntp ntpdate

мы установили программы: Samba, SMBlient и SMBFS, которые являются основой для нашего файлового сервера.
последние пакеты - NTP и NTPDate - я установил, чтобы сервер мог синхронизировать свои системные часы, через Интернет.

выполним команду, которая сделает наш диск доступным для всех пользователей сети (дадим им полные права на этот диск).:
$ sudo mkdir /media/multimedia
$ sudo chmod 777 /media/multimedia

теперь сконфигурируем Samba.
это нужно для того, чтобы наш файловый сервер был виден в домашней сети.
по умолчанию в Windows все сетевые компьютеры попадают в рабочую группу с названием MSHOME.
проверим чтобы samba имела в конфигурационном файле то же название рабочей группы:
$ sudo nano -w /etc/samba/smb.conf

находим и правим строчку:
workgroup = MSHOME

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

что бы диск был виден, а так же читался и писался для всех пользователей сети, добавим в конец конфига:
comment = Public Folder
path = media/multimedia
public = yes
writable = yes
create mask = 0777
directory mask = 0777
force user = nobody
force group = nogroup

[обратите внимание, что "nogroup" пишется слитно . во многих описаниях настройки написано раздельно. у меня, при раздельном написании, не работало ]

сохраняем изменения в файле и перезагружаем пакет Samba:
$ sudo /etc/init.d/samba force-reload

3. устанавливаем apache и поднимаем web-сервер.
для web-сервера много не надо. тут всё совсем просто. нужно установить apache (что такое апач) и владеть навыками htmlя.
$ sudo apt-get install apache2

после установки апача, можно приступать к созданию сайта. по-умолчанию адрес вашего сайта будет тот же, что и ip-адрес вашего сервера в локалке (например, http://192.168.1.4). это никуда не годится. нужен человеческий адрес (доменное имя, читать про домены). тут варианта два.
1. купить. нормальный домен второго уровня (типа httр://mysеrver.соm).
2. взять бесплатный, но третьего уровня (вида httр://gаme.myserver.соm).

платный стóит порядка 6ОО рублей за пол-года. бесплатный - нихрена не стóит.

я использовал для своего сервера бесплатный домен третьего уровня на http://dynDNS.com . там нужно зарегестрироваться, выбрать доменное имя (при условии, что оно свободное), указать свой реальный ip (). на своём интернет-шлюзе (или роутере) настроить переадресацию по 80 порту (port forwarding) с HTTP на свой внутренний ip сервера.

в итоге (если всё правильно настроить), при обращении по зарегестрированному вами адресу, пользователь попадает на главную web-страницу сайта на вашем сервере.

как настроить свой сайт.
все настройки сайта лежат в /var/www . по умолчанию в этой директории лежит один скромный index.html с надписью It works! , который нам кагбе намекает на нормальную работу.
вот этот файл можно/нужно править под себя, под создание своего сайта.

перезапускаем сервер командой:
$ sudo shutdown -r now

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

Samba является самым популярным программным пакетом, используемым для создания файловых хранилищ, (SMB/CIFS хранилище, позволяющее организовать файловый сервер, к которому будут иметь доступ клиенты использующие машины основанные как на ОС Linux, так и на ОС Windows).

Также применяются NFS («Network File Systems») и iSCSI хранилища, в основе которых лежат блоки данных (партиции, LVM), к которым предоставляется удаленный доступ. iSCSI «экспортирует» не файловую систему, а само устройство, удаленно с ним можно работать как с локальным диском.

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

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

Samba широко применяется именно из за возможности работы с клиентами, использующими разные ОС. Она может быть интегрирована с Active Directory, что, тем не менее, распространенной практикой не является.

Файловый сервер, который будет настраиваться, предназначен для обслуживания 30-50 клиентов.

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

Читаем описание пакета и проверяем зависимости:

apt-cache show samba | less

Если в процессе установки возникает ошибка 404 — это означает, что каких-либо файлов, необходимых для корректной установки в репозиториях найдено не было.

Обновляем списки репозиториев (при необходимости заранее добавив нужные и устанавливаем пакет; && означает, что выполняться вторая часть команды будет только в случае если успешно будет выполнена первая).

apt-get update && apt-get install samba

workgroup = remote-tech-support

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

Пакет будет работать при использовании опций по-умолчанию, однако чтобы обеспечить минимальный уровень безопасности одно значение необходимо скорректировать:

Убираем знак комментария перед параметром

security = user

Настройка базовой конфигурации файлового сервера

Функция Samba сейчас — обеспечивать минимальный функционал — возможность свободного обмена файлами.

Переходим к нижней части конфига и добавляем «шару»:



read only = no
path = /mnt/fileserver
guest ok = no

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

read only определяет возможность писать в расшаренные файлы

Перезагружаем сервис

/etc/init.d/smbd restart

Создает каталог для файлового сервера

Теперь логический том размеров 10 Гб, называем его vg0

lvcreate -L 10G -n samba vg0

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

/dev/vg0/samba /mnt/fileserver ext4 defaults 0 0

Обновляем информацию о примонтированных устройствах

Проверяем, отображается ли шара в файловой системе

Пароли для доступа к файловому серверу

Пароли пользователей для работы с smbd отличаются от паролей системных пользователей (которые задаются в /etc/passwd).

Пароли для работы с Samba задаются при помощи команды smbpasswd

Создаем тестовые директории

Видим, что владелец TestA student

Владелец TestB — root

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

Создаем новую группу fileserver и добавляем в нее пользователя student

adduser student fileserver

Видим, что тестовые директории имеют группу владельца root.

Удаляем директории

Устанавливаем на директорию шары group ID bit.

chgrp fileserver fileserver/

chmod g+rws fileserver/

За счет +s права (принадлежность пользователю) будут наследоваться всеми файлами, создаваемыми внутри расшаренного

каталога.

Проверяем, что значится группа пользователя fileserver

Добавляем в конфиг строку, за счет которой все пользователи, получающие доступ к шаре, будут временно добавляться в группу fileserver

mcedit /etc/samba/smb.conf


comment = Everybody can use that share
read only = no
path = /mnt/fileserver
guest ok = no
force group = fileserver
force create mode = 666
force create mode = 777

Открываем другой терминал и логинмся от имени пользователя student

ALT + F2

Создадим файлы, которые владельцем которых будет student

drwxr-sr-x student fileserver TestA
drwxr-sr-x student fileserver TestB

Владелец каталогов student, группа владельца — fileserver. Присутствует security bit (s), установленный ранее.

Включаем ПК с ОС Windows, находящийся в той же подсети. авторизуемся с реквизитами пользователя student.

В командной строке набираем //server01 (или любое другое имя, данное ранее серверу)
Видим каталог Public share, в котором находятся директории TestA и TestB

Создаем текстовый документ в Public share — убеждаемся в том, что никаких ошибок не возникает.
Смотрим свойства TestB — видим, что владелец каталога root, группа — fileserver. Для TestA — fileserver и student соответственно.

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

Прав пользователя или прав группы на запись достаточно. Необходимости использовать и пользователя и группу для одного каталога нет.

Настройка более безопасной конфигурации и разграничение прав

Сейчас мы изменим конфигурацию Samba предоставив каждому пользователю каталог для хранения персональной информации

mcedit /etc/samba/smb.conf

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

Устанавливаем значение параметра read only в секции в no, также редактируем значения других параметров:

read only = no
create mask = 0700
directory mask = 0700
valid users = %S

/etc/init.d/samba reload

Идем в Windows. Необходимо обновить список расшаренных каталогов поскольку ОС кэширует данные — один из способов — перейти непосредственно в каталог пользователя, в командной строке набираем \\server01, затем в поле адреса \\server01\student

Оказываемся в домашнем каталоге пользователя, где можем создавать файлы и директории. Создаем каталог

Обратно в Linux. Смотрим права и видим, что владелец и группа владельца student


comment = Share for accounting department
read only = no
path = /mnt/fileserver/Accounting
guest ok = no
force group = +accounting
force create mode = 660
force directory mode = 770

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

Соответственно чтобы пользователю назначались права группы пользователей accounting, он должен уже состоять в ней.


comment = IT department
read only = no
path = /mnt/fileserver/IT
guest ok = no
force group = +IT
force create mode = 660
force directory mode = 770

Создаем каталоги:

mkdir /mnt/fileserver/Accounting

mkdir /mnt/fileserver/IT

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

Считываем конфигурацию

Задаем пользователей и группы пользователей:

chmod root.fileserver fileserver

chmod root.accounting Accounting

Проверям корректно ли настроена принадлежность каталогов

Удаляем тестовые каталоги:

Возвращаемся в Windows . Поскольку student является членом группы IT — он должен иметь доступ только в каталог, относящийся к департаменту IT. Доступ в другие каталоги для него должен отстутсвовать (он может просматривать содержимое директории Accounting, однако создавать и редактировать файлы не может). Убеждаемся в том, что это действительно так.

Произведем настройки согласно последнему сценарию. Создадим группу с ограниченным доступом.

adduser student internet_dev

chown www-data.internet_dev internet/

mcedit /etc/samba/smb.conf


comment = IT department
read only = no
path = /var/www/internet
guest ok = no
valid users = @internet_dev
force group = internet_dev
force create mode = 664
force directory mode = 775

Значение valid users здесь предполагает присутствие пользователей в группе internet_dev, также здесь можно задать список пользователей.
Иные права устанавливаются потому, что с каталогом /var/www/internet будут работать не только пользователи, но и, в данном случае, Apache

В Windows обновим информацию на экране (F5) и попытаемся открыть каталог internet. Если выполненные настройки корректны — успеха данные попытки иметь не будут — будет бесконечно выводиться окно ввода пароля.

adduser student internet_dev

Создадим и откроем документ в Windows — сохранение не выполняем.

В Linux выполняем smbstatus

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

Находим ID процесса, отвечающего за поддержание соединения с шарой (допустим, 2456) и убиваем его

Делаем ps aux и среди процессов видим вновь породившийся процесс того же рода, но с другим ID — его восстоздала Samba

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

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

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

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