Главная >> Инструкции >> Установка Samba в Debian 11

Установка Samba в Debian 11

Samba - это программа которая представляет собой файловый сервер работающий по протоколу SMB/CIFS и позволяет предоставлять доступ к общим ресурсам в локальной сети для систем на базе Linux или Windows. Начиная с четвёртой версии, Samba может выступать в роли контроллера домена Active Directory и способна обслуживать все поддерживаемые версии Windows, в том числе и Windows 10.

Samba работает на всех популярных ОС - Windows, MacOS и Linux, полностью бесплатна и с открытым исходным кодом. В данной статье будет рассмотрена установка Samba в Debian 11, его настройка, а также подключение из операционной системы Windows 10.


Содержание статьи

Установка сервера Samba в Debian 11

Перед установкой Samba необходимо обновить список доступных пакетов в системе. Сделать это можно при помощи команды:

sudo apt update

Далее необходимо установить программу при помощи команды:

sudo apt -y install samba

На этом этапе установка Samba Debian 11 завершена.

Настройка Samba в Debian 11

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

sudo cp /etc/samba/smb.conf{,backup}

Вместо .backup можно написать любое другое слово. Главное, чтобы вам было понятно, что данный файл будет использоваться при восстановлении. Чтобы использовать оригинальный файл для «отката» при выявлении проблем необходимо вернуть ему оригинальное имя - smb.conf а второй файл удалить.

Настройка общих параметров

В конфигурационном файле Samba присутствует блок с именем global, который начинается со строки [global]. Этот блок отвечает за глобальные настройки Samba (то есть настройки, которые в целом влияют на сервер Samba). На скриншотах ниже показаны параметры глобального блока:

Символ ; - точки с запятой установленный перед параметром означает что он закомментирован и не используется. Для использования необходимо удалить символ. Разберем основные параметры.

workgroup = WORKGROUP

Определяет рабочую группу, в которой сервер будет отображаться при запросе клиентов. Группа по умолчанию – WORKGROUP (для Windows), можно изменить её на другое имя при условии, что данная группа уже присутствует на необходимом компьютере.

interfaces = 127.0.0.0/8 eth0

Задаёт IP адрес и имя интерфейса, на котором будет работать Samba.

bind interfaces only = yes

Позволяет ограничивать интерфейсы на машине, обслуживающие запросы Samba. Работает вместе с параметром interfaces. Если выставлен yes то Samba будет принимать трафик только с интерфейса заданного в параметре interfaces.

log file = /var/log/samba/log.%m

Задаёт путь до лог файла, в который будут записываться все события Samba.

max log size = 1000

Задаёт максимальный размер лог файла в мегабайтах, указанного в параметре log file.

panic action = /usr/share/samba/panic-action %d

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

server role = standalone server

Этот параметр определяет основной режим работы сервера Samba. По умолчанию выставлен как автономный сервер (т.е. сервер не относящийся к какому-либо контроллеру домена и не входящему в какой-либо домен).

obey pam restrictions = yes

Если Samba была сконфигурирована с поддержкой PAM данный параметр сообщает о том следует ли Samba использовать учетные записи модуля PAM. Поведение по умолчанию подразумевает использование PAM только для нешифрованной аутентификации и игнорирует директивы учетных записей и управление сессиями.

unix password sync = yes

Параметр позволяющий использовать встроенную утилиту smbpasswd. Если опция включена (yes), то Samba будет изменять пароли с помощью smbpasswd.

Настройка общей шары

Для предоставления доступа к общим ресурсам в Samba есть 2 способа разграничения прав доступа - предоставление анонимного доступа (доступа не требующего прохождения аутентификации, т.е. всем пользователям) и предоставление доступа только конкретным пользователям. Рассмотрим оба способа.

Для начала необходимо создать директорию, к которой необходимо предоставить доступ:

sudo mkdir -p /anonymous/files

Далее необходимо задать права и владельца на ранее созданную директорию для предоставления доступа. Сначала задаём права при помощи команды:

sudo chmod -R 0755 /anonymous/files

Потом задаём владельца и группу при помощи команды:

sudo chown -R nobody:nogroup /anonymous/files

После этого в файле конфигурации smb.conf необходимо вписать или привести к следующему виду блоки:

sudo nano /etc/samba/smb.conf

[global] workgroup = WORKGROUP server string = Samba Server %v netbios name = debian11 security = user map to guest = bad user dns proxy = no [Anonymous] path = /anonymous/files browsable =yes writable = yes guest ok = yes read only = no

Сохраните изменения и закройте файл. Далее необходимо проверить конфигурационный файл на наличие ошибок при помощи команды:

testparam

Если в выводе напротив параметра Loaded services file будет написано ОК это означает что конфигурационный файл успешно прошел проверку и не содержит ошибок.

Настройка защищённой шары

Чтобы предоставить доступа к файлам и папкам определенным пользователям необходимо также создать директорию:

sudo mkdir -p /files/samba/security

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

sudo groupadd security_users
sudo useradd sec1 -G security_users

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

sudo chown -R root:security_users /files/samba/security/

Теперь необходимо добавить ранее созданного пользователя в базу данных Samba и задать ему пароль при помощи встроенной утилиты Samba под названием smbpasswd:

sudo smbpasswd -a sec1

Далее необходимо добавить следующие строки в конфигурационный файл smb.conf:

sudo nano /etc/samba/smb.conf

[secured] path = /files/samba/security valid users = @sec1 guest ok = no writable = yes browsable = yes

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

testparam

Если в выводе напротив параметра Loaded services file будет написано ОК это означает что конфигурационный файл успешно прошел проверку и не содержит ошибок. Для выхода из режима теста нажмите на клавишу Enter. Теперь настройка samba debian 11 завершена.

Подключение к серверу Samba

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

sudo systemctl start smbd.service sudo systemctl enable smbd.service sudo systemctl start nmbd.service sudo systemctl enable nmbd.service

Для подключения к ресурсу без логина/пароля (анонимный доступ) в ОС Windows необходимо открыть программу «Выполнить» путем нажатия на сочетание клавиш Win+R. В открывшейся строке введите следующую команду и нажмите на ОК или клавишу Enter:

\192.168.189.147

Где 192.168.189.147 - IP адрес компьютера, на котором запущена Samba:

В открывшемся окне найдите директорию, которая была создана для анонимного доступа. В качестве примера была задана директория Anonymous:

После перехода отобразится содержимое данной директории:

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

После ввода логина и пароля пользователя отобразится ранее созданная директория и её содержимое:

Если при подключении из Windows система «не видит» адрес Samba сервера, то необходимо установить программу Avahi-daemon - систему, обеспечивающую обнаружение сервисов в локальной сети. Более подробное о данной системе можно прочитать в статье Ubuntu не видит сеть в Windows

Выводы

В данной статье вы узнали как выполняется установка и настройка Samba Debian 11. Samba обладает богатым функционалом который позволяет реализовать сетевой доступ до разных ресурсов - сетевых директорий, компьютеров, принтеров. Настройка реализуется через единственный конфигурационный файл что облегчает настойку программы. Если у вас остались вопросы задавайте их в комментариях!

7 комментариев к “Установка Samba в Debian 11”

  1. Было бы здорово показать как настроить Samba в качестве контроллера AD и насколько он адекватно работает для Windows-клиентов (GPO, авторизация, аутентификация и др.)

    Ответить
  2. "Символ ; - точки с запятой установленный перед параметром означает что он закомментирован и не используется." Там же # а не ;
    Зачем "read only" и "writable" в одной настройке?
    Зачем вообще указывать "browsable"?

    Ответить

Оставьте комментарий