Настройка samba debian 9

Обновлено: 03.07.2024

Затем создаем директорию, доступ к которой будем предоставлять с помощью Samba:

Теперь создаем в samba пароль для этого пользователя:

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

Правим конфигурационный файл samba с помощью команды:

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

Далее привожу пример рабочей конфигурации. Основной блок:

[global]
workgroup = WORKGROUP
netbios name = server
server string = lan file server
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192

dns proxy = no
wide links = yes
max log size = 1000

local master = yes
os level = 254
preferred master = yes

username map = /etc/samba/smbusers
name resolve order = hosts wins bcast
wins support = yes

security = share
browseable = yes

interfaces = lo, eth1
bind interfaces only = true

Далее описываются отдельно все директории, к которым открыт доступ:

[movie]
path = /samba/movie
readonly = No
guest ok = Yes

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

[polzovatel]
path = /samba/polzovatel
comment = Polzovatel private folder
security = user
valid users = polzovatel

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

Проверить правильность конфигурационного файла можно командой:

После настройки необходимо перезапустить samba:

Проверка работоспособности samba-сервера:

Настройка IPTABLES

Если включен Iptablrs, нужно добавить правила:
-A INPUT -p tcp -m state --state NEW -m tcp --dport 137 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 138 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 139 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 445 -j ACCEPT

Samba это набор UNIX-приложений, которые умеют работать с протоколом SMB (Server Message Block). Многие операционные системы, включая Windows и OS/2 используют SMB для организации сетевого клиент-серверного взаимодействия. Благодаря поддержке этого протокола, Samba позволяет UNIX-серверам взаимодействовать с тем же сетевым протоколом, что и семейство ОС Microsoft Windows.

Пакет Samba для Debian.

Этот пакет содержит все компоненты необходимые для превращения вашего Debian-сервера в мощный файл- и принт-сервер.

В настоящий момент, пакеты Samba для Debian включают в себя:

  • samba - файл- и принт- сервер для UNIX.
  • samba-common - общие файлы Samba, используемые как сервером, так и клиентом.
  • smbclient - простой клиент для Unix.
  • swat - Samba Web Administration Tool, веб-клиент.
  • samba-doc - документация по Samba.
  • smbfs - команды монтирования и отмонтирования для smbfs (ядра версий 2.2.x и выше)
  • libpam-smbpass - подключаемый модуль авторизации для базы паролей SMB.
  • libsmbclient - разделяемая библиотека, которая позволяет приложением общаться с SMB серверами.
  • libsmbclient-dev - разделяемые библиотеки libsmbclient.
  • winbind - служба для получения информации о пользователях и группах от серверов на Windows NT.
  • python2.3-samba - модуль для python, дающий доступ к различным аспектам Samba.

Есть возможность устанавливать определенный набор из этих пакетов в зависимости от ваших запросов. На пример, чтобы получить доступ к другим SMB-серверам вам понадобятся только пакеты smbclient и samba-common.

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

Затем создаем директорию, доступ к которой будем предоставлять с помощью Samba:

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

Теперь создаем в samba пароль для этого пользователя:

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

Правим конфигурационный файл samba с помощью команды:

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

Далее привожу пример рабочей конфигурации. Основной блок:

В основном блоке указываем имя рабочей группы (WORKGROUP) и имя сервера, которое будет видно в системах клиентов, а также комментарий. Чтобы пользователи могли видеть сервер, их системы должны быть настроены на использование той же рабочей группы. socket options - параметры для улучшения производительности, можно поиграться размерами буферов, числа должны быть кратны 1024. local master - позволяет указать, является ли сервер главным в сети. security = share - позволяет включить по умолчанию доступ без пароля.

Далее описываются отдельно все директории, к которым открыт доступ:

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

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

Проверить правильность конфигурационного файла можно командой:

После настройки необходимо перезапустить samba:

Проверка работоспособности samba-сервера:

Если после тестирования оказалось, что samba работает не на столько хорошо, как хотелось бы, то попробуйте настроить nfs-сервер.

Как известно система лицензирования Microsoft штука не дешевая и поэтому рассмотрим как установить файловый сервер Samba 4.5 с интеграцией Active Directory на Debian 9 Stretch.

  • Контроллер домена (DC1) на Windows Server 2012 R2, домен JAKONDA.LOCAL
  • Система по файловый сервер (datastore1) на Debian 9 Stretch

Подготовка системы (Debian 9 Stretch)

Перед началом выполнения ниже описанных действий обновляем систему до актуального состояния:

Указываем FQDN ( Fully Qualified Domain Name) имя системы, в файле (/etc/hostname):

Так же файл (/etc/hosts) приводим к виду таким образом, чтобы в нём была запись с полным доменным именем компьютера и с коротким именем, ссылающаяся на один из внутренних IP:

Настраиваем синхронизацию времени с контроллером домена, выполняем установку NTP, выполняем синхронизацию времени с контроллером домена:


Более подробно о синхронизации времени на Debian 8 Jessie/Ubuntu Server 14.04 можно почитать в этой статье

Настройка Active Directory (Windows Server 2012 R2)

В DNS зону (JAKONDA.LOCAL), добавляем A-запись файлового сервера:


Создаем служебного пользователя (прим. datastore1), с бесконечным срок действия пароля.


Создаем KEYTAB-файл (необходим для аутентификации пользователей в Active Directory). В командной строке с правами администраторы выполняем команду (соблюдая регистр):

Настройка Kerberos

Установка пакетов для поддержки аутентификации Kerberos:


В ходе установки может появится запрос указать область по-умолчанию для Kerberos, область необходимо его указать в заглавном виде (прим. JAKONDA.LOCAL)

Файл конфигурации Kerberos (/etc/krb5.conf), приводим к виду:


Соответственно подставляем название своего домена вместо jakonda.local/JAKONDA.LOCAL

Проверка работы Kerberos, выполним авторизацию в Active Directory:

Удаляем полученный билет:

Установка и настройка Samba, Winbind

Устанавливаем необходимые пакеты:

apt - get install samba cifs - utils winbind libnss - winbind - y

Конфигурационный файл Samba (/etc/samba/smb.conf) приводим к виду:


Обращаю внимание что в параметрах realm, workgroup указываем название своего домена. Подробное описание используемых параметров можно по этой ссылке.

Так как в Linux по-умолчанию установлен лимит на 1024 одновременно открытых файлов, а в Windows он 16384, поэтому увеличим лимит в Debian до значения 16384.

В файле (/etc/security/limits.conf) дописываем в самый конец строки:

Перезагружаем систему для применения изменений:

Выполним проверку конфигурации на ошибки, командой:

Press enter to see a dump of your service definitions

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

Вывод об успешном присоединении к домену:

Теперь чтобы система использовала winbind для поиска пользователей и групп в файле (/etc/nsswitch.conf) к параметрам passwd, group добавляем параметр winbind:

Перезапускаем службы Samba и Winbind для применения изменений:

Проверим, что Winbind установил доверительные отношения с Active Directory, выполним команду:

checking the trust secret for domain JAKONDA via RPC calls succeeded

Для проверки видит ли Winbind пользователей и группы из Active Directory, выполним команды:

Если в ходе выполнения данных команд в консоль были выведены пользователи и группы из Active Directory, то это значит что Winbind работает правильно.

Так же удостоверится в корректной работе Winbind можно запросив данные по доменному пользователю (прим. ранее созданного пользователя datastore1):

uid = 14389 ( datastore1 ) gid = 10513 ( пользователи домена ) группы = 10513 ( пользователи домена ) , 14389 ( datastore1 ) , 10001 ( BUILTIN \ users )

Общие папки (Shared Folders)

Так как мы интегрируем Samba с Active Directory, то и управление правами доступа на общие папки будет гораздо удобней назначать из ОС Windows.

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

net rpc rights grant 'JAKONDA\Domain Admins' SeDiskOperatorPrivilege - U 'JAKONDA\jakonda'

Теперь можно приступать к созданию общих папок. Для примера рассмотрим создание общей папки PUBLIC.

Создаем папку и выставляем права доступа на нее:

chown "администраторы домена" : "пользователи домена" / samba / public

В файле конфигурации Samba (/etc/samba/smb.conf) описываем параметры общей папки:



