Как настроить общую сетевую папку в Ubuntu с помощью Samba

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

Это руководство покажет вам, как настроить общую сетевую папку в Ubuntu Linux с помощью Samba. С сервером Samba вы можете легко обмениваться файлами в своей сети, независимо от того, используете ли вы Windows, macOS или Linux.

Что такое самба?

Samba – это служба обмена файлами, в которой реализованы версии набора протоколов SMB с открытым исходным кодом, изначально разработанные Microsoft и IBM. Samba содержит программы, которые позволяют ей взаимодействовать с протоколами обмена файлами Microsoft Windows.

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

Шаг 1. Установка Samba

В этом руководстве будет использоваться Ubuntu Linux 20.04 LTS, но шаги должны работать, даже если вы используете Ubuntu 16.04 или новее. Начните с обновления информации об источнике вашего пакета.

 sudo apt update

Затем установите Samba, используя следующую команду:

 sudo apt install samba

Чтобы проверить, успешно ли установлена ​​Samba, выполните следующую команду:

 smbd --version

Результат должен быть аналогичен приведенному ниже.

Шаг 2: настройка Samba

Чтобы иметь возможность безопасно обмениваться файлами с другими сетевыми устройствами, вам необходимо настроить сервер Samba. Основной файл конфигурации Samba находится на вашем ПК по адресу /etc/samba/smb.conf . В этом руководстве для редактирования файла конфигурации Samba используется текстовый редактор Vim, но вы можете использовать любой другой текстовый редактор по вашему выбору.

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

 sudo vim /etc/samba/smb.conf

Добавьте следующие строки в конец файла конфигурации.

 [sambashare]
comment= Network Shared Folder by Samba Server on Ubuntu
path = /home/your_username/sambashare
force user = smbuser
force group = smbgroup
create mask = 0664
force create mode = 0664
directory mask = 0775
force directory mode = 0775
public = yes
read only = no

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

 echo $USER

Чтобы выйти из редактора Vim после внесения изменений, просто введите : wq и нажмите клавишу Enter .

Понимание конфигураций

Вот краткое описание только что добавленных строк конфигурации.

  • Раздел : новый раздел в файле конфигурации представлен квадратными скобками ( [] ). В данном случае это [самбашаре] .
  • Комментарий : эта строка кода дает краткое описание того, чему посвящен этот раздел. Это особенно полезно, если у вас есть несколько разделов общего каталога в файле конфигурации.
  • Путь : это путь к каталогу вашей назначенной общей сетевой папки.
  • Принудительный пользователь : системный пользователь, которого сервер Samba будет использовать для обмена файлами.
  • Force group : имя группы, к которой будет принадлежать системный пользователь Samba.
  • Создать маску : этот параметр устанавливает разрешения для вновь созданных файлов в общей папке. В этом случае значение – 0664, что означает, что владелец файла и группа будут иметь разрешения на чтение и запись, в то время как другие пользователи будут иметь разрешения только на чтение.
  • Принудительный режим создания : работает вместе с параметром маски создания для установки правильных прав доступа к файлам.
  • Маска каталога : этот параметр определяет разрешения для папок в общей папке. Разрешения 0775 означает, что владелец и группа имеют разрешения на чтение, запись и выполнение, в то время как другие имеют разрешения только на чтение и выполнение.
  • Принудительный режим каталога : этот параметр работает вместе с маской каталога, чтобы убедиться, что установлены правильные права доступа к каталогу.
  • Public : этот параметр указывает, что это общедоступная папка в вашей сети и что другие устройства могут получить к ней доступ.
  • Только для чтения : указывает разрешения на изменение файлов в общей папке.

Шаг 3: Создание ресурсов Samba

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

1. Общая папка

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

Перейдите в свой домашний каталог с помощью команды cd .

 cd ~

Затем создайте общий каталог, используя команду ниже:

 mkdir -p sambashare

2. Пользователь и группа Samba

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

Вы можете создать системную группу Samba, используя следующую команду:

 sudo groupadd --system smbgroup

Затем создайте системного пользователя Samba с помощью useradd .

 sudo useradd --system --no-create-home --group smbgroup -s /bin/false smbuser

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

3. Смена владельца общей папки

После того, как пользователь и группа Samba созданы, вы можете изменить владельца общей папки на нового пользователя smbuser, а группу – на smbgroup . Вы можете добиться этого с помощью следующей команды:

 sudo chown -R smbuser:smbgroup ~/sambashare

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

 sudo chmod -R g+w ~/sambashare

Шаг 4: перезапуск службы Samba

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

 sudo systemctl restart smbd

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

 sudo systemctl status smbd

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

 sudo ufw enable samba

Шаг 5: доступ к общей папке

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

В Windows

В Windows вы можете получить доступ к общей папке с помощью проводника Windows. Вы можете запустить проводник с помощью сочетания клавиш Windows + E.

В адресной строке введите ip_address_of_pc_with_shared_folder sambashare .

Не забудьте заменить на правильный IP-адрес и имя общей папки.

Система также попросит вас ввести имя пользователя и пароль пользователя на ПК с Linux.

На Ubuntu

В Ubuntu Linux откройте файловый менеджер по умолчанию и нажмите кнопку « Другие расположения» . Затем в поле « Подключиться к серверу» введите IP-адрес в следующем формате:

 smb://ip_adresss_of_pc_with_shared_folder/sambashare

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

На macOS

Пользователи Mac также могут легко получить доступ к общей папке. В меню Finder щелкните вкладку « Сеть », и компьютер с общей общей папкой будет указан в списке. Выберите его, и вы сможете получить доступ к файлам.

Эффективный обмен файлами между несколькими устройствами

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

Не только Linux, но вы также можете настроить общую сетевую папку на вашем компьютере с Windows.