На чем поднять файловый сервер
В качестве примера используется Windows Server 2012 R2 (2016, 2019). Инструкция разбита на несколько шагов и представляет из себя полный цикл настройки файлового хранилища для использования в малых и средних компаниях.
Шаг 5. Настройка средств обслуживания
Ни одна инфраструктура не может полноценно существовать без мониторинга и резервного копирования. Предупредить о возможной проблеме, узнать о последней раньше пользователей или иметь возможность восстановить данные — показатели высокой ответственности и профессионализма системного администратора.
Установка и базовая настройка Samba 4
Установка Samba предельно проста:
После чего откроем файл /etc/samba/smb.conf и выполним общие настройки. Большинство указанных опций в файле уже есть, многие из них даже не потребуется менять, но их назначение будет полезно знать, поэтому мы прокомментируем наиболее важные из них.
Начнем, опции перечисляются в порядке их следования в файле:
Обозначает рабочую группу Windows, по умолчанию WORKGROUP.
Следующая опция определяет интерфейсы или подсети, с которыми будет работать Samba. Допускается смешанная запись, как в примере выше, либо можно указать только интерфейсы:
Или только подсети:
Но само по себе указание интерфейсов не ограничивает Samba, для того чтобы ограничения начали действовать нужно включить следующую опцию:
Следующая опция указывает расположение логов:
По умолчанию лог выключен, для того чтобы его включить добавьте в файл опцию:
Если вам нужен более подробный лог - установите более высокий уровень, минимальное значение - 1, максимальное - 5.
Также закомментируйте опцию:
В настоящий момент она является не рекомендованной (deprecated).
Обозначает простой файловый сервер, не требующий подключения к домену.
Определяет способ определения гостевого доступа, при указанном значении гостем будет считаться любой пользователь, который отсутствует в базе Samba. Также могут использоваться значения never - не использовать гостевой доступ и bad password - в этом случае гостем будет считаться, в том числе, и существующий пользователь если он неправильно введет пароль. Данное значение использовать не рекомендуется, так как при ошибке в пароле пользователь все равно получит доступ, но с гостевыми правами.
На этом общая настройка сервера закончена. Проверим конфигурацию на ошибки:
И перезапустим сервер
Настройка шары (общей папки)
Создаем первую папку, которую хотим предоставить в общее использование. Затем кликаем по ней правой кнопкой мыши и нажимаем Свойства:
В открывшемся окне переходим на вкладку Доступ и нажимаем Расширенная настройка:
Ставим галочку Открыть общий доступ к этой папке и нажимаем кнопку Разрешения:
Предоставляем полный доступ всем пользователям:
* конечно же, мы не будем давать доступ всем пользователям, но для этого есть вкладка безопасность (см. ниже).
Нажимаем OK и еще раз OK.
Теперь переходим на вкладку Безопасность и нажимаем Дополнительно:
В открывшемся окне нажимаем Отключение наследования и Преобразовать унаследованные разрешения в явные разрешения этого объекта.
Выставляем необходимые права на папку, например:
Совет: старайтесь управлять правами на ресурсы только при помощи групп. Даже если доступ необходимо предоставить только одному человеку!
Теперь нажимаем OK два раза. Папка настроена для общего использования и в нашем примере доступна по сетевому пути \\fs1\Общая папка.
Выводы
1. Стоит ориентироваться на знания. Установка и настройка файлового сервера — верхушка айсберга. После будет этап поддержки, который потребует знаний и навыков работы с системой.
2. Для домашнего сервера можно смело выбрать готовую сборку, например, FreeNAS или XigmaNAS. Также может подойти недорогое готовое решение на базе QNAP или Asustor.
3. При отсутствии оборудования, стоит подумать о покупке готового решения, которое избавит от необходимости долгого чтения документации и настройки сервера.
4. Для корпоративной среды стоит настраивать файловый сервер с нуля на базе Linux или Windows. Готовые решения могут ограничить опытного системного администратора, а также затруднить поиск и решение возможных проблем.
Резервное копирование
Для файлового сервера все просто — необходимо резервировать все рабочие папки и файлы. Лучшим решением будет ежедневное копирование новых данных, и с определенной периодичностью (например, раз в месяц), создавать полный архив.
Настройка системы
- Проверяем правильность настройки времени и часового пояса;
- Задаем понятное имя для сервера и, при необходимости, вводим его в домен;
- Если сервер не подключен напрямую к сети Интернет, стоит отключить брандмауэр;
- Для удаленного администрирования, включаем удаленный рабочий стол;
- Устанавливаем все обновления системы.
Шаг 4. Тюнинг файлового сервера или профессиональные советы
Данные настройки, по сути, представляют секреты того, как сделать файловый сервер лучше, надежнее и безопаснее. Применяя их, администраторы создают более правильную и профессиональную среду ИТ.
С самого начала стоит создавать общие папки в пространстве имен DFS. На это есть две основные причины:
- При наличии или появлении нескольких файловых серверов пользователям будет удобнее находить общие папки в одном месте.
- Администратор легко сможет создать отказоустойчивую систему при необходимости.
Настройка скрытого общего ресурса
Еще одна часто встречающаяся задача - скрыть общий ресурс из отображаемого списка. Например, служебные ресурсы, используемые в административных целях. Нет ничего проще, достаточно добавить в секцию ресурса еще одну опцию:
После чего ресурс будет скрыт из отображения, но попасть в него можно будет явно указав путь к нему:
Во всем остальном такие ресурсы ничем не отличаются от обычных и к ним применимо все вышесказанное.
Настройка общего ресурса со смешанным доступом
Теперь рассмотрим более сложную схему, ресурс со смешанным доступом. Например, вы хотите организовать общую папку с инсталляционными пакетами программ, которые может запустить каждый, но не хотите, чтобы кто-либо мог изменять его содержимое, оставив эту привилегию только участникам группы smbadm.
Добавим в конфигурационный файл следующую секцию:
Здесь все понятно, стандартное описание ресурса. Теперь создадим директорию и изменим группового владельца:
Теперь подумаем о правах, владелец и группа adm должны иметь полный доступ - rwx (7) плюс установленный SGID для директорий, а остальные должны иметь право чтения и выполнения, т.е. r-x (5), для файлов следует использовать force create mode, иначе вместо желаемых 0775 вы получите 0764, все тоже самое, только без права выполнения для группы и остальных.
Перезапускаем Samba и проверяем, без аутентификации пользователь может только копировать и запускать файлы, а прошедшие проверку подлинности пользователи могут изменять и удалять содержимое общего ресурса.
Выбор системы для файлового сервера
Обычно, выбор падает на такие системы как Windows или UNIX (например, Linux Ubuntu, Linux CentOS, FreeBSD).
В целом, любая из них хорошо справится с ролью файлового сервера, и чаще всего, системные администраторы выбирают ту, в которой лучше всего ориентируются. Но есть несколько причин выбрать ту или иную ОС.
+/- | Windows | UNIX |
---|---|---|
Плюсы | 1. Хорошо подходит для сред, IT-инфраструктура которых построена на базе Active Directory. AD DS дает большие возможности по управлению правами пользователей и аудиту. 2. Отсутствует постоянный системный администратор и есть необходимость в самостоятельном управлении сервером. Windows проще в настройке и управлении. | 1. Бесплатность. Для файловой помойки нет смысла покупать дорогостоящую лицензию. Проще использовать бесплатную сборку Linux или BSD. 2. У UNIX систем лучше работает функция дедупликации. Это удобно, если на файловом сервере будут храниться одинаковые данные, например резервные копии. 3. Высокая стабильность. Данные системы сложно взломать или подвергнуть вирусной атаке. Они лучше защищены и реже выходят из строя, особенно, если их устанавливать без графической оболочки. |
Минусы | 1. Высокая стоимость. Серверная операционная система стоит дорого. 2. Подверженность вирусным атакам. Windows слаба защищена от вирусных атак. Антивирусные программы (которые также стоят денег для серверной ОС) помогают, но не являются панацеей. | 1. Сложное управление. Командная строка — не самый удобный способ для работы с операционной системой. Некоторые специалисты не согласятся с данным утверждением, однако, большинство предпочитают графический интерфейс. Последний можно установить для UNIX-систем, но это снизит безопасность и надежность. |
Шаг 1. Выбор оборудования и подготовка сервера
В качестве сервера, желательно, выбрать профессиональное оборудование. Системные требования для файлового сервера не высокие:
- Процессор может быть самый простой;
- Оперативная память также не сильно используется;
- Дисковая система — самый основной компонент. Ее объем зависит от специфики бизнеса. Примерная формула — не менее 15 Гб на пользователя и не менее 1 Тб на сервер. До 50 пользователей можно рассматривать диски SATA, после — SAS или SSD.
Например, для компании в 300 пользователей подойдет сервер с процессором Xeon E3, 8 Гб ОЗУ и 5 Тб дискового пространства на дисках SAS 10K.
Настройка общего ресурса с гостевым доступом
Начнем с самого простого варианта - создадим общий ресурс, доступ к которому может иметь любой пользователь. Для этого добавим в конец файла /etc/samba/smb.conf следующие строки.
В квадратных скобках задаем имя ресурса, все что ниже скобок - секция этого ресурса. В ней мы указали следующие опции:
- comment - описание ресурса, необязательный параметр;
- path - путь к директории;
- read only - режим только чтения, указываем no;
- guest ok - разрешен ли гостевой доступ, указываем yes;
Теперь создадим саму директорию:
и установим на нее необходимые права, для гостевого ресурса это 777:
На файлы не являющиеся исполняемыми это никак не влияет, но оставлять этот момент без внимания тоже не следует. Вообще к возможности запускать файлы непосредственно с общего ресурса нужно относиться с осторожностью и в целях безопасности неплохо было бы вообще запретить эту возможность, для этого установите:
Это полностью снимет права на выполнение для всех, но оставит полный доступ к исполняемым файлам. Если же требуется разрешить возможность запуска, то вместо create mode следует использовать опцию force create mode, которая будет устанавливать разрешения без учета прав доступа DOS:
Теперь перезапускаем Samba и пробуем получить доступ с любого Windows-клиента.
Если все сделано правильно, то сервер появится в сетевом окружении, и вы без проблем получите доступ к созданной нами общей папке.
Файловый сервер на основе сборки
Также стоит знать, что есть готовые сборки файловых серверов, которые поставляются в виде ISO-образа. Данные сборки построены на основе конкретных операционных систем. Выбирая среди таких сборок, как правило, не обращают внимание на конкретные ОС — важнее функциональные возможности.
Среди таких сборок можно выделить:
1. FreeNAS — файловое хранилище на основе FreeBSD.
2. OpenMediaVault — система управления сетевым хранилищем на основе Debian.
3. XigmaNAS (ранее NAS4Free) — свободная операционная система для сетевого хранилища на базе FreeBSD.
4. Rockstor — на основе CentOS.
Шаг 3. Базовые настройки файлового сервера
Это стандартные действия, которые выполняются при настройке обычного файлового сервера.
Настройка общего ресурса с парольным доступом
Гостевой доступ это просто и удобно, но не всегда приемлемо. Существуют ситуации, когда доступ к общему ресурсу должны иметь только определенные пользователи. В нашем примере создадим два таких ресурса: для бухгалтерии и для IT-отдела.
Снова откроем конфигурационный файл и добавим в него две секции:
Они предельно просты и отличаются запретом гостевого доступа - guest ok = no. Для того, чтобы разделить доступ к ресурсам будем использовать группы пользователей, создадим две новые группы для наших подразделений:
Теперь создадим каталоги:
и изменим группу владельца:
Затем установим права:
Значение 2770 обозначает что мы предоставляем полные права владельцу и группе, для остальных доступ запрещен. А первая двойка устанавливает SGID для каталога, что обеспечивает присвоение группы каталога каждому создаваемому в нем файлу.
В некоторых случаях определенный интерес представляет выставление для каталога sticky bit, который означает, что удалить или переименовать файл может только его владелец, но работать с ним, в том числе изменять, может любой пользователь, имеющий права записи в каталог. Для этого вместо набора прав 2770 используйте права 3770.
Не забываем указать права для вновь создаваемых файлов и директорий, здесь справедливо остается все то, о чем мы говорили выше. Например, можно использовать такой набор опций (с правом запуска исполняемых файлов):
Обратите внимание, что мы устанавливаем SGID только для каталогов, для файлов в данной схеме выставлять его не имеет смысла. А вот если вы установили sticky bit, то его нужно указать в обоих случаях:
Не забываем, что данные опции следует добавить в каждую секцию.
На этом настройки закончены, после чего следует сохранить конфигурационный файл и перезапустить Samba. Но в наших группах пока нет пользователей, давайте добавим их туда.
Начнем с уже существующих пользователей, в нашем случае это пользователь andrey, который является главным администратором и должен иметь доступ к обоим ресурсам. Поэтому добавим его в обе группы:
Затем добавим его в базу Samba:
При этом потребуется установить пароль для доступа к Samba-ресурсам, он должен совпадать с основным паролем пользователя. После чего включим эту учетную запись:
Проверяем, после ввода пароля мы должны получить доступ к созданным нам ресурсам. Также обратите внимание, после аутентификации в списке общих ресурсов появилась папка с именем пользователя, подключенная только на чтение.
С настройками по умолчанию Samba предоставляет каждому существующему пользователю доступ только на чтение к его домашнему каталогу. На наш взгляд это довольно удобно и безопасно. Если вас не устраивает такое поведение - удалите из конфигурационного файла секцию [homes].
Теперь о других пользователях. Скажем у нас есть бухгалтер Иванова и админ Петров, каждый из которых должен иметь доступ к своему ресурсу. В то же время иметь доступ к самому Samba-серверу им необязательно, поэтому создадим новых пользователей следующей командой:
Ключ -M заводит пользователя без создания домашнего каталога, а -s /sbin/nologin исключает возможность входа такого пользователя в систему.
Поместим каждого в свою группу:
Затем добавим их в базу Samba, при этом потребуется установить им пароли:
И включим эти учетные записи
Если все сделано правильно, то пользователь будет иметь доступ к своим ресурсам и не иметь к чужим.
Также обратите внимание, что несмотря на то, что общий ресурс с именем пользователя создан, доступ он к нему получить не сможет, так как физически его домашняя директория не существует.
Анализатор соответствия рекомендациям
В диспетчер управления серверами Windows встроен инструмент для проверки конфигурации сервера — анализатор соответствия рекомендациям. Чтобы им воспользоваться переходим в диспетчере в Локальный сервер:
Находим раздел «Анализатор соответствия рекомендациям» и справа кликаем по ЗАДАЧИ - Начать проверку BPA:
Рассмотрим решения некоторых рекомендаций.
1. Для XXX должно быть задано рекомендованное значение.
Это набор однотипных рекомендаций, для выполнения которых нужно обратить внимание на описание и задать значение параметро, которое в нем указано. Например, для CachedOpenLimit в описании проблемы есть описание решения — «Задайте для CachedOpenLimit рекомендуемое значение 5». Чтобы это сделать, открываем Powershell от администратора и вводим команду:
Set-SmbServerConfiguration -CachedOpenLimit 5
* мы задаем параметру CachedOpenLimit значение 5, как это и рекомендовано анализатором.
На запрос, уверены ли мы, что хотим выполнить команду, отвечаем утвердительно.
Остальные параметры задаем аналогичными действиями.
2. Файл Srv.sys должен быть настроен на запуск по требованию.
В командной строке от имени администратора вводим:
sc config srv start= demand
3. Создание коротких имен файлов должно быть отключено.
В командной строке от имени администратора вводим:
fsutil 8dot3name set 1
Шаг 2. Установка Windows и настройка системы
Аудит
Аудит позволит вести протокол доступа к данным — понять, кто и когда удалил важные данные или внес в них изменения.
О том, как настроить данную возможность читайте статью Как включить аудит доступа к файлам Windows.
Подготовка системы
Прежде чем приступать к работе продумайте схему хранения данных и доступа к ним. Существую разные типы данных, которые мы будем характеризовать по интенсивности доступа к ним, скажем "холодные данные" отличаются тем, что обращения к ним происходят крайне редко (а к некоторым вообще никогда), но при этом они могут занимать значительные объемы. Это прежде всего резервные копии, инсталляционные пакеты, образа дисков и т.д. и т.п.
Противоположность им "горячие данные" - это данные которые интенсивно используются и изменяются, для файлового сервера примером таких данных может служить файловая информационная база 1С:Предприятия. Между ними находятся обычные данные, характер доступа к которым не имеет каких-либо особенностей.
Исходя из типа данных следует выбирать диски для хранения, для "горячих данных" это должны быть быстрые диски или SSD, а для "холодных" подойдут экономичные модели с упором на большой объем. Также не забывайте про RAID, для защиты данных от аппаратного выхода дисков из строя.
Продумайте структуру директорий и прав доступа к ним. Разумно будет исходить из следующих соображений: разделяйте диски с данными и системой, чтобы при необходимости можно было заменить их без лишних затруднений или перенести на другой сервер. Храните разные типы данных на разных дисках или разделах, скажем, если на разделе для резервных копий закончится свободное место, то это никак не повлияет на работу баз 1С.
В нашем примере мы будем использовать виртуальную машину с двумя жесткими дисками, один для системы, второй для данных, точку монтирования диска для данных мы указали как /samba, вы можете использовать другое имя и расположение.
Также обратите внимание на имя компьютера, Samba 4 будет использовать его в качестве NetBIOS имени.
После установки ОС следует изменить настройку лимита на количество одновременно открытых файлов, в Linux это 1024, а в Windows 16384. Для этого откройте файл /etc/security/limits.conf и добавьте в конце две строки:
После чего сервер следует перезагрузить.
Настройка корзины для общего ресурса
Полезность корзины на файловом сервере, пожалуй, не будет отрицать никто. Человеку свойственно ошибаться и будет очень обидно, если ценой ошибки окажется несколько часов работы, но, к счастью, Samba позволяет помещать удаленные файлы в корзину.
Для активации корзины добавьте в секцию к общему ресурсу следующие строки:
Первая опция добавит в общий ресурс новый объект - корзину, вторая укажет ее расположение - скрытая папка в корне. Две следующих включают сохранение структуры папок при удалении и сохранение нескольких версий файла с одним и тем же именем. Это позволяет максимально обезопасить себя от ситуаций, когда в разных папках лежали одноименные файлы с разным содержимым или на место удаленного файла скопировали еще один такой же и тоже удалили.
Выше мы везде говорили о правах, корзина не исключение, если у вас включено сохранение структуры папок, то по умолчанию она будет создана с правами 0700, т.е. восстановить файл сможет только тот, кто его удалил. Рекомендуется изменить это поведение и установить права аналогичные указанным в directory mode, для этого добавим еще одну опцию (права указаны для директории buch):
Перезапустим Samba и попробуем что-нибудь удалить.
Несмотря на грозное предупреждение Проводника удаляемые файлы перемещаются в корзину, откуда мы их можем восстановить.
Как видим, работать с Samba не просто, а очень просто, при том, что мы оставили за кадром многие возможности тонкой настройки, многие из которых требуют отдельных статей. Надеемся, что данный материал окажется вам полезным и поможет быстро и без проблем развернуть файловый сервер на Linux.
Также рекомендуем ознакомиться со статьей Linux - начинающим. Часть 4. Работаем с файловой системой. Теория для более подробного ознакомления с системой прав файловой системы Linux.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Настройка файлового сервера Samba на платформе Debian / Ubuntu
Файловый сервер можно без преувеличения назвать средством первой необходимости, даже в сетях без выделенного сервера вы всегда обнаружите папки с общим доступом, но по мере роста объемов данных появляется потребность в отдельном решении. Вариантов его организации множество, одним из которых является служба Samba на Linux-сервере, это простое, недорогое, но в то же время мощное решение по организации общего доступа к файлам и папкам в Windows сетях. В данной статье мы рассмотрим настройку простого сервера на основе Samba 4 работающего в ОС Debian / Ubuntu.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
Несмотря на то, что в данной статье в качестве ОС мы использовали Debain 9, все сказанное будет справедливо для любой ОС на базе Debian или Ubuntu, а с поправкой на работу пакетного менеджера - для любого Linux-дистрибутива. Также мы предполагаем, что читатель имеет базовые навыки работы с Linux-системами на базе Debian.
Установка роли и вспомогательных компонентов
Как правило, данная роль устанавливается вместе с Windows. Остается только это проверить и доустановить компоненты, которые нужны для полноценной эксплуатации сервиса.
Открываем Диспетчер серверов. Он может быть запущен из панели быстрого запуска.
Нажимаем Управление - Добавить роли и компоненты.
В открывшемся окне оставляем Установка ролей и компонентов и нажимаем Далее.
В следующем окне выбираем нужный сервер (выбран по умолчанию, если работаем на сервере, а не через удаленную консоль) и нажимаем Далее.
Среди ролей находим Файловые службы и службы хранилища, раскрываем ее и проверяем, что установлены галочки напротив следующих компонентов:
Если данные службы не установлены, выбираем их и нажимаем Далее.
В окне Выбор компонентов просто нажимаем Далее.
Откроется окно Подтверждение установки компонентов. Нажимаем Установить и после окончания процесса перезагружаем сервер.
Готовые решения
Также файловый сервер может быть организован на базе готового решения, которое работает на собственной операционной системе. К плюсам таких решений можно отнести простоту использования. Обратная сторона медали — нет возможности применить тонкие настройки.
Пример программно-аппаратных комплексов для развертывания файловых хранилищ:
3. Asustor. Хранилище от ASUS. Хорошо подходит для организации домашнего файлового сервера.
Теневые копии
Позволят вернуться к предыдущим версиям файлов. Это очень полезная функция позволит не только восстановить некорректно отредактированный документ, но и вернуть случайно удаленный файл или папку.
Как настроить и пользоваться данной возможностью, читайте подробнее в инструкции Как включить и настроить теневые копии.
Файловый сервер на Windows Server R2 - новый старый знакомый.
Файловый сервер на базе Windows Server, ну что может быть проще! Открыл общий доступ и работай. Казалось бы, придумать что-то новое здесь трудно. Однако не спешите делать скоропалительные заявления. Windows Server 2008 R2 предоставляет в руки администратора богатые инструменты по управлению файловым сервером. О некоторых из них мы расскажем в этой статье.
Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на углубленном курсе по администрированию MikroTik. Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
С чего начинается создание роли файлового сервера? Нет, не с создания общей папки, а, как и создание любой другой роли, с оснастки Роли в Диспетчере сервера. Выберем роль Файловые службы и посмотрим, что мы можем установить.
Как видим выбор довольно богат, не будем пока трогать продвинутые службы, каждая из которых требует, минимум, отдельной статьи, а установим собственно службы Файлового сервера и Диспетчера ресурсов. Следующим шагом нам будет предложено настроить наблюдение над томами хранилища. Настраивать наблюдение за системным диском мы не видим смысла, поэтому выбираем только те тома, которые будут использоваться для хранения пользовательских данных.
Завершим установку роли и создадим необходимые общие ресурсы. Но не спешите открывать доступ пользователям, сначала посмотрим какие возможности по управлению хранилищем предоставляет нам система. Для этого запустим Диспетчер ресурсов файлового сервера.
Начнем по порядку, а именно с Управления квотами, оснастка позволяет устанавливать квоты как к тому хранилища в целом, так и отдельным ресурсам. Квоты могут быть мягкими, когда о превышении квоты уведомляется администратор, и жесткими, когда запись на том (общий ресурс) блокируется. По умолчанию для тома уже выставлена мягкая квота в 85%, это позволит избежать ситуации, когда место на дисках внезапно закончится, администратор будет своевременно предупрежден и будет иметь возможность расширить том или удалить ненужные данные.
Для любого общего ресурса или папки на томе можно создать свою квоту, при создании квоты можно использовать один из шаблонов или установить все параметры вручную. В нашем случае мы создали для папки Users жесткую квоту 200+50 Мб, по превышению квоты администратор будет уведомлен, а пользователь сможет записать еще 50 Мб, после чего запись будет блокирована.
Следующим шагом перейдем к шаблонам, данный раздел уже содержит некоторое количество готовых настроек и мы можем создавать здесь новые. Мы рекомендуем задавать собственные настройки квот именно через шаблоны, это позволит быстро применить однотипные настройки сразу к нескольким ресурсам и столь-же быстро изменить их в случае необходимости.
Разобравшись с квотами, перейдем к блокировке файлов. Не секрет, что пользователи хранят на общих ресурсах и то, что надо и то, что не надо, в частности очень любят размещать там коллекции фото, видео, музыки, причем часто не ограничиваясь одной папкой, а растаскивая одно и тоже содержимое по массе папок. В результате дисковое пространство стремительно сокращается, а у администратора появляется еще одна головная боль. Можно, конечно, бороться административными мерами, но как показывает практика - это малоэффективно.
Уже готовы настройки для блокирования основных типов "проблемных" файлов. Блокировка может быть активной, когда размещение данных типов файлов не допускается, или пассивной, когда об этом только уведомляется администратор. При необходимости можно создать свои шаблоны или отредактировать текущие. Определение того, что именно относится к тому или иному типу содержимого производится в разделе Группы файлов.
Привет Хабр!
После активности шифровальщика Petya 27.06.2017, я отключил SMB1 он же CIFS, и получил производственное оборудование и сетевые МФУ которые не умеют работать на «новых» версиях SMB протокола.
Как тогда получать данные с «старых» устройств? Как показала практика, отдельная «машина» с Windows не выход, во время атаки кроме доменных «машин» пострадали также не включенные в домен, по этому, а также по лицензионным соображениям я решил использовать Linux.
Под катом находится пошаговая инструкция по установке и настройке файлового сервера SAMBA на базе CentOS 7:
— Анонимный доступ
— Аутентификация и авторизация
— Интеграция с Active Directory
Установка CentOS 7
Сервера работают под управлением VMware ESXi, и по этому я установил CentOS 7 1611 на VM, выделив 1 CPU, 1GB RAM и 3GB HDD.
LVM я не использую, SWAP раздел не создаю, на загрузочный раздел выделяю 500MB, а все остальное отдаю под корень файловой системы. В качестве файловой системы использую ext4.
Процесс установки описывать я не буду, даже если вы этого никогда не делали, это не сложно, у вас все получится. Предполагаю что вы уже все установили, тогда можно приступать.
Если вы новичок в линукс, делайте копии оригинальных файлов с конфигами, используйте команду cp.
Получение ip адреса по DHCP
Если по какой-то причине в сети нету DHCP сервера, вам стоит его поднять. Работать с большим количеством VM без DHCP не удобно.
Для принудительного обновления или получения ip адреса выполните команду
Показать ip адрес
CentOS 7 использует пакетный менеджер YUM. Шпаргалка по yum находится тут.
Если выход в интернет организован через прокси сервер, добавьте адрес прокси в файл конфигурации /etc/yum.conf, используйте редактор vi или следующую команду
В случае использования логина и пароля для доступа к прокси серверу, добавьте следующие параметры:
Установка на VM агентов для взаимодействия с хост сервером
Для VMware ESXi необходимо установить open-vm-tools
Для Hyper-V, hyperv-daemons
Установка обновлений
Очень важно установить все доступные обновления
Midnight Commander
Редактировать файлы без нормального редактора очень не удобно, и я предлагаю использовать mc и mcedit
Настройка сети
Для настройки статического ip адреса и имени хоста можно использовать утилиту nmtui
В командной строке список сетевых адаптеров можно получить командой
Статический ip и gateway задается следующей командой, где «ens192» это имя сетевого адаптера
Настройка FQDN
Перезагружаем службу имен
Проверить результат можно следующими командами
Если протокол ipv6 не используется, логично его отключить, для этого нужно добавить два параметра в файл /etc/sysctl.conf, выполните следующие команды или используйте редактор mcedit
Перезагрузите службу сети
SELINUX
На данном этапе службу SELINUX необходимо отключить, проверить статус службы SELINUX можно командой
Измените значение SELINUX в файле /etc/selinux/config на SELINUX=disabled затем перезагрузите сервер.
Вернусь к SELINUX в конце статьи.
SAMBA
Добавление службы в автоматический запуск
Запуск службы и проверка состояния
firewallD
По умолчанию CentOS 7 использует брандмауэр firewallD, состояние службы можно узнать командой
Для получения списка правил и сервисов используйте
Обратите внимание на список сервисов, если вы отключили протокол ipv6, логично также поступить и с dhcpv6-client
Создаем правило для SAMBA и перезагружаем
Общий ресурс с анонимным доступом
Создаем папку для ресурса /samba/guest
Меняем владельца и назначаем права
Редактируем файл конфигурации SAMBA /etc/samba/smb.conf
Меняем содержание оригинального файла на следующее
[global]
workgroup = WORKGROUP
security = user
map to guest = bad user
min protocol = NT1
[guest]
path = /samba/guest
guest ok = Yes
writable = Yes
На всякий случай я указал минимальную версию протокола SMB=NT1. Если вы укажите SMB2 или SMB3, клиенты с Windows XP и ниже не смогут получить доступ к ресурсам.
Проверка параметров и перезагрузка службы
Поздравляю вас, достигнут первый уровень посвящения. Общий ресурс с анонимным доступом настроен, будет работать долго и надежно. Но можно и нужно настроить еще несколько вещей.
Бантики
По умолчанию лог файлы находятся в папке /var/log/samba. При необходимости получить подробные логи, в раздел [global] необходимо добавить параметр log level = 2 или 3. По умолчанию используется значение 1, значение 0 отключает ведение логов.
Как вы можете знаете, предоставление доступа к файлам это только часть функционала SAMBA. Если на сервере будут только файловые ресурсы, службу печати логично отключить. В разделе [global] добавьте следующие параметры
[global]
load printers = no
show add printer wizard = no
printcap name = /dev/null
disable spoolss = yes
Конфигурация SAMBA находиться в каталоге /etc/samba, а логи в каталоге /var/log/samba
Мне удобней все инструменты держать по рукой, по этому я монтирую необходимые мне каталоги в /samba
Создаем каталоги, в которые будет все монтироваться
Редактируем конфиг файл /etc/fstab, я предполагаю что вы знаете за что отвечает fstab.
Добавляем следующие строки
Монтируем без перезагрузки
Подключение диска
Держать ресурс с общим доступом на системном диске без квоты, не лучший выбор. С квотами я решил не связываться, мне проще подключить отдельный «физический» диск.
Для получения списка устройств можно использовать команду lsblk
Создание таблицы разделов на диске /dev/sdb
Подробную информация про gpt можно прочитать тут
Создание раздела на весь диск sdb, в лучших традициях жанра я решил сделать отступ 1MiB в начале диска.
Создаем файловую систему ext4
Добавляем еще одну строку
Подключение образа диска
Если вам не нужны большие объемы, и достаточно ресурса размером ххх мб, можно подключить образ диска из файла.
Создаем каталог для хранения образов
Создаем файл образа размером 100 мб
Про команду dd много интересного можно прочитать тут
В варианте с образом я решил не создавать таблицу разделов, просто создаем файловую систему ext4.
Конфиг для монтирования образа
Подключение RAM диска
Для временных ресурсов где не нужен большой объем, как мне кажется RAM диск это наилучший вариант, очень быстро и просто настраивается, а скорость работы поражает воображение.
Конфиг для RAM диска
Удаление старых файлов
В случае «файлопомойки» ресурсы нужно как-то освобождать, для этого можно использовать планировщик задач crontab
Логи службы crontab находятся в файле /var/log/cron
Ограничение доступа к SAMBA по ip адресам
Если вам нужно ограничить доступ ко всем ресурсам SAMBA, добавьте ваши списки доступа в разделе global, а если необходимо ограничить только на определенный ресурс, в разделе этого ресурса.
[global]
hosts allow = 192.168.1.100, 192.168.1.101
hosts deny = ALL
[guest]
hosts allow = 192.168.0.0/255.255.0.0
hosts deny = 10. except 10.1.1.1
Аутентификация и авторизация пользователей
Ограничение доступа по ip адресам не всегда удобно или возможно, тогда можно использовать логины и пароли.
Сначала необходимо создать локального пользователя в системе
Если пользователь будет работать только с SAMBA ресурсами, задавать ему пароль для системы нет необходимости. Пароль для системы и для SAMBA хранятся в разных файлах и могут отличаться.
Затем необходимо добавить системного пользователя в пользователи самбы и задать ему пароль
По умолчанию для хранения паролей используется файл формата tdb, которые расположен в каталоге /var/lib/samba/private/
Изменить каталог расположения файла можно глобальным параметром passdb backend
tdb файлы были созданы для замены «устаревших» текстовых, если вы хотите использовать текстовые файлы, для этого используйте параметр passdb backend=smbpasswd в разделе global
passdb backend=smbpasswd:/etc/samba/smbpasswd
Затем укажите списки пользователей и групп для доступа к ресурсам
Интеграция с Active Directory
Также есть возможность получать информацию о пользователей из LDAP, но мне этот вариант не интересен и я сразу перехожу к AD. Подробная инструкция от Microsoft находится тут.
Для AD очень важна синхронизация времени, по этому стоит начать с этого.
Установка соответствующей службы
Добавляем в конфиг файл /etc/ntp.conf сервера выполняющих роль домен контроллеров
Добавляем службу ntp в автоматический запуск
Проверяем синхронизацию времени
winbind
Для получения информации о пользователях из AD необходимо установить пакет samba-winbind
Добавляем службу в автоматический запуск
Добавление хоста в AD
Для внесения всех необходимых параметров в конфигурационные файлы можно воспользоваться утилитой authconfig-tui, установите флажок Use Winbind, затем перейдите на следующее окно
Выберите модель безопасности ADS и укажите имена вашего домена. В поле домен контролер укажите “*”, это необходимо для автоматического поиска доступного домен контроллера. Затем нажмите ОК и закройте утилиту.
Для добавления хоста в AD используйте команду net ads join –U %username%, пользователь должен обладать правами на создание учетной записи ПК в домене
Если машина не добавляется в домен, добавьте FQDN имя хоста в файл /etc/hosts.
Я несколько раз все проверял, и в файл hosts я вносил изменения когда на этапе настройки сети задавал не полное имя хоста.
Для того чтобы вывести хост из домена используйте команду net ads leave –U %username%
Что делает утилита authconfig-tui?
Утилита добавляет параметры для подключения к AD в следующие файлы, параметров не много и при желании можно забить все руками.
Вы могли заметить что данная утилита вносит заметно меньше параметров чем написано в инструкции от Microsoft или других инструкциях, но если так работать – то почему бы и нет?
Из инструкции Microsoft я добавляю следующие параметры в конфиг
Настройка прав доступа на ресурс
В качестве примера и для наглядности рекомендую настроить ресурсы с разными правами на одну папку
[domain users read only]
path = /samba/guest
read list = "@fqdn_com\domain users"
force create mode = 777
directory mask = 777
[domain users writable]
path = /samba/guest
read list = "@fqdn_com\domain users"
write list = "@fqdn_com\domain users"
force create mode = 777
directory mask = 777
Перезапускаем службу samba
На скриншоте видно пользователя домена который находится в одной из общих папок
Список полезных ссылок:
P.S.
Вернемся к SELINUX, чтобы SAMBA сервер мог предоставить доступ к любым каталогам необходимо выполнить следующие команды
К сожалению я так и не смог настроить работу winbind при включенном SELINUX, если подскажете как, я буду благодарен.
Выбор операционной системы для файлового сервера, во многом, зависит от среды ИТ и поставленных задач, поэтому однозначно на вопрос выбора ответить нельзя. Попробуем разобраться, какие есть варианты с их плюсами и минусами.
Дополнительные требования
- Для обеспечения сохранности информации при выходе из строя жесткого диска, необходим RAID-контроллер. Настройка последнего выполняется из специального встроенного программного обеспечения, которое запускается при загрузке сервера;
- Сервер должен быть подключен к источнику бесперебойного питания;
- Необходимо предусмотреть резервное копирование. Для этого нужен дисковый накопитель (внешний жесткий диск) или другой сервер.
Подробнее о выборе оборудования читайте статью Как выбрать сервер.
Установка системы
На этом шаге все стандартно, за исключением одного нюанса: разбивая во время установки Windows жесткий диск, стараемся выделить небольшую часть (70 - 120 Гб) для системы и все остальное под данные. Если выделить много дискового пространства для системного раздела, увеличится время его обслуживания и фрагментация, что негативно скажется на производительности и надежности системы в целом.
Читайте также: