Samba Linux: сервер для контакта с пользователями Windows

Samba — это программное обеспечение для организации обмена файлами и работы с общими ресурсами между компьютерами под управлением Linux/Unix и операционной системой Windows.

Компоненты сервера

Сервер состоит из нескольких компонентов. Это smbd, nmbd и winbindd.

  • Smbd — обрабатывает фактическое совместное использование файлов и принтеров. Кроме того, он также отвечает за вопросы аутентификации пользователей и блокировки ресурсов. Для запросов Использует порт 139 или 445.
  • Nmbd — отвечает за обработку запросов на обслуживание NetBIOS. Он использует порт 137 и обрабатывает запросы от основных браузеров, доменов и серверов WINS (например, когда вы открываете My Network Places в Windows). В Windows 2000 Microsoft перешла к соглашению об именах DNS в рамках своей поддержки Active Directory, чтобы сделать службы имен более согласованными. Вам больше не понадобится nmbd, если вы не собираетесь разрешать очень старым хостам Windows в вашей сети доступ к общим ресурсам Samba.
  • Winbindd — может быть использован для запроса родных серверов Windows , для пользователей и групп информации.

Установка глобальных опций Samba

Параметры конфигурации Samba хранятся в файле /etc/samba/ В нем есть два раздела, global и shares. В разделе global прописаны параметры самого сервера (имя сервера, его тип, интерфейсы и другие сетевые настройки), а в разделе shares — параметры ресурсов. Вместо редактирования файла создадим новый. Предварительно сохранив оригинал:

$sudo mv /etc/samba/ /etc/samba/ $sudo vi /etc/samba/

Внесем в наш новый файл /etc/samba/ следующий код

[global]        server string = samba_server        server role = standalone server        interfaces = lo ваш_сетевой_интерфейс        bind interfaces only = yes        disable netbios = yes        smb ports = 445        log file = /var/log/samba/        max log size = 10000

Рассмотрим значение этих параметров.

server string: информация, передаваемая во время подключения. Можно использовать любое имя для идентификации сервера. Далее будут рассмотрены названия для ресурсов Samba. server role: тип создаваемого Samba-сервера. В данном примере используется выделенный сервер (standalone). Другие типы — член домена и контроллер домена. interfaces: сетевые интерфейсы, к которым привязан сервер. Здесь указан “lo”, loopback-интерфейс. Кроме него нужно указать внешний интерфейс, обычно это eth0. bind onterface only: гарантирует, что сервер Samba будет привязан только к тем интерфейсам, которые указаны в строке interfaces, и будет игнорировать пакеты с других интерфейсов. disable netbios: отключает на сервере все функции NetBios, чтобы немного облегчить процесс разрешения имени сервера и разгрузить трафик. smb ports: номер порта, на котором будет работать сервер. По умолчанию Samba использует порт 445. log file: имя и месторасположение файла лога Samba. max log size: максимальный размер файла лога. Рекомендуется указывать его настолько большим, насколько позволяют ресурсы стстемы. Если размер будет превышен, будет создан новый файл, а предыдущий файл будет перемещен в дубликат с расширением .old. При повторном превышении первый файл с расширением .old будет удалён. Данный параметр помогает предотвратить заполнение диска. Если нужны более подробные логи, можно воспользоваться командой:

Читайте также:  Обновление до Kubuntu 20.04 с Kubuntu 18.04

log level = 3 passdb:5 auth:5

Установка глобальных опций Samba

Уровень лога 3 означает, что сохраняется более детальная информация, чем при стандартном ведении лога. Стандартный уровень — 1, максимальный — 5. Здесь он установлен для параметров passdb и auth, чтобы получать более подробную информацию об аутентификации пользователей. После определения параметров ведения лога сохраните и закройте файл. При необходимости файл нужно протестировать на синтаксические ошибки при помощи утилиты Samba testparm:

$testparm

Будет выведен следующий результат:

После нажатия на клавишу Enter будут выведены глобальные параметры:

Если в результате выводится “Load services files OK”, значит, в файле нет ошибок и сервер можно запускать.

Теперь нужно настроить конфигурацию ресурсов. Ресурс состоит из двух элементов, пользователя и директории, которые необходимо создать для обеспечения возможности подключения и тестирования.

Как установить и настроить сервер Samba на Ubuntu для общего доступа к файлам

На этом уроке мы собираемся узнать, как установить и настроить сервер Samba на Ubuntu Samba является свободным и с открытым исходным кодом реализацией протокола SMB/CIFS для Unix и Linux, что позволяет взаимодействовать между файлами и принтерами в Unix/Linux и Windows, на машинах в локальной сети.

Samba представляет собой пакет программ, наиболее важными из которых два являются:

  • smbd : обеспечивает SMB / CIFS обслуживание ( общий доступ к файлам и печати), а также может выступать в качестве контроллера домена Windows.
  • nmbd : обеспечивает сервис имен NetBIOS

Как установить Samba-сервер на Ubuntu

Samba входит в состав большинства дистрибутивов Linux. Чтобы установить Samba на Ubuntu, просто запустите:

sudo apt install samba

Последняя стабильная версия доступна 4.5.3, выпущена 19 декабря 2016 г. Чтобы проверить версию Samba, запустите

sudo smbstatus

или

sudo smbd —version

Пример вывода:

Samba version

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

systemctl status smbd

systemctl status nmbd

Для запуска этих двух служб, выполните следующие команды:

Как установить и настроить сервер Samba на Ubuntu для общего доступа к файлам

sudo systemctl start smbd

sudo systemctl start nmbd

После запуска, smbd будет слушать на порту 139 и 445.

Редактирование файла конфигурации

Там только один конфигурационный файл , который необходимо отредактировать: /etc/samba/

sudo nano /etc/samba/

В разделе [global], убедитесь, что значение workgroup относиться к рабочей группе компьютеров Windows.

workgroup = WORKGROUP

Прокрутите вниз к нижней части файла. (В текстовом редакторе nano, нажмите CTRL+W а затем CTRL+V.) Включите новый раздел, как показано ниже. Замените username на необходимое имя пользователя.

[Home Share ]

comment = Home Public Folder path = /home/username/ writable = yes valid users = username

Home Share это имя папки , которое будет отображаться в сети Windows. Комментарием является описание общей папки. Следующие 3 строки указывают, что только указанный пользователь valid users имеет право доступа к каталогу /home/username/, который также доступен для записи. Вышеуказанная конфигурация отключит анонимный доступ.

Читайте также:  Как использовать команду ps для мониторинга процессов Linux

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

testparm

Создание пользователя

Samba содержит по умолчанию user в качестве режима защиты, означает, что клиенты должны ввести имя пользователя и пароль для доступа к общей папке. Чтобы добавить пользователя в Ubuntu, выполните следующую команду:

sudo adduser username

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

sudo smbpasswd -a username

Теперь все, что осталось сделать, это перезапустить демон smbd.

sudo systemctl restart smbd

Доступ Samba к общей папки из Windows

На компьютере Windows, который находится в той же сети, откройте проводник и нажмите Сеть на левой панели. Вы увидите сервер самбы. Дважды щелкните общую папку и введите имя пользователя и пароль.

Доступ Samba к ресурсу папке с компьютера Ubuntu

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

Добавление нескольких пользователей или групп

Если нескольким учетным записям необходимо получение доступа к общей папке, то необходимо изменить правомерных пользователей, как показано ниже в файле /etc/samba/

valid users = user1, user2, user3

Также используйте smbpasswd для установки пароля Samba для каждого из этих пользователей.

sudo smbpasswd -a user1

sudo smbpasswd -a user2

sudo smbpasswd -a user3

Как установить и настроить сервер Samba на Ubuntu для общего доступа к файлам

Для того, чтобы разрешить группе пользователей получить доступ к общей папке, используйте следующую конфигурацию /etc/samba/

valid users = @sambashare

Создайте группу.

sudo groupadd sambashare

Затем добавьте в эту группу пользователей

sudo gpasswd -a user1  sambashare

sudo gpasswd -a user2 sambashare

sudo gpasswd -a user3 sambashare

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

Набор sambashare как владельца группы общей папки:

sudo chgrp sambashare /path/to/shared/folder -R

Предоставить право на запись в группе.

sudo chmod g+w /path/to/shared/folder/ -R

Все!

Я надеюсь , что эта статья помогла вам настроить сервер Samba на Ubuntu Как всегда, если вы нашли этот пост полезным, то отпишитесь в х.

System Config Samba

Графический интерфейс (GUI) способен во многом облегчить процесс настройки Samba в Ubuntu. Как минимум, пользователю, который только перешел на Linux, этот способ покажется более понятным.

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

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

Если до этого вы не устанавливали все компоненты Samba себе на компьютер, вам нужно будет вместе с ней загрузить и установить еще некоторые пакеты:

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

Шаг 2: Запуск

Запустить System Config Samba можно двумя способами: с помощью «Терминала» и через меню Bash.

Способ 1: Терминал

Если вы решили использовать «Терминал», то вам необходимо сделать следующее:

  1. Нажмите сочетание клавиш Ctrl+Alt+T.
  2. Введите следующую команду:
  3. Нажмите Enter.
Читайте также:  Как запустить Windows программы в Mac с помощью Wine?

Далее вам потребуется ввести системный пароль, после чего откроется окно программы.

Способ 2: Меню Bash

Второй способ многим покажется проще, так как все операции выполняются в графическом интерфейсе.

  1. Нажмите на кнопку меню Bash, которая находится в верхнем левом углу рабочего стола.

Введите в открывшемся окне поисковой запрос «Samba».

Нажмите по одноименной программе в разделе «Приложения».

После этого система запросит у вас пароль пользователя. Введите его и программа откроется.

Шаг 3: Добавление пользователей

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

  1. Нажмите по пункту «Настройка» на верхней панели.

В меню выберите пункт «Пользователи Samba».

В появившемся окне нажмите «Добавить пользователя».

В выпадающем списке «Имя пользователя Unix» выберите пользователя, которому будет разрешено входить в папку.

Вручную введите имя пользователя Windows.

Введите пароль, а затем повторите его ввод в соответствующем поле.

Нажмите кнопку «ОК».

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

Шаг 4: Настройка сервера

Теперь нужно приступить к настройке сервера Samba. Это действие выполняется на порядок проще в графическом интерфейсе. Вот что нужно сделать:

  1. В главном окне программы нажмите по пункту «Настройка» на верхней панели.

Из списка выберите строку «Параметры сервера».

В появившемся окне, во вкладке «Основной», введите в строке «Рабочая группа» название группы, все компьютеры которой смогут подключаться к серверу Samba.

Введите описание группы. При желании можете оставить значение по умолчанию, этот параметр ни на что не влияет.

Перейдите на вкладку «Безопасность».

Определите режим аутентификации как «Пользователь».

Выберите из выпадающего списка «Шифровать пароли» интересующий вас вариант.

Выберите гостевую учетную запись.

Нажмите «ОК».

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

Шаг 5: Создание папок

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

  1. Кликните по кнопке с изображением знака плюс.

В открывшемся окне, во вкладке «Основной», нажмите «Обзор».

В файловом менеджере укажите нужную папку для ее расшаривания.

В зависимости от предпочтений, поставьте галочки рядом с «Запись разрешена» (пользователю будет позволено редактировать файлы в общедоступной папке) и «Виден» (на другом ПК добавляемая папка будет видна).

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

На ней есть возможность определить пользователей, которым будет разрешено открывать расшаренную папку. Для этого поставьте отметку рядом с «Предоставить доступ только определенным пользователям». После этого нужно выбрать их из списка.

Если вы собираетесь сделать общедоступную папку, то поставьте переключатель в положение «Предоставить доступ всем».

Нажмите кнопку «ОК».

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

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

Как только вы создадите все нужные папки, можете закрывать программу. На этом инструкция по настройке Samba в Ubuntu с помощью программы System Config Samba окончена.