Главная >> Инструкции >> Установка 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

JIu08kcP5HGA8gAAEILCQBBOFCDjtOQwACEBiKwOJIIxTgUPcQ7UIAAhCAwDQJIAinSZu+IAABCCwOgfHFzcbn0eLcjXgKAQhAAAKVBBCE3BwQgAAEIDAHBBZnbuIcDAYmQgACEIDAiAggCEc0mLgCAQhAAAIQgAAEIAABCECgDQEEYRtalIUABCAAgQ0iMD9zE4llbtAtQrcQgAAEIBBFAEEYhY1KEIAABCAAAT+B+ZGujCAEIAABCEBgMkEQchdAAAIQgAAEIAABCEAAAhBYUAIIwgUdeNyGAAQgAAEIQAACEIAABCCAIOQegAAEIAABCEAAAhCAAAQgsKAEEIQLOvC4DQEIQAACEIAABCAAAQhA4P8DPoV5Y3ZzP5kAAAAASUVORK5CYII=

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

sudo apt -y install samba

wG2ZyLPD3u9cQAAAABJRU5ErkJggg==

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

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

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

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

 

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

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

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

X6ChODKAAAAAElFTkSuQmCC

JrAFJEACJEACJQlogqmhDrqSprVUdlXg+XxOGa9R1TR5S7WTxpAACZAACXQQAXoIO6iz2VQSIAESsBIwSpShcq5Vpq80TyB1YGV6lg0hARIggYoQoIewIh3JZpAACZBA4whkA0o56a0AXQ0apWABhsxCAiRAAiTQdAIUhE1HzApIgARIoD0JZAUMZaFPTzI01IcS05AACZAACbQKAQrCVukJ2kECJEACrUrAqAwpDrXuygJhtG2rjmjaRQIkQAIkoBCgIORwIAESIAES8CQgFY6UiKo3rHOWopHaT11CNAvHkyqTkQAJkAAJkMBQEqAgHEr6rJsESIAE2pyAcV6cvtNCm7cR5ue1SDSfnsD272G2gARIgAQ6mAAFYQd3PptOAiRAAo0k0DnSiAqwkeOGZZEACZAACQwtAQrCoeXP2kmABEigegSq5zerXouqN+rYIhIgARIggYIEKAgLgmM2EiABEiCBwSHQOXMTB4cnayEBEiABEiABlQAFIccDCZAACZAACZAACZAACZAACXQoAQrCDu14NpsESIAE2oVA+8xNpC+zXcYU7SQBEiABEkgIUBByNJAACZAACZBAQwi0j3RtSHNZCAmQAAmQQCUIUBBWohvZCBIgARIgARIgARIgARIgARKonwAFYf3MmIMESIAESIAESIAESIAESIAEKkGAgrAS3chGkAAJkAAJkAAJkAAJkAAJkED9BCgI62fGHCRAAiRAAiRAAiRAAiRAAiRQCQIUhJXoRjaCBEiABEiABEiABEiABEiABOon8P8BrXB6Dcyy2wEAAAAASUVORK5CYII=

x+34z1O3jMC4QAAAABJRU5ErkJggg==

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

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

D8SmvWbCmGXxgAAAABJRU5ErkJggg==

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

sudo chmod -R 0755 /anonymous/files

Az0TMEEBPHOTAAAAAElFTkSuQmCC

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

sudo chown -R nobody:nogroup /anonymous/files

psMeeI75tw0AAAAASUVORK5CYII=

После этого в файле конфигурации 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

8MeYwGfUzwOAAAAAElFTkSuQmCC

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

testparam

weXxHZNpFT26gAAAABJRU5ErkJggg==

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

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

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

sudo mkdir -p /files/samba/security

B6H7deMNHSvhAAAAAElFTkSuQmCC

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

sudo groupadd security_users

w8dV5B6lirqEgAAAABJRU5ErkJggg==

sudo useradd sec1 -G security_users

Y0ALEEAAAQQQqBfghoQcCwgggAACWRUgEGaVm8oQQAABBBAIrICEVR4IIIAAArkmQCDMtRGlPwgggAACQRbgDvVBHj3ajgACCARQgEAYwEGjyQgggAACCPggIGGVBwIIqBJgCl6VLOUmEyAQJhPidQQQQAABBBBAAAEEEEAgRwUIhDk6sHQLAQQQQCDAAkwVBHjwaDoC6QkwBZ+eG3tlLkAgzNyQEhBAAAEEEMgTAS6CmicDTTcRQCCPBAiEeTTYdBUBBBBAIDgCTBIGZ6xoKQIIIBBkAQJhkEePtiOAAAIIIJBVAS6CmlVuKkMAAQSyIEAgzAIyVSCAAAIIIJCSALkrJS42RgABBBBIX4BAmL4deyKAAAIIIIAAAggggAACgRb4fwg1Fz1KpMXTAAAAAElFTkSuQmCC

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

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

OL7rMHbPU9wAAAABJRU5ErkJggg==

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

sudo smbpasswd -a sec1

9yaoiYCXk5hNuUEeTCUPmwMTHVDe6TR0IIIAAAskQIBAmQ5UyEUAAAQRCCsQ2t5VoTDMf6lYWxt0sfKkpcSEp6b10FgitUTBxnUv0YFAeAggggECKBQiEKR4AqkcAAQSyQyDklUhTOm1odQ9574p4BibpmTBM44xgWyXemsie0Y4Hln0RQAABBBItUD3RBVIeAggggAACEQUCAlNCJ+giVp5GG1gDnpPnVboWoBqQydNIgaYigAACCCRRgBnCJOJSNAIIIICArUDIiJKqybWMGauAmUByYMaMLB1BAAEEkiLADGFSWCkUAQQQQCAageAFpZz0Fo2ff9sANKJgDIbsggACCGSdAIEw64acDiOAAAJeFQgOMMRCJ2PF0lAnSmyDAAIIIBBagEDIkYEAAggg4DWBkMmQcBgwTMEgrLb12pFMexBAAIE0ECAQpsEg0UQEEEAgWwXMhGNGROtsWPZcisbMftZLiAbjZOthQr8RQAABBOIQIBDGgceuCCCAAAJuC4Q8Ly7wTgtuNyrx9YXrkdF9ZgITL06JCCCAQNYKEAizdujpOAIIIJDuAtkTjUiA6X6s0n4EEEDAuwIEQu+ODS1DAAEEEHAmkHnzZpnXI2cjyVYIIIAAAq4LEAhdJ6dCBBBAAAFvC2TPuYneHgdahwACCCDghgCB0A1l6kAAAQQQQAABBBBAAAEEPChAIPTgoNAkBBBAAIFUCqTPuYnMZabyOKFuBBBAIDMECISZMY70AgEEEEAgCwXSJ7pm4eDQZQQQQCBNBAiEaTJQNBMBBBBAAAEEEEAAAQQQSLQAgTDRopSHAAIIIIAAAggggAACCKSJAIEwTQaKZiKAAAIIIIAAAggggAACiRYgECZalPIQQAABBBBAAAEEEEAAgTQRIBCmyUDRTAQQQAABBBBAAAEEEEAg0QIEwkSLUh4CCCCAAAIIIIAAAgggkCYCBMI0GSiaiQACCCCAQFgBbkjIwYEAAgggEKMAgTBGOHZDAAEEEEAAAQcCCqs8EEAAAQS8K0Ag9O7Y0DIEEEAAAQScCXCHemdObIUAAgggECRAIOSgQAABBBBAAIHkCSis8kAAgWQJMAWfLNlsKpdAmE2jTV8RQAABBBBAAAEEEEAAAYsAgZDDAQEEEEAAgcwQYKogM8aRXiAQhQBT8FFgsWkYAQIhhwYCCCCAAAIIJFWAi6AmlZfCEUAAgbgECIRx8bEzAggggAACXhJgktBLo0FbEEAAgXQQIBCmwyjRRgQQQAABBNJYgIugpvHg0XQEEMh4AQJhxg8xHUQAAQQQyBIBcleWDDTdRAABBBIpQCBMpCZlIYAAAggggAACCCCAAAJpJEAgTKPBoqkIIIAAAgjYC3j58i1ebhvHFQIIIJC9AgTC7B17eo4AAgggkHECrBrNuCGlQwgggECSBQiESQameAQQQAABBBDwCRBWOQ4QQAABLwoQCL04KrQJAQQQQAABBBBAAAEEEHBB4P8BRGGZ8uymWNIAAAAASUVORK5CYII=

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

sudo nano /etc/samba/smb.conf

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

w+e5mcns55yvAAAAABJRU5ErkJggg==

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

testparam

weXxHZNpFT26gAAAABJRU5ErkJggg==

Если в выводе напротив параметра 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

h2kBAgggYIkAgdCSjqKaCCCAQCsKtE40IgG24v5NmxFAAIFGECAQNkIvUAcEEEAAgWSB5hs3a74WsQ8jgAACCFgpQCC0stuoNAIIIICAiUDrnJtoosS6CCCAAAKtIEAgbIVepo0IIIAAAggggAACCCCAQIQAgZDdAgEEEECg5QTsOTeRscyW2zlpMAIIIFBnAQJhncHZHAIIIIAAAtkF7Imu2dvEkggggAACjSRAIGyk3qAuCCCAAAIIIIAAAggggEAdBQiEdcRmUwgggAACCCCAAAIIIIBAIwkQCBupN6gLAggggAACCCCAAAIIIFBHAQJhHbHZFAIIIIAAAggggAACCCDQSAIEwkbqDeqCAAIIIIAAAggggAACCNRRgEBYR2w2hQACCCCAAAIIIIAAAgg0kgCBsJF6g7oggAACCCAQLcANCdkzEEAAAQRqIkAgrAkrhSKAAAIIINAyAhJWeSCAAAII2CpAILS156g3AggggEArCXCH+lbqbdqKAAII1FGAQFhHbDaFAAIIIIBAEwpIWOWBAAK1EmAIvlaylFsWIBCyLyCAAAIIIIAAAggggAACLSpAIGzRjqfZCCCAAAIWCjBUYGGnUWUEzAQYgjfzY+10AQJhuhFLIIAAAggggECiABdBZQdBAAEEbBUgENrac9QbAQQQQKAlBRgkbMlup9EIIIBAzQT+P1tKaV2Hc8jRAAAAAElFTkSuQmCC

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

\\192.168.189.147

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

wEXzYndBZImgwAAAABJRU5ErkJggg==

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

BzK7MkUXpMh9AAAAAElFTkSuQmCC

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

+8S7rzRDyQAAAAASUVORK5CYII=

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

wPHgkrn57vmBQAAAABJRU5ErkJggg==

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

8Tk8Bxg4uFtWoAAAAASUVORK5CYII=

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

Выводы

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

Creative Commons License
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

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

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

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

    Ответить

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