Если необходимо задать наследование владельца от родительской папки для создаваемых файлов и папок, то делается это параметром: inherit owner = yes

Для применения изменений перечитываем конфигурацию Samba, командой:

Далее все настройку прав доступа выполняем из оснастки Управление компьютером (Computer Manager).




Так же через оснастку Управление компьютером (Computer Manager) удобно смотреть активные пользовательские сеансы и какие файлы открыты в общих папках. При необходимости можно завершить пользовательский сеанс или закрыть открытый файл.

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

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

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

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

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

sudo apt install samba


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

Настройки Samba находятся в файле /etc/samba/smb.conf. Этот файл содержит общие настройки для Samba, а также сведения об общих ресурсах. Обычно в Debian предоставляются неплохие настройки по умолчанию, которые позволяют начать работать немедленно, что в общем не мешает взглянуть на них и внести изменения там, где это необходимо.

1. Базовые настройки

Первое что вам встретится в верхней части группы глобальных настроек - настройка workgroup. Эта опция определяет имя рабочей группы Windows, частью которой станет ваш сервер. Значение по умолчанию - WORKGROUP, так как такое же значение, по умолчанию в задано в Windows. Если вы изменяли настройки рабочей группы в Windows, измените их также и здесь.


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

interfaces = 192.168.1.0/24 eth0

Если такой метод вам не нравится, вы можете добавить параметр hosts allow, чтобы определить, клиентов, которые могут подключаться к общему ресурсу. Укажите IP-адрес или диапазоны адресов.

hosts allow = 127.0.0.1/8 192.168.1.0/24

Остальные параметры из группы глобальных настроек имеют довольно обоснованные значения по умолчанию. Вам не потребуется изменять их для того чтобы запустить свои общие ресурсы. Но не стоит ограничиваться только рассмотренными нами опциями, вы можете исследовать и другие параметры, и настраивать их по своему усмотрению. Настройка Samba Debian 10 практически завершена, осталось создать общую папку и пользователя.

2. Создание общего ресурса

В конфигурационном файле, по умолчанию, уже присутствуют несколько настроек для общих ресурсов. Они дают вам возможность настроить совместное использование домашних папок пользователей системы и принтеров. А доступ к каталогу печати уже открыт. Измените значение параметра browseable на no.

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

Во-первых, дайте имя своему общему ресурсу, и поместите это имя в скобки.

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

comment = My new share

Затем задайте путь, эквивалентный абсолютному пути к общей папке.

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

Хотите ли вы, чтобы пользователи имели права на запись в общий ресурс или могли подключить его только для чтения?

Смогут ли гости получить доступ к общему ресурсу? В терминах Samba гости - это анонимные пользователи, для которых не существует записи в настройках доступа к общему ресурсу. Если выразиться короче, хотите ли вы защитить общий ресурс паролем, или ограничить доступ к ресурсу только для отдельных пользователей?

Если гости не будут иметь доступ к общей папке, то у кого он будет?

valid users = имя_пользователя

Ну вот и все. Есть еще и другие опции и другие способы выполнить эти базовые шаги, но они дадут вам в итоге приблизительно тот же результат. Если вы точно знаете что вам нужно, этих опций вам будет достаточно. Если соединить все что мы написали выше - у нас получится что-то вроде этого:

[New Share]
comment = A new share
path = /home/newuser/share
browseable = yes
read only = no
guest ok = no
valid users = newuser


Сохраняем и закрываем файл. Затем перезагружаем Samba.

systemctl restart smbd

3. Создание пользователя

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

smbpasswd -a имя_пользователя

После этого вам будет предложено ввести пароль для этого пользователя. Это пароль, которым будут защищены доступные ему общие ресурсы.

Как подключиться к Samba

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

sudo apt install samba-client cifs-utils

Теперь вы можете открыть файловый менеджер и перейти в раздел Сеть. Там вы увидите свой сервер, а также - общий ресурс, который вы только что настроили.



Выводы

Теперь вы знаете как выполняется установка Samba Debian 10 и готовы начать создавать собственные общие папки, а также настраивать к ним доступ с других компьютеров Linux. Ничего другого делать не нужно, и Samba автоматически запустится при загрузке Debian.

Нет похожих записей


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

Читайте также: