Настройка 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, выполняем синхронизацию времени с контроллером домена:
Настройка Active Directory (Windows Server 2012 R2)
В DNS зону (JAKONDA.LOCAL), добавляем A-запись файлового сервера:
Создаем служебного пользователя (прим. datastore1), с бесконечным срок действия пароля.
Создаем KEYTAB-файл (необходим для аутентификации пользователей в Active Directory). В командной строке с правами администраторы выполняем команду (соблюдая регистр):
Настройка Kerberos
Установка пакетов для поддержки аутентификации Kerberos:
Файл конфигурации Kerberos (/etc/krb5.conf), приводим к виду:
Проверка работы Kerberos, выполним авторизацию в Active Directory:
Удаляем полученный билет:
Установка и настройка Samba, Winbind
Устанавливаем необходимые пакеты:
apt - get install samba cifs - utils winbind libnss - winbind - yКонфигурационный файл Samba (/etc/samba/smb.conf) приводим к виду:
Так как в 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) описываем параметры общей папки:
Для применения изменений перечитываем конфигурацию Samba, командой:
Далее все настройку прав доступа выполняем из оснастки Управление компьютером (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 при копировании материала ссылка на источник обязательна.
Читайте также: