настройка samba для подключения к windows
Настройка Samba
Что такое Samba?
Настройка общих папок
Linux
Установка и настройка Samba-сервер для Ubuntu выполняется следующими этапами.
Обновляем информацию о репозиториях и устанавливаем обновления для существующих пакетов в системе:
apt-get update && apt-get upgrade
Устанавливаем пакет Samba:
Создадим резервную копию файла конфигурации:
cp /etc/samba/smb.conf /etc/samba/smb.conf_sample
Создадим директории для файлов, например в каталоге /media:
Важно! По умолчанию, директория /media располагается в корне системы /, для нее редко создается свой раздел. По этой причине возможно переполнение корневого раздела. Во избежание этой неприятной ситуации, рекомендуем монтировать отдельный жесткий диск в /media/samba.
Создаем каталог для всех пользователей:
Изменим права доступа к каталогу:
Также следует воспользоваться командой chown для смены владельца и/или группы.
Создаем директорию для ограниченного круга лиц:
С помощью системных инструментов создадим группу пользователей:
Добавляем пользователей Samba:
Созданных пользователей добавляем в группу:
Изменим группу, которой принадлежит приватная директория:
chgrp smbgrp /media/samba/private
С помощью инструментов Samba создадим пароль для добавленного пользователя:
С помощью текстового редактора, например, nano, редактируем конфигурационный файл samba:
Удаляем все строки из файла. Вставляем следующие:
[global]
workgroup = WORKGROUP
security = user
map to guest = bad user
wins support = no
dns proxy = no
[public]
path = /media/samba/public
guest ok = yes
force user = nobody
browsable = yes
writable = yes
[private]
path = /media/samba/private
valid users = @smbgrp
guest ok = no
browsable = yes
writable = yes
Сохраняем используя сочетание Ctrl + X, затем нажимаем Y и Enter.
Объясним значения строк. конфигурационный файл состоит из трех секций:
В секции global присутствуют пять параметров:
Настройки директорий выполняются в соответствующих секциях:
Важно! Имя директории общего доступа, отображаемое пользователям, равно имени секции в которой оно описано.
Настройка сервера Samba – создание папок и установка доступа
При работе в локальной сети часто возникает необходимость в передаче файлов между компьютерами. В таких случаях незаменимым решением станет программа Самба, которая поможет в настройке общедоступных директорий. Однако настройка Samba имеет ряд особенностей.
Настройка через терминал
Сама Samba – это программа, которая предназначена для обращения к различным сетевым интерфейсам, в том числе принтерам, с помощью особого протокола «SMB/CIFS». Состоит из серверной (работающей на Linux, MAC и других Unix-подобных OS) и клиентской части, которую можно установить даже на Windows 7, 8, 10.
Поскольку серверная часть программы предназначена для ОС Ubuntu, рассмотрим порядок ее настройки, а также затронем настройки Windows для обеспечения доступа.
Настройки Windows
Для того, чтобы программа работала корректно, нужно убедиться в том, что все компьютеры сети подключены к одинаковой рабочей группе. Обычно, в поле «Название группы» внесено значение «WORKGROUP». Чтобы определить, в какую группу входит используемый ПК, необходимо использовать командную строку:
Следует обратить внимание на пункт «Домен рабочей станции».
Настройка Виндоус окончена.
Настройка серверной части Самба
Теперь можно перейти к настройке операционной системы Samba на Ubuntu. В процессе будет использоваться консоль. Сам процесс настройки Samba Server несложен, но требует внимательности к деталям:
Также следует откорректировать файл «limits.conf»:
Результат:
Создание общих папок
Затем следует создать общие папки на сетевом файловом сервере Samba:
Найти созданную директорию на ПК с Windows можно через «Проводник» — «Сеть».
Неизменяемые папки
Если есть нужда в директории, над которой нельзя будет проводить операции редактирования – создается таковая с правами «Для чтения». Процедура идентична, за исключением некоторых параметров:
Папки с закрытым доступом
Для создания папки с аутентификацией и проверкой разрешений нужно:
Графический интерфейс System Config Samba
Установка интерфейса
Для удобства управления настройками файлового сервера Samba можно подключить графический интерфейс:
Запуск
Запустить System Config Samba из терминала:
Добавляем пользователей
Перед настройкой папок нужно создать пользователей:
Настраиваем сервер
Настройка сервера упрощается через графический интерфейс:
Создаем папки
Если папки не были созданы ранее, главное окно будет пустым. Для создания нужно провести ряд действий:
В главном окне отобразится созданная директория.
Файловый менеджер Nautilus
Также эти операции можно провести в популярном файловом менеджере Nautilus.
Установка
Прежде всего необходимо выполнить установку:
Дождаться завершения установки и перейти к настройке.
Основные настройки
Настройка Самба из Наутилуса намного упрощается, в сравнении с предыдущими способами.
Для добавления общедоступности директории нужно:
Стоит отметить, что без настройки Самбы папки могут не стать общедоступными.
Как подключиться к samba из windows
Opening Windows to a Wider World. (слоган на www.samba.org)
Samba — реализация сетевых протоколов Server Message Block (SMB) и Common Internet File System (CIFS). Основное предназначение — расшаривание файлов и принтеров между Linux и Windows системами.
Samba состоит из нескольких демонов, работающих в фоновом режиме и предоставляющих сервисы и ряд инструментов командной строки для взаимодействия со службами Windows:
Список портов, используемых Samba
Порт | Протокол | Служба | Демон | Описание |
---|---|---|---|---|
137 | UDP | netbios-ns | nmbd | служба имен NetBIOS |
138 | UDP | netbios-dgm | nmbd | служба датаграмм NetBIOS |
139 | TCP | netbios-ssn | smbd | NetBIOS over TCP (служба сеансов) |
445 | TCP | microsoft-ds | smbd | NetBIOS over TCP (служба сеансов) |
Вводная статья про основные принципы расшаривания файлов и принтеров.
Установка и настройка сервера
Скопируем файл с настройками smb.conf
По умолчанию создаются ресурсы для домашних каталогов пользователей (раздел homes в smb.conf) и принтеров (раздел printers).
Доступ к ресурсу может быть по паролю или анонимный. Для первого способа есть пара моментов:
Необходимо что-бы компьютеры принадлежали к одной рабочей группе, в Windows по умолчанию это WORKGROUP, вот её и будем использовать.
Ниже приведен пример простого файла smb.conf с настройками для анонимного доступа к директории /srv/samba/public.
Имена параметров не чувствительны к регистру. Для некоторых распространенных параметров существуют синонимы, а для некоторых – антонимы. Например, writable и writeable – это синонимы, а read only – антоним для них, т.е. опция read only = yes эквивалентна опции writable = no.
Проверим корректность настроек с помощью команды testparm
Проверим подключению к Samba на порт 139 с помощью telnet
В Samba имеется ряд параметров, связанных с аутентификацией пользователей. Наиболее важным из них является параметр security, который может принимать пять различных значений источник:
Полный список параметров Samba есть в manpages.
Выше был приведен пример с доступом для директории с общим доступом. Рассмотрим еще пример с приватной директорией, к которой доступ только по логину и паролю.
Создадим группу и добавим в нее пользователя
Создадим директорию для пользователя и установим права
Добавим в /etc/samba/smb.conf новый ресурс
Пример настройки ресурса в котором есть симлинк на папку пользователя (/srv/samba/media/video » /home/proft/video)
Просмотр общих ресурсов компьютера
Еще один способ подключения для анонимного пользователя с командной строкой
Еще лучше пароли хранить в отдельном файле
Выставим права доступа 0600
Новая строка для монтирования
И пример для /etc/fstab
Открыть ресурс в файловом менеджере Nautilus/Nemo/etc можно по такому пути smb://192.268.24.101.
Если Nemo пишет Nemo cannot handle «smb» locations. значит не хватает пакета gvfs-smb.
Доступ к серверу с Windows и Android клиента
Под Windows узнать рабочую группу с консоли можно с помощью
Открыть ресурсы на удаленной машине можно набрав в строке Explorer (Проводник) или в Run (Start — Run) UNC-адрес: 192.168.24.101.
Под Android подключится к серверу можно с помощью ES File Explorer, на вкладке Network добавляем сервер, просто по IP (без указания схемы, smb). После чего можно открывать расшаренные ресурсы. Для статистики: HDRIP-фильм идет без подтормаживания.
Cетевой обмен по протоколу SMB / SAMBA
Применение протоколов SMB / Samba позволяет осуществлять доступ с STB (работает под управлением ОС Linux) к папкам и файлам, расположенным на сетевых компьютерах (работающих под управлением ОС Linux, Windows и др.). Таким образом, пользователи STB получают возможность проигрывать на STB медиа-файлы (видео, аудио, изображения), которые расположены на сетевых компьютерах, работающих под управлением одного из типов ОС, поддерживающей протокол SMB.
Протокол SMB / Samba является прикладным протоколом (в терминах сетевой модели OSI). Для обмена данными используется транспортный протокол TCP/IP.
Протокол SMB / Samba использует архитектуру клиент – сервер: в качестве сервера выступает ПК, на котором размещаются определенные сетевые ресурсы (папки) с медиа-файлами, в качестве клиента – STB, с которого медиа-файлы проигрываются.
Сетевые ресурсы (в виде ярлыков) отображаются в STB, в меню Home media, в соответствии со стандартной сетевой LAN-архитектурой ОС Windows: Сеть / Рабочая группа / Компьютер / Папка.
По умолчанию, доступ к ресурсам компьютера закрыт настройками на стороне компьютера. При необходимости получить доступ к определенной сетевой папке, пользователь компьютера открывает доступ к этой папке. Для управления доступом к папкам используется процедура ОС Windows «Общий доступ к файлам«.
Предусмотрены два типа сетевого доступа к папкам (тип доступа определяется на стороне сервера):
Обнаружение общих сетевых ресурсов на стороне STB происходит автоматически (если это не запрещено на стороне компьютера или кроме случаев, связанных с некорректной работой сети). Соединение с сетевой папкой устанавливается, когда пользователь STB открывает сетевую папку. Если используется доступ к папке по паролю, пользователю выдается запрос указать login и password.
Также предусмотрена возможность ручного подключения сетевых папок (если они не были обнаружены автоматически). Настройка и доступ к ресурсам сети по протоколу SMB / Samba на STB проводится в меню Home media.
Ниже рассмотрен пример, как подключить сетевую папку ПК с ОС Windows 10 для воспроизведения медиа-файлов с STB.
Параметры, используемые в примере
Компьютер (файловый сервер):
Примечание! Не рекомендуется использовать в «Имени компьютера» и «Рабочей группы» символы кириллицы.
Настройка соединения на стороне ПК
Проверка доступности сетевого соединения между ПК и STB
Перед настройкой соединения убедитесь в доступности сетевого соединения между ПК и STB – пошлите ICMP Echo Requests ( PING) с ПК на STB.
Проверка включения протокола SMB
Настройка параметров общего доступа для различных профилей Windows
1. Открыть Панель управления ⇒ Все элементы панели управления ⇒ Центр управления сетями и общим доступом.
2. В левой панели выбрать пункт Изменить дополнительные параметры общего доступа.
2. Настроить параметры общего доступа для трех профилей (‘Частная’, ‘Гостевая или общедоступная’ и ‘Все сети’):
Частная
Гостевая или общедоступная
Все сети
Открытие доступа к папке на стороне ПК
1. Откройте доступ к папке Video_E1: Свойства ⇒ Доступ ⇒ Общий доступ.
2. В открывшемся окне Общий доступ к файлам выберите и добавьте пользователей для доступа к папке:
2.1 Для организации доступ к папке по паролю (используется пароль пользователя ПК), выберете и добавьте необходимых пользователей (в примере — рассмотрен доступ для текущего пользователя Usr). В этом случае при попытке открыть папку со стороны STB будут запрошены логин (имя пользователя компьютера) и пароль (пароль пользователя компьютера).
Учтите. Необходимо использовать определенное значение пароля учетной записи пользователя. Отсутствие пароля (пустой пароль) приведет к невозможности доступа к папке!
3. Выбрать уровень разрешений (чтение/запись) для пользователей и открыть доступ нажатием кнопки «Поделиться».
Ниже на рисунке приведен вариант настройки предоставления беспарольного доступа к папке Video_E1 (для всех сетевых пользователей).
Автоматическое соединение с сетевой папкой со стороны STB
2. В папке WORKGROUP отображаются сетевые компьютеры рабочей группы.
Откройте ярлык необходимого сетевого компьютера — My_Computer (в разделе My_Computer отображаются папки одноименного сетевого компьютера, для которых открыт доступ).
3. Чтобы убедиться, что автоматическое определение сетевого ресурса состоялось и проверить тип протокола необходимо выделить папку и воспользоваться кнопкой «i» (INFO) на ПДУ:
4. Открыть папку Video_E1. Внутри папки пройти по пути, по которому находится медиа-файл, который необходимо воспроизвести.
5. Если для папки установлен доступ по паролю, либо по каким-либо причинам STB не может «примонтировать» папку (то есть получить к ней доступ — см. раздел Проблемы получения доступа к сетевым ресурсам), то при попытке открыть данную папку открывается окно Network connection.
Для авторизации необходимо выбрать ОК — открывается окно Authorization, в котором следует ввести параметры доступа к папке: Login и Password.
6. Запустить медиа-файл.
Принудительное установление соединения к сетевой папке со стороны STB
Отключение сетевой папки, изменение настроек соединения на STB
Для принудительного отключения определенной сетевой папки используйте для этой папки команду Отключить NFS/SMB.
В случае необходимости внести изменения в настройку соединения определенной папки (например, при изменении параметров доступа к папке на стороне ПК), используйте для этой папки команду Редактировать (англ. Edit share).
Монтирование папки
Установление соединения к определенной папке, описанное в подразделах Соединение с сетевой папкой на стороне STB и Принудительное установление соединения к сетевой папке, сопровождается автоматическим монтированием папки на STB. Если определенная папка «примонтирована» на STB, ее ярлык появляется на верхнем уровне меню Home media.
Пользователь также может монтировать необходимую папку вручную (это также ведет к соединению с папкой ), для этой цели используется команда Подключить ресурс (англ. Mount share).
Проблемы получения доступа к сетевым ресурсам
1. Выполните следующие действия:
2. Если при открытии сетевой папки на STB предлагается выполнить авторизацию, но для папки доступ по паролю не назначался:
3. Если при открытии папки на STB предлагается выполнить авторизацию (ввести логин, пароль), но значение пароля не задано (пустой пароль):
4. Если файл не открывается:
В инструкции описан процесс настройки общего файлового сервера для всех пользователей локальной или виртуальной сети с операционными системами Linux и Windows.
Что это такое?
Файловый сервер работает по протоколу SMB/CIFS и позволяет предоставить доступ к общим ресурсам в локальной сети, например, текстовым файлам или сетевым принтерам. Для его развертывания на Windows используются штатные средства ОС, на Linux используется файловый сервер Samba.
В инструкции рассмотрена настройка файлового сервера на серверах с операционными системами Linux и Windows. На сервере будет находиться 2 каталога — публичный и приватный. К файловому серверу подключение будет происходить как с операционной системы Windows, так и с Linux, т.к. в виртуальной или физической локальной сети могут находиться серверы с разными ОС.
Создание и настройка частной сети
Для начала в панели управления должны быть созданы все необходимые для сети серверы.
После создания необходимо объединить все машины в единую локальную сеть через панель управления в разделе Сети. В результате серверы получат локальные IP-адреса.
После создания частной сети необходимо настроить сетевые адаптеры на каждом сервере. Об этом можно прочитать в наших инструкциях:
Настройка файлового сервера
Прежде всего, необходимо определиться, на сервере с какой операционной системой будет находиться общий каталог.
Настройка файлового сервера на Linux (Debian/Ubuntu)
Для развертывания файлового сервера на системах Linux используется инструмент SAMBA. Ниже перечислены действия по его установке и настройке.
Прежде всего следует обновить локальную базу пакетов:
Далее установите пакеты из главного репозитория:
Создайте резервную копию файла конфигурации Samba:
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
Создайте или выберете директорию, к которой все пользователи будут иметь общий доступ:
Перейдите к этому каталогу и измените режим доступа и владельца:
Создайте или выберете каталог, к которому иметь доступ будут ограниченное число пользователей:
Создайте группу пользователей, которые будут иметь доступ к приватным данным:
Создайте нужных пользователей с помощью команды useradd:
Добавьте созданных пользователей в группу:
Измените группу, которой принадлежит приватная директория:
chgrp smbgrp /samba/private
Задайте пароль, с помощью которого пользователь будет подключаться к каталогу:
Откройте файл конфигурации на редактирование с помощью текстового редактора, например nano:
Замените содержимое файла на следующие строки:
[global]
workgroup = WORKGROUP
security = user
map to guest = bad user
wins support = no
dns proxy = no
[public]
path = /samba/public
guest ok = yes
force user = nobody
browsable = yes
writable = yes
[private]
path = /samba/private
val > guest ok = no
browsable = yes
writable = yes
Сохраните внесенные изменения, нажав CTRL+X, затем Enter и Y.
Значения параметров выше:
Проверить настройки в smb.conf можно с помощью команды:
Чтобы изменения вступили в силу, перезапустите сервис:
service smbd restart
Далее нужно настроить firewall, открыв порты, которые использует SAMBA. Настоятельно рекомендуем разрешить только подключения из локального диапазона IP-адресов или виртуальной частной сети. Адресное пространство вашей частной сети вы можете увидеть в панели управления 1cloud.
Замените значение параметра –s в правилах ниже для соответствия адресному пространству вашей частной сети. Как правило префикс сети /24, если вы явно не подразумеваете иного:
Теперь необходимо сделать так, чтобы указанные выше правила фаервола iptables были сохранены после перезагрузки машины. Для это установим пакет iptables-persistent:
apt-get install iptables-persistent
После установки откроется окно с предложением последовать запомнить текущие правила iptables для IPv4 и IPv6. Подтвердите это действие.
Проверить актуальные правила iptables можно командой:
В выводе команды вы должны увидеть ранее добавленные разрешающие политики (Accept).
Настройка общего публичного каталога на Windows
Для общего доступа к файлам по сети в Windows используются стандартные средства ОС.
Далее, чтобы настроить общий доступ к каталогу на Windows необходимо создать или выбрать нужный и открыть его свойства. В свойствах перейдите во вкладку Доступ (Sharing) и нажмите Расширенная настройка (Advanced Sharing).
В открывшемся окне отметьте галочкой Открыть общий доступ к этой папке (Share this folder), для того чтобы она стала общедоступной. В поле Имя общего ресурса (Share name) введите имя, которое будет видно всем пользователям. Далее нажмите Разрешения (Permissions) для настройки прав доступа.
Выберете нужные права доступа для всех пользователей (Everyone). Нажмите Применить (Apply), чтобы изменения вступили в силу.
Теперь в свойствах каталога нажмите Общий доступ (Share).
В поле поиска введите Все пользователи (Everyone) и нажмите Добавить (Add). Для полного доступа выберете права Read/Write и нажмите Поделиться (Share).
Теперь ваш каталог Windows доступен всем пользователям локальной сети без пароля.
Настройка общего приватного каталога на Windows
Для настройки общего каталога, который будет доступен только определенным пользователям, необходимо, чтобы данные пользователи существовали на сервере с общей папкой и на Windows машине с которой будет происходить подключение (наличие пользователя на Linux сервере не требуется), причем логин и пароль пользователей должны полностью совпадать. О том как создать нового пользователя читайте в нашей инструкции.
Далее, чтобы настроить общий доступ к каталогу на Windows необходимо создать или выбрать нужный и открыть его свойства. В свойствах перейдите во вкладку Доступ (Sharing) и нажмите Расширенная настройка (Advanced Sharing).
Так как каталог будет доступен только определенным пользователям, необходимо удалить группу Все пользователи (Everyone) с помощью кнопки Удалить (Remove).
Далее с помощью кнопки Добавить (Add) добавьте пользователей для управления каталогом.
Введите имя и нажмите Проверить имена (Check Names), выберете полное имя пользователя и нажмите OK.
Установите нужные права и нажмите Применить (Apply).
Теперь в свойствах каталога нажмите Поделиться (Share).
В поле поиска введите имя пользователя и нажмите Добавить (Add). Для полного доступа выберете права Чтение/Запись (Read/Write) и нажмите Поделиться (Share).
В итоге каталог стает общедоступным для определенных пользователей.
Подключение к общему каталогу с помощью Linux
Чтобы подключиться к общему каталогу, необходимо установить клиент для подключения:
sudo apt-get install smbclient
Для подключения используйте следующий формат команды:
Также можно выполнить монтирование общего каталога, для этого установите дополнительный пакет утилит:
sudo apt-get install cifs-utils
Для монтирования используйте следующий формат команды:
Где — адрес машины, на которой расположена общая директория, а — путь до общей директории.
Если общий каталог находится на Windows Server?
Если общий каталог находится на сервере с операционной системой Windows, то для публичного каталога используйте имя пользователя Everyone, а в качестве пароля просто нажмите Enter. Например:
Для приватного каталога используйте имя пользователя и пароль, которому разрешен доступ.
Если общий каталог находится на Linux?
Если общий каталог находится на сервере с операционной системой Linux, то для публичного каталога используйте имя пользователя nobody, а в качестве пароля просто нажмите Enter. Например:
Для приватного каталога используйте имя пользователя и пароль, которому разрешен доступ.
Подключение к общему каталогу с помощью Windows
Для подключения используйте Проводник Windows, в адресную строку введите строку в следующем формате:
Если общий каталог находится на Windows Server?
Если вы подключаетесь к приватному каталогу, то он откроется автоматически, а если подключаетесь к публичному, то перед вами вами появится окно для ввода данных для входа. Введите логин Everyone и пустой пароль, нажмите OK. В результате вы будете подключены к общему каталогу.
Если общий каталог находится на Linux?
Для подключения к публичной папке не требуется вводить логин или пароль, достаточно в адресную строку ввести нужный ip-адрес без ввода дополнительной информации. Для подключения к приватному каталогу введите логин и пароль пользователя в появившееся окно.