Файловый сервер на xubuntu. Файловый сервер для Windows
На Ubuntu очень легко развернуть файловый сервер для Windows машин. Стандартное применение такого сервера - организация файловых хранилищ в рамках Active Directory домена. Однако легко можно создавать файловые сервера и в бездоменной сети, например - для домашнего использования.
В любом случае вам потребуется как минимум Samba, установить которую можно через менеджер пакетов Synaptic или командой
Файловый сервер в составе домена Active Directory
Для того, чтобы создать файловый сервер, интегрированный в домен Active Directory, вам в первую очередь потребуется ввести вашу машину с Ubuntu в домен. Этому посвящена отдельная статья:
Для создания файлового сервера вам не нужно настраивать PAM, достаточно добавить доменных пользователей и группы через Winbind в систему.
После успешного входа в домен вам останется всего лишь настроить расшаренные ресурсы на вашем компьютере.
Тут стоит сразу обратить внимание на одну очень важную вещь: Samba пытается спроецировать права на файлы Windows на права Unix , однако из-за кардинальных различий в механизмах присвоения прав сделать это не всегда возможно. Учтите, что права на файлы всегда и в любом случае контролируются вашей файловой ситемой на компьютере с Ubuntu, самба может лишь подстраиваться под них, но не менять их поведение.
Поэтому по умолчанию на расшаренных ресурсах будут весьма скудные возможности контроля доступа - назначение разных прав для пользователя, группы и всех остальных. Однако это легко исправить, добавив в вашу ФС поддержку 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 , если вы разберётесь, как ей пользоваться.
Существует так же экспериментальный VFS модуль acl_xattr, который позволяет хранить NT ACL полностью в расширенных атрибутах. К сожалению, документации по нему нет, поэтому что-то вразумительное сказать по его поводу сложно. Ожидается, что в Samba 4 будет полная интегрированная поддержка NT ACL , а пока что можно пользоваться тем, что есть.
Если вам есть что добавить по поводу расширенных атрибутов в Samba и методах работы с ними - обязательно напишите в эту тему на форуме. Буду благодарен за любые ссылки, статьи и комментарии по теме.
Кроме того, расширенные атрибуты файловой системы позволяют включить в 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 командой
Testparm
После чего перезапустите Samba:
Sudo /etc/init.d/samba restart
Теперь вы можете с любой машины домена получить доступ к расшаренному ресурсу.
Кстати, не забывайте про SGID и Sticky биты для каталогов. Они позволят вам наследовать группу-владельца и запрещать пользователям удаление не своих файлов - это может быть очень удобно для многопользовательских хранилищ. Однако в отличие от редактирования прав из Windows поменять эти биты на папках на расшаренном ресурсе не получится - только вручную непосредственно на Ubuntu компьютере.
Кроме всего прочего Samba позволяет организовывать хранение предыдущих версий файлов, что бывает иногда полезно при создании общих ресурсов с пользовательскими данными. Подробности в соответствующей статье:
Автономный файловый сервер
Домен Active Directory есть далеко не у всех. Поэтому часто возникает необходимость организовать на Linux машине автономное файловое хранилище со своей собственной системой авторизации. Это сделать очень просто.
Основной особенностью такой организации файлового хранилища будет то, что вся информация о пользователях будет храниться в базе данных Samba, соответственно добавлять и удалять пользователей на самбу надо будет вручную.
Самое главное - определиться с используемым способом доступа к ресурсу. Для его изменения надо правильно установить значение параметра security в секции файла /etc/samba/smb.conf . Подробней об этом параметре можно почитать или же в официальной документации.
Обычно используется значение share или user .
Автономный файловый сервер без авторизации
Для дома удобно чтобы все видели всех. Это можно сделать если добавить 4 строчки в секцию файла /etc/samba/smb.conf. Некоторые могут уже существовать.
[ global] workgroup = WORKGROUP map to guest = Bad User netbios name = NOTEBOOK security = userNOTEBOOK - имя компьютера которое будет в сети. Кроме этого надо установить дополнительные программы:
sudo apt-get install sambaДля kubuntu надо еще установить smb4k . После редактирования конфигов надо перезапустить службы. В systemd (начиная с 15.04) перезапуск выглядит так:
sudo systemctl restart smbd.service nmbd.serviceПосмотреть «шары» можно через файловый броузер nautilus, konkueror или так:
Smbclient -L 127.0.0.1
. Официальная документация на английском.
Расшаривание папки на ubuntu
Cоздайте папку для обмена файлов.
mkdir ~/ shareДобавьте в конец файла /etc/samba/smb.conf следующие строки, yuraku1504 замените на имя пользователя компьютера с самбой:
[ 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Папка будет открыта для чтения и записи.
Одно из самых частых применений серверов в целом — файловые хранилища. В подобных хранилищах могут находиться резервные копии пользовательских файлов и баз данных, также хранилища применяются для хранения информации, к которой необходимо обеспечить общий доступ сотрудников компании или определенного подразделения компании. В рамках данного материала — настройка 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 и видим, что открытый, но не сохраненный документ находится в том же состоянии в котором мы его оставили, его можно продолжить редактировать, затем сохранить.
Проделанный опыт подтверждает, что при перебоях в работе файлового серевера данные, с которыми производится работа, потеряны не будут.
Чтобы создать терминальный, файловый (FTP) или почтовый сервер на Linux, надо уметь работать в этой операционной системе . Иначе разобраться будет сложно. ОС не нужен мощный компьютер . Потому что она не расходует лишние ресурсы на графическое оформление. Дистрибутивы Линукса можно развернуть даже на старом ПК. Поэтому для создания различных серверов часто используют Linux или Ubuntu Server .
Соответствующий сценарий, который вы можете легко создать самостоятельно, должен содержать следующий код для этой цели. Используйте эту запись, чтобы убедиться, что сценарий выполнен и, в случае успешного входа в систему, реагирует на письмо с уведомлением на требуемый адрес. Предпосылкой является то, что сценарию присваивается право 755, которое достигается с помощью следующей команды.
Отключение неиспользуемых портов
Открытые порты, как правило, не представляют особого риска для безопасности. Если вы смогли внедрить минимальную установку системы и получить доступ к небольшому количеству сторонних приложений , количество других необходимых портов управляемо. Для риска эти открытые интерфейсы будут использоваться только в том случае, если у реагирующих программ есть пробелы в безопасности, и преступники воспользуются этим фактом. С увеличением числа применений этот опасный потенциал растет.
Об этом написано много различной литературы. Некоторые книги о Линуксе насчитывают тысячу страниц. Работать придётся через терминал и все команды вводить вручную. Но всё же вы сможете сделать небольшой 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. С таким интерфейсом легче работать - всё нагляднее, чем в консоли.
Ошибки программы, аппаратные сбои или личная небрежность могут привести к потере данных в худшем случае. Для операторов сервера решающую роль играет аспект безопасности. Для тех, кто разрабатывает и реализует всеобъемлющую концепцию защиты, готовятся к чрезвычайным ситуациям . Помимо классических мер, таких как программное обеспечение безопасности, резервное копирование, защита паролем и шифрование, есть также некоторые полезные инструменты и фреймворки, которые могут поддерживать их в борьбе с нарушителями.
Глава 26: Восстановление доступа
Глава 28: Темы резервного копирования данных семинара
Глава 30: Сетевая маршрутизация сети. Первая запись используется для коммутируемых линий. Он работает со следующими данными. Когда мы откроем его, напишем следующую строку. После завершения запустите приложение с той же консоли, набрав.Запуск терминала Linux
В современных Linux вместо консоли используется терминал. Чтобы в него зайти:
- Откройте «Приложения».
- Нажмите «Стандартные».
- Там будет «Терминал».
В него можно вводить команды так же, как в Ubuntu Server.
У нас уже установлен сервер! Давайте напишем его в консоли. С этим мы закончили всю работу, уже мы можем создавать собственные веб-страницы, важно, чтобы у вас был хороший редактор , который бы удобно программировать. Мы можем вызывать сервер для всех компьютеров, подключенных к сети, и предоставлять пользователям разные сервисы. Для этого нам нужно достаточно, чтобы создать компьютер, который может удовлетворить наши потребности. Мы можем установить сервер, который предлагает веб-службы, файлы и печать.
Операционные системы 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 лучше всего подходят наиболее опытные пользователи домашних серверов или серверов уровня предприятия.
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 для всех своих медийных или игровых серверов. Они имеют максимальную совместимость с тем программным обеспечением, которым я пользуюсь, и позволяют создавать комбинации серверов домашних кинотеатров на базе ПК и медийных серверов.
The main Samba configuration file is located in /etc/samba/smb.conf . The default configuration file has a significant number of comments in order to document various configuration directives.
comment: a short description of the share. Adjust to fit your needs.
path: the path to the directory to share.
This example uses /srv/samba/sharename because, according to the Filesystem Hierarchy Standard (FHS) , /srv is where site-specific data should be served. Technically Samba shares can be placed anywhere on the filesystem as long as the permissions are correct, but adhering to standards is recommended.
browsable: enables Windows clients to browse the shared directory using Windows Explorer .
guest ok: allows clients to connect to the share without supplying a password.
read only: determines if the share is read only or if write privileges are granted. Write privileges are allowed only when the value is no , as is seen in this example. If the value is yes , then access to the share is read only.
create mask: determines the permissions new files will have when created.
First, edit the following key/value pairs in the section of /etc/samba/smb.conf :
workgroup = EXAMPLE ... security = user
The security parameter is farther down in the section, and is commented by default. Also, change EXAMPLE to better match your environment.
Create a new section at the bottom of the file, or uncomment one of the examples, for the directory to be shared:
Comment = Ubuntu File Server Share path = /srv/samba/share browsable = yes guest ok = yes read only = no create mask = 0755
Now that Samba is configured, the directory needs to be created and the permissions changed. From a terminal enter:
sudo mkdir -p /srv/samba/share sudo chown nobody:nogroup /srv/samba/share/
The -p switch tells mkdir to create the entire directory tree if it doesn"t exist.
Finally, restart the samba services to enable the new configuration:
sudo systemctl restart smbd.service nmbd.service
From a Windows client you should now be able to browse to the Ubuntu file server and see the shared directory. If your client doesn"t show your share automatically, try to access your server by its IP address, e.g. \\192.168.1.1, in a Windows Explorer window. To check that everything is working try creating a directory from Windows.
To create additional shares simply create new sections in /etc/samba/smb.conf , and restart Samba . Just make sure that the directory you want to share actually exists and the permissions are correct.
The file share named "" and the path /srv/samba/share are just examples. Adjust the share and path names to fit your environment. It is a good idea to name a share after a directory on the file system. Another example would be a share name of with a path of /srv/samba/qa .