Samba. Управление доступом.

В сегодняшней статье рассмотрим установку и настройку файлового сервера SAMBA на нашем сервере Ubuntu.

Требования

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

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

  • RAID 10;

  • файловое хранилище с доступом по популярным протоколам;

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

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

Итак, нам понадобится следующее:

  1. Файловый сервер с контроллером.

  2. Операционная система Ubuntu, желательно самую новую версию.

  3. Программный комплекс Samba.

  4. На старт! Внимание! Марш!

Создание сетевого файлового сервера на SAMBA

В первую очередь уточню, что при установке Ubuntu можно установить пакет Samba сразу. Смотрите скриншот.

Но если это не было сделано, поступаем так:

  1. Открываем терминал комбинацией клавиш Ctrl + Alt + T.

  2. Выполняем команду sudo apt-get update. После sudo apt-get upgrade, если есть проблемы с обновлением, то dist-upgrade.

  3. Выполняем команду sudo apt install samba samba-common python-dnspython

  4. Дожидаемся установки, после чего переходим к следующему этапу.

Теперь настраиваем программный комплекс. Сделать это проще всего по официальной инструкции: Рекомендую вместо

Рекомендую установить GUI для настройки в графическом интерфейсе в wiki-ubuntu об этом немного сказано. Но, если есть знания английского либо сможете разобрать кривой перевод, то вот ссылка на официальный сайт: Информация дана довольно подробная, разъяснить лучше даже при желании не смогу.

Вы все настроили, пробросили порты, но возникает ошибка при удаленном доступе. И эта проблема многих ставит в тупик. Сейчас объясню, в чем она заключается.

Проблема удаленного доступа Samba

Для подключения через интернет потребуются рабочие порты:

  • 137 UDP;

  • 138 UPD;

  • 139 TCP;

  • 445 Both.

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

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

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

Решаем задачу

Для начала устанавливаем и настраиваем OpenVPN по инструкции:

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

Теперь установим iptables, конечно, если этого комплекса надстроек нет. Вводим команду:

sudo apt-get install iptables

Далее в терминал вводим такую команду:

sudo iptables -t nat -A PREROUTING -d внешнийIP -p udp —dport 137 -j DNAT —to-destination 10.8.0.0:137

Это для примера, параметры server и внешний IP указывайте свои. Таким образом открываем доступ к каждому порту через VPN. Не забудьте включить NAT: _internet

Вроде бы все, коротко, но ясно. Да, отнимет время, но нет ничего невозможного. Так что дерзайте. Успехов вам!

Насколько публикация полезна?

Читайте также:  Команда nslookup в Linux - что это и как пользоваться

Нажмите на звезду, чтобы оценить!

Отправить оценку

Средняя оценка / 5. Количество оценок:

Оценок пока нет. Поставьте оценку первым.

Создание Пользователей Samba

Для создания нового пользователя myuser используйте следующую команду:

sudo useradd -M -d /samba/myuser -s /usr/sbin/nologin -G sambashare myuser

  • -M — не создавайте домашний каталог пользователя. Мы создадим этот каталог вручную.
  • -d /samba/myuser — установите домашний каталог пользователя /samba/myuser.
  • -s /usr/sbin/nologin — отключить доступ к оболочке для этого пользователя.
  • -G sambashare — Добавить пользователя в sambashare группу.

Если необходимо добавить пользователя в группу sudo, то набираем следующую команду:

sudo usermod -a -G sudo myuser

Создадим домашний каталог пользователя и назначим владельца каталога myuser и группа sambashare:

sudo mkdir /samba/myusersudo chown myuser:sambashare /samba/myuser

Следующая команда добавит бит setgid в /samba/myuser каталог, чтобы вновь созданные файлы в этом каталоге унаследовали группу родительского образом, независимо от того, какой пользователь создает новый файл, файл будет иметь владельца группы sambashare.

sudo chmod 2770 /samba/myuser

Добавьте myuserучетную запись пользователя в базу данных Samba, установив пароль пользователя:

sudo smbpasswd -a myuser

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

New SMB password: Retype new SMB password: Added user myuser.

После установки пароля запустим нашего пользователя:

sudo smbpasswd -e myuser

Enabled user myuser.

Вот теперь можно пользоваться нашим файловым хранилищем. Открываем сетевое окружение и ищем наш новый сервер:

Как видите, там появился компьютер SAMBA. Мы прописали это имя в разделе Global, в параметре netbios name. Далее дважды кликаем по имени этого компьютера и попадаем в список доступных ресурсов. Так как мы сделали только один, под названием music, то его и наблюдаем.

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

Если есть вопросы, то пишем в комментариях.

Также можете помочь проекту, заранее всем СПАСИБО!!!

Пожертвовать

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

Настройка общих папок

Linux

Установка и настройка Samba-сервер для Ubuntu выполняется следующими этапами.

Обновляем информацию о репозиториях и устанавливаем обновления для существующих пакетов в системе:

apt-get update && apt-get upgrade

Устанавливаем пакет Samba:

Создадим резервную копию файла конфигурации:

cp /etc/samba/ /etc/samba/_sample

Создадим директории для файлов, например в каталоге /media:

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

Создаем каталог для всех пользователей:

Изменим права доступа к каталогу:

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

Создаем директорию для ограниченного круга лиц:

С помощью системных инструментов создадим группу пользователей:

Добавляем пользователей Samba:

Созданных пользователей добавляем в группу:

Изменим группу, которой принадлежит приватная директория:

chgrp smbgrp /media/samba/private

С помощью инструментов Samba создадим пароль для добавленного пользователя:

С помощью текстового редактора, например, nano, редактируем конфигурационный файл samba:

Удаляем все строки из файла. Вставляем следующие:

map to guest = bad user

force user = nobody

valid users = @smbgrp

Сохраняем используя сочетание Ctrl + X, затем нажимаем Y и Enter.

Объясним значения строк. конфигурационный файл состоит из трех секций:

global — данная секция отвечает за общие настройки Samba-сервера;

public и private — секции описания настроек директорий общего доступа.

Читайте также:  Linux Kali — установка, требования к системе

В секции global присутствуют пять параметров:

Настройки директорий выполняются в соответствующих секциях:

path — полный путь до директории на жестком диске;

guest ok — возможность доступа к каталогу без пароля (гостевой);

browsable — показывать ли каталог (“шару”) на сервере среди прочих. Если параметр установлен как “no”, то доступ будет возможен по полному пути, например ip-addresshidden_directory;

force user — пользователь от которого ведется работа с каталогом. Для повышения безопасности сервера, обычно используют nobody. Главное, не использовать пользователя root — это небезопасно.

writable — установка значения как “yes” позволяет пользователю выполнять действия над файлами внутри каталога — переименование, добавление, удаление, перемещение в подкаталог и копирование;

valid users — список пользователей у которых есть доступ к каталогу. Если пользователей несколько, их имена указываются через запятую. Если необходим доступ для пользователей принадлежащих группе, перед именем группы устанавливается символ ”at” @ (“собака”).

Важно! Имя директории общего доступа, отображаемое пользователям, равно имени секции в которой оно описано.

Настройка файлового сервера в локальной сети на Windows/Linux

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

Что это такое?

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

В инструкции рассмотрена настройка файлового сервера на серверах с операционными системами Linux и Windows. На сервере будет находиться 2 каталога — публичный и приватный. К файловому серверу подключение будет происходить как с операционной системы Windows, так и с Linux, т.к. в виртуальной или физической локальной сети могут находиться серверы с разными ОС.

Создание и настройка частной сети

Для начала в панели управления должны быть созданы все необходимые для сети серверы.

После создания необходимо объединить все машины в единую локальную сеть через панель управления в разделе Сети. В результате серверы получат локальные IP-адреса.

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

Настройка файлового сервера

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

Настройка файлового сервера на Linux (Debian/Ubuntu)

Для развертывания файлового сервера на системах Linux используется инструмент SAMBA. Ниже перечислены действия по его установке и настройке.

Прежде всего следует обновить локальную базу пакетов:

apt-get update

Далее установите пакеты из главного репозитория:

apt-get install -y samba samba-client

Создайте резервную копию файла конфигурации Samba:

cp /etc/samba/ /etc/samba/

Создайте или выберете директорию, к которой все пользователи будут иметь общий доступ:

mkdir -p /samba/public

Перейдите к этому каталогу и измените режим доступа и владельца:

cd /samba chmod -R 0755 public

Создайте или выберете каталог, к которому иметь доступ будут ограниченное число пользователей:

mkdir /samba/private

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

groupadd smbgrp

Создайте нужных пользователей с помощью команды useradd:

useradd user1

Добавьте созданных пользователей в группу:

usermod -aG smbgrp user1

Измените группу, которой принадлежит приватная директория:

chgrp smbgrp /samba/private

Задайте пароль, с помощью которого пользователь будет подключаться к каталогу:

smbpasswd -a user1

Откройте файл конфигурации на редактирование с помощью текстового редактора, например nano:

nano /etc/samba/

Замените содержимое файла на следующие строки:

[global] workgroup = WORKGROUP security = user map to guest = bad user wins support = no dns proxy = no [public] path = /samba/public guest ok = yes force user = nobody browsable = yes writable = yes [private] path = /samba/private valid users = @smbgrp guest ok = no browsable = yes

Читайте также:  ТОП-10 ЛУЧШИХ ДИСТРИБУТИВОВ LINUX ДЛЯ НОУТБУКОВ В 2021 ГОДУ

writable = yes

Сохраните внесенные изменения, нажав CTRL+X, затем Enter и Y.

Значения параметров выше:

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

testparm -s

Чтобы изменения вступили в силу, перезапустите сервис:

service smbd restart

Далее нужно настроить firewall, открыв порты, которые использует SAMBA. Настоятельно рекомендуем разрешить только подключения из локального диапазона IP-адресов или виртуальной частной сети. Адресное пространство вашей частной сети вы можете увидеть в панели управления 1cloud.

Замените значение параметра –s в правилах ниже для соответствия адресному пространству вашей частной сети. Как правило префикс сети /24, если вы явно не подразумеваете иного:

Nautilus

Есть еще один способ настройки Samba в Ubuntu. Он отлично подойдет тем пользователям, которые не хотят устанавливать дополнительное ПО себе на компьютер и которые не любят прибегать к использованию «Терминала». Все настройки будут выполняться в стандартном файловом менеджере Nautilus.

Шаг 1: Установка

Nautilus

Используя Nautilus для настройки Samba, способ установки программы немного отличается. Эту задачу можно выполнить и с помощью «Терминала», как было описано выше, но ниже будет рассмотрен другой метод.

Nautilus
Nautilus

    Откройте Nautilus, нажав по одноименному значку на панели задач или проведя поиск по системе.

    Nautilus
    Nautilus
  1. Перейдите в директорию, где находится нужный каталог для расшаривания.
  2. Nautilus
    Nautilus
  3. Нажмите по нему ПКМ и выберите из меню строку «Свойства».

    В открывшемся окне перейдите на вкладку «Общедоступная папка локальной сети».

    Поставьте галочку рядом с «Опубликовать эту папку».

    Появится окно, в котором нужно нажать по кнопке «Установить службу», чтобы началась установка Samba в систему.

    Появится окно, в котором вы можете ознакомиться с перечнем устанавливаемых пакетов. После ознакомления нажмите кнопку «Установить».

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

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

    Шаг 2: Настройка

    Настраивать Samba в Nautilus’е намного проще, чем с помощью «Терминала» или System Config Samba. Все параметры задаются в свойствах каталога. Если вы забыли как их открыть, то выполните три первых пункта предыдущей инструкции.

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

      В окне перейдите во вкладку «Права».

    Определите права для владельца, группы и остальных пользователей.

    Примечание: если вам нужно ограничить доступ к общедоступной папке, то из списка выберите строку «Нет».

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

    Нажмите «Изменить», а далее перейдите на вкладку «Общедоступная папка локальной сети».

    Отметьте пункт «Опубликовать эту папку».

    Введите наименование этой папки.

    Примечание: поле «Комментарий» при желании вы можете оставить не заполненным.

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

    Примечание: как настроить сервер Samba рассказано в начале статьи.

    Заключение

    Подводя итоги, можно сказать, что все вышеперечисленные способы в значительной мере отличаются друг от друга, но все они в равной степени позволяют осуществить настройку Samba в Ubuntu. Так, используя «Терминал», вы можете осуществить гибкую настройку, задавая все необходимые параметры как сервера Samba, так и создаваемых общедоступных папок. Программа System Config Samba точно так же позволяет настроить сервер и папки, но количество задаваемых параметров намного меньше. Основным же плюсом этого способа является наличие графического интерфейса, что в значительной мере облегчит настройку для рядового пользователя. Используя файловый менеджер Nautilus, вам не придется скачивать и устанавливать дополнительное программное обеспечение, но в некоторых случаях необходимо будет вручную проводить настройку сервера Samba, используя все тот же «Терминал».

    Источник