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

Что такое Samba

Samba – это программное обеспечение с открытым исходным кодом, которое предоставляет возможность обеспечить совместимость между ОС Windows и UNIX-подобными системами (например, Linux или macOS). 

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

Таким образом, возможности Samba включают:

  • Файловый сервер. Samba может настроить файловый сервер, который предоставляет доступ к общим папкам и файлам для клиентов Windows. Это позволяет пользователям Windows обмениваться данными с UNIX-подобными системами так же, как если бы они работали в Windows-сети.
  • Интеграция с Windows доменом: Samba может служить в качестве контроллера домена для сети, позволяя интегрировать Linux-системы в существующий Windows-домен.
  • Сервер печати. Samba также поддерживает сервер печати, позволяя Windows-клиентам печатать на принтерах, подключённых к UNIX-подобным системам.
  • Интеграция с Active Directory. Samba предоставляет возможность интеграции с доменами Active Directory, что позволяет UNIX-подобным системам работать в среде Windows Active Directory и использовать её функции.
  • Аутентификация пользователя. С Samba можно настроить аутентификацию пользователей через учётные записи Windows или Linux, что облегчает управление правами доступа.
  • Виртуальные файловые системы. Samba позволяет монтировать удалённые сетевые ресурсы, делая их доступными в качестве локальных дисков.

Как подобрать сервер для Samba

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

  1. Сначала определите, каким образом будет использоваться сервер с Samba. Ответьте на следующие вопросы: сколько пользователей будет использовать сетевые ресурсы, какой объём данных будет обрабатываться ежедневно и какие другие функции, помимо предоставления файлового сервера, будут использоваться. 
  2. Samba работает сетевыми запросами и требует определённой мощности процессора для обработки запросов клиентов. Мы рекомендуем выбрать процессор средней или высокой производительности, чтобы обеспечить быструю обработку запросов и минимизировать задержки.
  3. Количество оперативной памяти зависит от ожидаемой нагрузки. Для небольших сетей и небольшого числа пользователей достаточно 4-8 ГБ ОЗУ. Однако для более крупных сетей и активного использования Samba, рекомендуется иметь 16 ГБ или более.
  4. Объём хранилища зависит от количества данных, которые вы планируете хранить на сервере. Более того, лучше всего сразу предусмотреть возможность расширения хранилища.
  5. Убедитесь, что сервер настроен с учётом правил безопасности. Отключите ненужные службы и обновляйте систему и программное обеспечение для обеспечения безопасности сервера.
  6. Перед введением сервера с Samba в эксплуатацию протестируйте его под нагрузкой, чтобы убедиться, что он соответствует требованиям и стабильно работает.

Аренда сервера

Не знаете, какой сервер использовать? В таком случае предлагаем вам оптимальное решение для обеспечения высокой эффективности и стабильности работы ваших онлайн-проектов – аренду выделенного сервера от RU-CENTER.

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

Вы также можете выбрать VPS/VDS хостинг с поддержкой Ubuntu, если больше склоняетесь к виртуальным решениям.

Как установить Samba на Ubuntu 20.04

  1. Выполните обновление пакетов следующей командой:

sudo apt update

sudo apt upgrade

  1. Установите пакет Samba с помощью следующей команды:

sudo apt install samba -y

Включите в команду аргумент -y для автоматического утверждения любых запросов во время установки.

  1. Проверьте, установилось ли ПО, прописав:

whereis samba

В выводе будет каталог, содержащий Samba. 

  1. Другой способ проверить установку – запросить установленную версию:

samba -V 

Соответственно, в выводе вы получите номер версии Samba, которую установили на свой сервер.

  1. В конце, проверьте запущена ли программа:

systemctl status smbd

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

  1. Создайте пользователя для Samba.

Вы можете сделать это с помощью следующей команды:

adduser samba_user

Где вместо «samba_user» вы можете прописать своё имя пользователя. 

Как только пользователь будет создан, перед вами появится новая информация:

Adding user `samba_user' ...

Adding new group `samba_user' (1000) ...

Adding new user `samba_user' (1000) with group `samba_user' ...

Creating home directory `/home/samba_user' ...

Copying files from `/etc/skel' ...

New password: 

Retype new password: 

passwd: password updated successfully

Changing the user information for samba_user

Enter the new value, or press ENTER for the default

Full Name []: 

Room Number []: 

Work Phone []: 

Home Phone []: 

Other []: 

Is the information correct? [Y/n] Y

Где вместо «samba_user» вы можете прописать своё имя пользователя. 

  1. Установите пароль Samba для созданного пользователя:

smbpasswd -a samba_user

Далее пропишите непосредственно сам пароль, когда на экране появится:

New SMB password:

Retype new SMB password:

Added user samba_user.

  1. Создайте группу Samba со следующей командой:

groupadd samba

Вы также можете добавить samba_user в группу samba:

gpasswd – samba_user samba

  1. Создайте приватный файловый сервер в сети.

Далее вам нужно будет отредактировать файл конфигурации Samba и определить приватный каталог, которым вы хотите поделиться:

nano /etc/samba/smb.conf

Добавьте в него следующие строки:

[Private]

comment = private share

path = /samba/private/

browseable = yes

guest ok = no

writable = yes

valid users = @samba_user

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

testparm

Если всё в порядке, вы получите следующий результат:

Load smb config files from /etc/samba/smb.conf

Loaded services file OK.

Weak crypto is allowed

Server role: ROLE_STANDALONE

Затем перезапустите службы smbd и nmbd, чтобы применить изменения:

systemctl restart smbd nmbd

  1. Создайте публичный файловый сервер. 

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

Сначала создайте файлы и каталог для общего доступа с помощью следующей команды:

mkdir -p /samba/public

touch /samba/public/publicfile1.txt

touch /samba/public/publicfile2.txt

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

chmod -R 0777 /samba/public

  1. Выдайте разрешения брандмауэру. 

Если вы используете брандмауэр UFW, пропишите следующую команду, чтобы разрешить Samba проходить через брандмауэр:

sudo ufw allow samba

Если вы используете другой брандмауэр, вам необходимо открыть порты 139 и 445 с использованием протокола TCP и порты 137 и 138 с использованием протокола UDP.

После настройки Samba, перезапустите её, чтобы применить изменения:

sudo service smbd restart

Как подключиться к ресурсу из-под Windows и Ubuntu

Windows:

Для быстрого подключения к ресурсам Samba из-под операционной системы Windows, выполните следующие шаги: 

  1. Зажмите сочетание клавиш Ctrl+E и введите путь к ресурсу. 

Важно! Для указания пути в сети следует использовать двойной обратный слеш (\\).

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

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

Ubuntu:

Чтобы подключиться к ресурсу (папке или диску) на удалённом сервере, работающем на Ubuntu, вам понадобится утилита «mount.cifs». 

  1. Установите утилиты cifs с помощью команды:

sudo apt install cifs-utils -y. 

  1. Создайте пустую папку, которую вы будете использовать для монтирования удалённого ресурса. Например, создадим папку с именем «network_share» в домашнем каталоге:

mkdir ~/network_share

  1. Теперь, когда у вас есть утилита и папка для монтирования, выполните следующую команду, чтобы подключиться к удалённому ресурсу:

sudo mount -t cifs //remote_server_address/share_name ~/network_share -o username=samba_user,password=password

Где:

  • «remote_server_address» – IP-адрес или доменное имя сервера, на котором работает Samba;
  • «share_name» – имя общей папки, к которой вы хотите подключиться;
  • «samba_user» – имя пользователя, который у вас есть на удаленном сервере;
  • «password» – пароль от учётной записи на удалённом сервере.
  1. После выполнения команды, удалённая папка будет успешно смонтирована в вашу локальную папку «network_share». Вы можете проверить, что подключение прошло успешно, просмотрев содержимое монтированной папки:

ls ~/network_share

  1. Чтобы отключить ресурс, используйте команду «umount»:

sudo umount ~/network_share

Заключение

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

В этом руководстве мы рассказали, как установить и произвести базовые настройки Samba в Ubuntu.

Всё ещё остались вопросы?