yandex
Поиск
Связаться с нами

Установка и настройка файлового сервера Samba на Ubuntu: полное руководство

Если пользователям локальной сети, например, университетского кампуса или офиса, нужен доступ к общим файлам или печати документов, им пригодится файловый сервер Samba. Он позволяет просматривать общие файлы с устройств с разными операционными системами (ОС), а также видеть подключенные к ним принтеры. В статье рассказываем, как установить и настроить Samba в Ubuntu.

Инструкции
Иллюстрация для статьи на тему «Установка и настройка файлового сервера Samba на Ubuntu: полное руководство»
Продукты из этой статьи:
Иконка-Evolution Image
Evolution Image
Иконка-Evolution Object Storage
Evolution Object Storage
Иконка-Evolution Compute
Evolution Compute

Что такое сервер Samba и какие возможности он дает

Допустим, в вашем офисе есть устройства с разными ОС: Windows, macOS и Linux. При этом сотрудникам, работающим на Windows нужны доступы к общим файлам, которые хранятся на компьютерах коллег с Linux. А сотрудникам с компьютерами на macOS важно иметь возможность распечатывать документы на принтере, подключенном к устройству на Windows. Что делать? Использовать файловый сервер Samba.

Samba — свободное программное обеспечение (ПО), которое позволяет устройствам на разных ОС иметь совместный доступ к файлам и принтерам в локальных сетях.

Дарим до 20 000 бонусов
Дарим до 20 000 бонусов
4 000 бонусов — физическим лицам, 20 000 бонусов — юридическим

В основе работы Samba лежит протокол SMB/CIFS — именно он дает компьютерам возможность получать доступ к файлам и принтерам на устройствах с другими ОС. Этот протокол поддерживается на Windows, и уже через Samba — на Linux и macOS.

Какие преимущества есть у Samba:

  1. Совместимость с разными ОС: Windows, Linux, macOS. С Samba не нужно привязываться к определенной платформе — с ним пользователи одной организации могут работать на разных ОС, при этом обмениваться файлами и свободно печатать материалы.

  2. Аутентификация и контроль доступа. Информация в Samba передается безопасно, а доступ к ней есть только у авторизованных пользователей. Также можно настроить шифрование данных для более надежной защиты.

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

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

  5. Поддержка различных версий операционных систем. Можно работать с более старыми ОС, например, Windows 9x, а также с современными версиями Windows и macOS.

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

Общее руководство по установке Samba в Linux (Ubuntu)

У большинства версий Linux, в том числе у Ubuntu, а также у Windows 10, 11 и macOS есть поддержка протокола Samba по умолчанию.

Ubuntu — популярный дистрибутив Linux, то есть набор ПО, который включает в себя ядро Linux и другие нужные для работы компьютера компоненты.

Общий алгоритм установки Samba на Ubuntu:

1. Используйте утилиту apt. Сначала обновите информацию о репозитории (хранилище) пакетов с помощью команды sudo apt update. Далее выполните команду для установки Samba:

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

2. Проверьте установку с помощью команды whereis samba. Она выведет каталог, в котором находится Samba. Также можно проверить версию утилиты через команду samba -V.

3. Убедитесь, что служба Samba запущена. Для этого запустите команду:

Утилита smbd сообщает, что Samba подключена и работает. Для возвращения в терминал нажмите q.

Evolution Image

Легко управляйте пользовательскими образами и доступами к готовым образам с популярными дистрибутивами операционных систем

Создание общего каталога

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

Каталог создается по следующей схеме:

1. Введите команду mkdir для создания каталога в /home. Например, его имя будет sharing. В этом случае команда выглядит так: 

2. Введите команду ls /home, чтобы проверить результат.

3. Настройте права доступа к каталогу командой:

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

Настройка параметров Samba


Основные параметры Samba можно настроить через файл конфигурации smb.conf, который расположен в /etc/samba/smb.conf

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

1. Откройте файл конфигурации с помощью команды:

2. Прокрутите вниз до раздела Global Settings. В этом разделе можно настроить поведение сервера Samba, его имя, роль и сетевые интерфейсы. 

Важный момент: некоторые настройки в файле smb.conf помечены как комментарии. Чтобы включить и настроить эти параметры, их нужно раскомментировать — преобразовать комментарий в текст программы. Далее расскажем, какие параметры нужно раскомментировать и как это сделать.

Просмотр и идентификация

Просмотр нужен для обмена файлами между группой компьютеров по локальной сети и содержит параметр workgroup. А идентификация распознает сервер Samba, ее параметр — server string.

Как раскомментировать параметры workgroup и server string:

1. Откройте файл sudo nano /etc/samba/smb.conf.

2. Удалите символы # или ; перед соответствующими строками. Запись будет выглядеть так:

3. Сохраните изменения и перезапустите Samba командой:

Нетворкинг

Подраздел Networking нужен для настройки сетевых интерфейсов, к которым привязывается Samba. Он содержит два параметра: interfaces и bind interfaces only

Как раскомментировать настройки в этом подразделе:

1. Проверьте доступные интерфейсы с помощью команды ip link, чтобы задать interfaces.

Как привязать Samba к двум интерфейсамПривязка Samba к двум интерфейсам


В примере выходных данных указано, что Samba привязывается к двум интерфейсам: lo (интерфейсу обратной связи) и enp0s3 (сетевому интерфейсу). 

2. Раскомментируйте данные:

Если bind interfaces only установлен в yes, то в параметре interfaces Samba будет использовать только указанные интерфейсы. То есть если у сервера несколько сетевых интерфейсов, например enp0s3, enp0s4, enp0s5, то Samba «послушает» только те, что указаны в параметре Interfaces, а остальные проигнорирует.

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

Отладка

Отладка — это поиск и исправление ошибок в исходном коде ПО. У отладки четыре параметра:

  1. log file = /var/log/samba/log.%m — сохраняет журналы в файле, который назван по имени подключающегося устройства (%m) в указанном каталоге. Эта настройка упрощает отладку.

  2. max log size = 1000 — ограничивает размер файлов журнала до 1 000 КБ перед перемещением, тем самым предотвращает быстрое заполнение дискового пространства.

  3. logging = file — настраивает Samba для регистрации событий (логов) в файлах, чтобы отслеживать, кто их открывал и что в них делал. 

  4. panic action = /usr/share/samba/panic-action %d — выполняет заданный сценарий, если возникла ошибка (%d передает сведения об ошибке). Это позволяет немедленно устранять неполадки и возобновлять процессы. 

Настроить отладку можно с помощью набора команд:

Аутентификация и домен

Наиболее значимым параметром аутентификации выступает server role, он определяет тип сервера для Samba. Если этого параметра нет, добавьте следующую строку: server role = standalone server, чтобы настроить Samba как автономный сервер.

Другие настройки аутентификации включают в себя команды:

  • obey pam restrictions = yes — гарантирует, что Samba придерживается политик аутентификации PAM для поддержания централизованного контроля доступа. Это упрощает процесс верификации пользователей.

  • unix password sync = yes — синхронизирует пароли Samba с паролями Ubuntu, чтобы обеспечить однотипность учетных данных во всех службах.

  • passwd program = /usr/bin/passwd — говорит системе, что для изменения паролей пользователей необходимо использовать программу, которая находится по адресу /usr/bin/passwd.

  • passwd chat = Enter\snew\s\spassword: %n\n Retype\snew\s\spassword: %n\n password\supdated\ssuccessfully.** — автоматически меняет пароли пользователей по заданному алгоритму.

  • pam password change = yes — не меняет пароли, но облегчает синхронизацию локальных устройств, также придерживается политики РАМ.

  • map to guest = bad user — сопоставляет неопознанных пользователей с гостевой учетной записью, чтобы не пропустить неавторизованных пользователей.

Не стоит менять настройки в подразделе Домен. Прокрутите вниз до раздела Разное и задайте команду: usershare allow guests = yes. Эта команда нужна, чтобы любой пользователь мог получить доступ к общим ресурсам без указания учетных данных. Оставьте все остальные глобальные настройки без изменений.

Гостевой доступ в SambaНастройка разрешает гостевой доступ к созданным пользователем общим ресурсам Samba

Далее сохраните файл и выйдите из него, запустите testparm для проверки синтаксических ошибок. Если система показывает сообщение «Loaded services file OK», это означает, что ошибок нет, и сервер Samba готов к использованию.

Проверка синтаксических ошибок в SambaПроверка синтаксических ошибок

Настройка учетной записи пользователя

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

Как настроить учетные записи:

1. Задайте имя и пароль с помощью команды:

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

Как сделать учетную запись основного пользователя в SambaСоздание учетной записи основного пользователя

2. Чтобы добавить нового пользователя в Samba и систему, используйте команду:

Вместо [username] можно добавить в систему, например, new_user с помощью sudo adduser new_user.

3. Придумайте и подтвердите системный пароль для нового пользователя, для чего используйте:

Как добавить новых пользователей в SambaДобавление новых пользователей

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

В этой команде: 

  • утилита setfacl — управляет списками доступов;

  • аргумент -R — параметр для рекурсивного применения прав ко всем файлам/каталогам в указанном каталоге;

  • аргумент -m — модифицирует уже существующие права;

  • аргумент u:new_user:rwx — выдает указанному пользователю права на чтение (r), запись (w) и выполнение (x).

Настройка параметров общего каталога Samba

Каталог общего доступа Samba — это каталог в Linux, который настроен на доступ к другим устройствам в локальной сети через протокол SMB/CIFS. Для настройки параметров каталога выполните следующие действия. 

Откройте файл конфигурации еще раз

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

Каждая строка предоставляет определенные разрешения на доступ к каталогу:

  • [sharing] — показывает имя каталога, которое видят пользователи.

  • comment — описывает общий каталог.

  • path — указывает путь к общему каталогу. В примере используется каталог /home, но пользователи также могут размещать общие файлы в /samba.

  • read only — позволяет пользователям изменять каталог и добавлять или изменять файлы, если установлено значение no.

  • writeable — предоставляет доступ на чтение и запись, если установлено значение yes.

  • browseable — позволяет другим устройствам в сети находить каталог, если установлено значение yes. В противном случае пользователи должны знать точный путь для доступа к общему каталогу.

  • guest ok — если установлено значение no, параметр отключает гостевой доступ. Чтобы гостю попасть в общий каталог, придется ввести имя пользователя и пароль.

Сохраните изменения и выйдите из файла.

Перепроверьте синтаксис через testparm. Система должна подтвердить, что Samba настроена верно. Для более подробного вывода всех настроек нажмите Enter.

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

Завершение настроек

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

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

2. Откройте файловый менеджер по умолчанию и выберите опцию Other Locations — это нужно, чтобы подключиться к общему каталогу через графический интерфейс. Для этого введите в поле адрес сервера smb://ip-address/sharing и нажмите Connect.

Как подключиться к общему каталогу в SambaПодключение к общему каталогу

3. Система запросит имя пользователя и пароль. Укажите запрашиваемую информацию и нажмите Connect еще раз. Это добавит каталог общего доступа в папку общих ресурсов Windows.

Как добавить каталога для общего доступа в SambaДобавление каталога для общего доступа

Как удалить Samba в Ubuntu

При необходимости можно удалить все файлы из системы, которые связаны с Samba. 

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

1. Остановите все службы Samba для обеспечения процесса. Используйте команду: 

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

Система должна показать, что она неактивна.

Как удалить Samba в UbuntuДеактивация Samba

3. Удалите программные пакеты Samba. Для этого используйте apt менеджер и введите команду: 

Опция --purge также обеспечивает удаление файлов конфигурации.

4. Очистите остаточные файлы конфигурации и зависимости: 

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

5. Удалите пользовательские файлы. Несмотря на то, что флаг --purge вычищает файлы конфигурации из системы, некоторые пользовательские файлы могут остаться. Чтобы удалить их вручную, используйте команду:

6. Очистите файлы журналов, созданные Samba при помощи ввода команды: 

7. Восстановите права доступа к файлам. Если Samba использовалась для управления разрешениями на файлы в общих каталогах, сбросьте их. Откатите изменения ACL (список доступных прав) для общих каталогов через команду: 

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

Затем перезагрузите брандмауэр с помощью: 

9. Проверьте полное удаление службы и конфигураций Samba. Сначала посмотрите статус службы через команду: 

Запрос должен показать, что она не найдена. Далее проверьте, не осталось ли пакетов с Samba, для этого введите: 

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

Коротко об установке Samba на Ubuntu

  • Samba — это бесплатное ПО, которое позволяет компьютерам с разными ОС (Windows, Linux, macOS) легко и безопасно обмениваться файлами, использовать общие принтеры в локальной сети.

  • Samba использует протокол SMB/CIFS, «обучая» Linux и macOS общаться с Windows на одном языке.

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

  • Общий алгоритм установки Samba на Ubuntu: используйте утилиту apt, чтобы обновить информацию о репозитории и установить Samba. Далее проверьте установку командой whereis samba и убедитесь, что служба Samba запущена.

Продукты из этой статьи:
Иконка-Evolution Image
Evolution Image
Иконка-Evolution Object Storage
Evolution Object Storage
Иконка-Evolution Compute
Evolution Compute
22 июля 2025

Вам может понравиться