Установка и настройка Samba на Ubuntu 20.04: инструкция

    Команда Simple-Server
    03.06.2026
    8 мин

    Материал подготовлен командой Simple-Server для администраторов VPS и выделенных серверов. Команды и пути проверяйте на тестовой машине перед production.

    Кратко о задаче

    Samba представляет собой программный пакет, разработанный для обеспечения совместимости и взаимодействия UNIX-подобных систем с Windows. ПО распространяется по свободной лицензии уже на протяжении 30 лет. Samba обеспечивает беспроблемную интеграцию серверов и ПК, работающих под управлением UNIX, в систему AD (Active Directory). Это ПО может использоваться как контроллер и в качестве стандартной составляющей домена. Таким образом, у пользователей появляются возможности по гибкой настройке облачных файловых хранилищ. Samba обеспечивает широкий функционал по управлению правами доступа к файлам и базам данных с назначением определенных групп пользователей.

    Перейдите в панель управления и создайте новый сервер. При создании сервера можно выделить ему минимальные ресурсы для работы. Затем выберите образ ОС. В нашем случае это Ubuntu 20.04, но можно использовать, например, Debian или Astra Linux — в Simple-Server их также можно автоматически установить при создании сервера, как и Ubuntu.

    После создания подключитесь к новому серверу через SSH, и можно приступать к настройке.

    Здесь всё просто, введите команду:

    sudo useradd -p new_server_pass new_server_user

    Вместо _new_server_pass _и _new_server_user _можно использовать любой пароль и любое имя пользователя. Указанные здесь имя и пароль приведены просто для примера. Обратите внимание, что мы сразу ввели пароль, что стало возможным благодаря команде _-p_. Теперь используем команду _update_ для обновления хранилища, и можно переходить к дополнительным настройкам.

    Для подготовки к установке Linux Samba потребуется выполнить еще пару действий:

    • Синхронизировать время. Это необходимо сделать для того, чтобы впоследствии корректно отображались даты. Это поможет в дальнейшем облегчить поиск данных, с поиском которых при некорректно отображаемом времени могли бы возникнуть проблемы.
    • Настроить работу брандмауэра. Хотя в большинстве систем на основе Linux все порты открыты, некоторые нужные для работы Samba (чаще всего это 445 и порты 137-139) могут быть закрыты. Поэтому проверьте их доступность и при необходимости откройте их.

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

    sudo systemctl enable chrony

    Теперь запускаем программу, используя команду _start_ , и выставляем нужный часовой пояс, а корректность установки смотрим при помощи команды _date_. Вывод должен быть примерно таким:

    Fri Oct 28 11:25:34 UTC 2022

    Вот и всё, сервер готов к установке и настройке Samba на Ubuntu.

    Установка Samba на Ubuntu 20.04

    Для удобства разбили процесс установки на отдельные этапы.

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

    sudo apt install samba -y

    Теперь нужно запомнить системное имя сервиса. В большинстве случаев это _smbd_. Поэтому, если хотите вызвать сервис, то вводите именно это значение.

    • И для начала настроим автозапуск, что делается командой _enable smbd_.
    • Теперь запускаем, используя уже знакомую команду _start_.
    • Затем проверяем статус системы при помощи _status_.
    • Для остановки Samba используется _stop_.
    • Чтобы перезапустить сервис, введите команду _restart_.
    • Если хотите, чтобы Samba больше не запускалась автоматически, используйте инструкцию _disable_.
    • Команда _reload_ нужна для обновления конфигурации.

    Следующая команда позволит принудительно открыть порт 445, а также 137-139 (помните про настройки брандмауэра?). Чтобы разрешить их в брандмауэре ufw , используйте:

    Шаг 2. Настройка анонимного доступа

    Допустим, у нас есть какой-то удаленный сервер, который находится за пределами нашего облака. Правила сетевой безопасности требуют ни в коем случае не открывать прямой доступ к нему через IP. Сделать это можно только через туннель, который к тому же уже настроен. Обычно серверы, к которым предоставлен доступ, имеют адрес 10.8.0.1, и именно с этим адресом в дальнейшем нам и предстоит работать.

    Чтобы расшарить данные и предоставить к ним анонимный доступ, сначала откройте конфигурационный файл. Он находится здесь: _/etc/samba/smb.conf_. Рекомендуем сделать бэкап чистого файла — это поможет затем быстро восстановить исходное состояние программы без необходимости ее переустановки. Теперь удалите все комментарии, оставив только код, и введите команду _testparm_ , чтобы убедиться, что программа работает нормально. В настройках общей папки введите следующие параметры:

    [share] comment = шара path = /data/public_share public = yes writable = yes read only = no guest ok = yes

    Также следите за тем, чтобы в следующих четырех полях (_mask_ и _mode_) совпадали числовые значения (например, 0777). Что касается конкретных строк, то здесь:

    • _[share]_ — имя расшаренной папки, которое будет видно всем подключившимся к вашему серверу;
    • _comment_ — комментарий, который может быть каким угодно;
    • _path_ — путь к папке для хранения данных;
    • _public_ — дает разрешение на общий доступ: если не хотите, чтобы пользователи могли просматривать содержимое папки, установите значение _no_ ;
    • _writable_ — определяет, можно ли записывать данные в папке;
    • _read only_ — указывает, что папка только для чтения: чтобы пользователи могли создавать новые, поставьте значение _no_ ;
    • _guest ok_ — определяет, могут ли гости получать доступ к папке.

    Таким образом, название папки и путь могут отличаться в зависимости от того, какие значения вы указали для общей папки. Комментарий тоже может быть любым, а для нижних четырех параметров значения устанавливаются в виде _yes_ или _no_. Теперь перезапускаем программу и на всякий случай проверяем, можно ли подключиться к серверу из-под Windows.

    Шаг 3. Настройка доступа по учетным данным пользователя

    Для создания доступа по логину и паролю нужно в первую очередь создать новую директорию и настроить права. В файле конфигурации установите все параметры на _no_ (см. выше), кроме _writable_ : в этой строке должно стоять значение _yes_ , то есть запись в папке должна быть включена.

    Командой _mkdir_ создаем новую директорию, далее с помощью _useradd someone_ (вместо someone может стоять любое имя пользователя)__ создаем пользователя и задаем ему пароль командой _passwd_. Например, так:

    Теперь командой _sudo smbpasswd -a someone_ добавляем нового пользователя и пытаемся выполнить вход: если всё настроено корректно, то нам будет открыт доступ к папке.

    Шаг 4. Настройка группового доступа

    Это понадобится для создания ограниченного доступа отдельных групп пользователей. В _smb.conf_ после строки _guest ok _дополнительно пропишите следующие строки (все имена пользователей были сгенерированы просто для примера):

    valid users = admin, vlasova_ulyana, usova_elena, sokolova_eva, spiridonova_kseniya write list = admin, spiridonova_kseniya

    В строке _valid users_ указываются пользователи, которым предоставлен доступ к директории. А в строке _write list_ указаны те, кто может изменять данные в папке. Кроме того, после строки _force directory mode_ добавьте еще одну строку со следующим значением:

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

    Шаг 5. Подключение к ресурсу из-под Windows и Linux

    • Для быстрого подключения к Самбе из-под Windows нажмите Ctrl+E и введите путь. Только учтите, что нужно использовать _\_ для указания пути к ресурсу в сети. А чтобы не соединяться с сервером постоянно, можно выбрать опцию подключения ресурса как диска, если это позволяет ваша политика безопасности. В новом окне задайте букву для наименования диска и заполните необходимые данные.
    • Для подключения к Самбе из-под Linux используются утилиты _cifs_ , которые устанавливаются с помощью команды _sudo apt install cifs-utils -y_. Далее ресурс монтируется и выполняется подключение. Это делается с помощью _mount.cifs //10.8.0.1/our_share /share_ (путь и название ресурса могут быть любыми). Можно выполнять монтирование и автоматическим способом, для чего используется файл конфигурации _fstab_ со своими настройками.

    Шаг 6. Настройка сетевой корзины

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

    [Recycle] comment = Корзина для временного хранения файлов path = /directory/recycle public = yes browseable = yes writable = yes vfs objects = recycle recycle:repository = .recycle/%U recycle:keeptree = Yes recycle:touch = Yes recycle:versions = Yes recycle:maxsize = 0 recycle:exclude = *.tmp, ~$* recycle:exclude_dir = /tmp

    Теперь рассмотрим построчно, что означают эти параметры (кроме первых шести строк, с ними понятно):

    • _vfs objects = recycle_ — указание на использование соответствующей подсистемы;
    • _repository_ — путь для хранения удаленных данных;
    • _keeptree_ — сохранять ли дерево каталогов после удаления;
    • _touch_ — нужно ли изменять временные метки файлов при их помещении в корзину;
    • _versions_ — нужно ли указывать номер версии, если удаляются файлы с одинаковыми именами;
    • _maxsize_ — максимальный размер помещаемого в корзину файла. Значение 0 отключает лимиты;
    • _exclude_ — какие типы файлов нужно исключить;
    • _exclude_dir_ — какие каталоги нужно исключить.

    Нужен сервер для практики? Закажите VPS на Simple-Server — root-доступ, NVMe, DDoS-защита и поддержка 24/7.

    VPS для проекта

    VPS с root-доступом, NVMe и поддержкой 24/7 на Simple-Server.

    StarterVDS

    490

    в месяц

    1 ядро

    1 ГБ RAM

    20 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Безлимитный трафик
    Заказать VPS
    Рекомендуем

    PerformanceVDS

    1190

    в месяц

    2 ядра

    4 ГБ RAM

    60 ГБ NVMe

    • 1 IPv4
    • KVM
    • Root-доступ
    • Базовая DDoS-защита
    Заказать VPS

    Нужна другая конфигурация? Посмотрите все доступные тарифы

    Все тарифы VPS

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