Установка и настройка Samba сервера и клиентов
Samba — это приложение сетевого протокола SMB, используемого для подключения принтеров, службы директорий в доменных сетях и создания мультиплатформенных общих ресурсов. В данном руководстве мы рассмотрим установку и настройку Samba-сервера, который позволит создавать различные сетевые хранилища и общие ресурсы.
Установка Samba
Samba легко устанавливается из менеджера пакетов, но перед установкой нового пакета нужно выполнить обновление. Воспользуйтесь следующими командами (здесь и далее приводятся примеры для Ubuntu 16.04):
$sudo apt-get update (обновление) $sudo apt-get install samba (запуск и установка сервера Samba)
Служба NetBios для Samba (nmbd) в наших примерах не требуется, поэтому в целях безопасности вы легко можете отключить ее командами:
$sudo systemctl stop nmbd.service $sudo systemctl disable nmbd.service
Установка глобальных опций Samba
Параметры конфигурации Samba хранятся в файле /etc/samba/smb.conf. В нем есть два раздела, global и shares. В разделе global прописаны параметры самого сервера (имя сервера, его тип, интерфейсы и другие сетевые настройки), а в разделе shares — параметры ресурсов.
Сетевые технологии с Дмитрием Бачило: FTP, SMB, NFS
Вместо редактирования файла создадим новый. Предварительно сохранив оригинал:
$sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.orig $sudo vi /etc/samba/smb.conf
Внесем в наш новый файл /etc/samba/smb.conf следующий код
[global] server string = samba_server server role = standalone server interfaces = lo ваш_сетевой_интерфейс bind interfaces only = yes disable netbios = yes smb ports = 445 log file = /var/log/samba/smb.log max log size = 10000
Рассмотрим значение этих параметров.
server string: информация, передаваемая во время подключения. Можно использовать любое имя для идентификации сервера. Далее будут рассмотрены названия для ресурсов Samba.
server role: тип создаваемого Samba-сервера. В данном примере используется выделенный сервер (standalone). Другие типы — член домена и контроллер домена.
interfaces: сетевые интерфейсы, к которым привязан сервер. Здесь указан “lo”, loopback-интерфейс. Кроме него нужно указать внешний интерфейс, обычно это eth0.
bind onterface only: гарантирует, что сервер Samba будет привязан только к тем интерфейсам, которые указаны в строке interfaces, и будет игнорировать пакеты с других интерфейсов.
disable netbios: отключает на сервере все функции NetBios, чтобы немного облегчить процесс разрешения имени сервера и разгрузить трафик.
smb ports: номер порта, на котором будет работать сервер. По умолчанию Samba использует порт 445.
log file: имя и месторасположение файла лога Samba.
max log size: максимальный размер файла лога. Рекомендуется указывать его настолько большим, насколько позволяют ресурсы стстемы. Если размер будет превышен, будет создан новый файл, а предыдущий файл будет перемещен в дубликат с расширением .old. При повторном превышении первый файл с расширением .old будет удалён. Данный параметр помогает предотвратить заполнение диска.
Зачем нужна настройка DLNA на Андроид ТВ приставке
Если нужны более подробные логи, можно воспользоваться командой:
log level = 3 passdb:5 auth:5
Уровень лога 3 означает, что сохраняется более детальная информация, чем при стандартном ведении лога. Стандартный уровень — 1, максимальный — 5. Здесь он установлен для параметров passdb и auth, чтобы получать более подробную информацию об аутентификации пользователей. После определения параметров ведения лога сохраните и закройте файл. При необходимости файл smb.conf нужно протестировать на синтаксические ошибки при помощи утилиты Samba testparm:
$testparm
Будет выведен следующий результат:
После нажатия на клавишу Enter будут выведены глобальные параметры:
Если в результате выводится “Load services files OK”, значит, в файле нет ошибок и сервер можно запускать.
Теперь нужно настроить конфигурацию ресурсов. Ресурс состоит из двух элементов, пользователя и директории, которые необходимо создать для обеспечения возможности подключения и тестирования.
Создание пользователей Samba
В данном разделе мы создадим профили пользователей, которые смогут осуществлять доступ к серверу. Им потребуется доступ как пользователям Samba и как пользователям системы, чтобы при входе в систему они проходили аутентификацию на сервере Samba и могли осуществлять чтение и запись в файловой системе.
Помимо обычных пользователей нужно создать администратора, у которого будет возможность доступа к персональным ресурсам и их администрирования. Также администратор будет владеть общими ресурсами, доступ к которым разрешен всем.
Для каждого пользователя нужно создать домашнюю директорию. Вместо использования стандартной директории /home/user лучше создать пероснальную директорию в /samba/ для разделения данных и более удобного резервного копирования. Сначала создадим группу sambashare, директорию для хранения данных samba и назначим ее владельцем группу sambashare
$ groupadd sambashare $sudo mkdir /samba/ $sudo chown :sambashare /samba/
Затем нужно создать директорию пользователя (в примере мы рассмотрим создание пользователя ivan, для нескольких пользователей создание будет аналогичным): Добавим системного пользователя:
$sudo adduser —home /samba/ivan —no-create-home —shell /usr/sbin/nologin —ingroup sambashare ivan
В команде используются параметры:
—home: месторасположение домашней директории пользователя.
—no-create-home: указывает команде adduser не создавать домашнюю директорию, чтобы не заполнять ее ненужными файлами конфигурации.
—shell: определяет, какая оболочка будет использоваться при входе через SSH. В данном примере SSH не используется, поэтому значение /usr/sbin/nologin отключает вход через SSH.
—ingroup sambashare: внесение пользователя в группу sambashare, чтобы обеспечить ему возможность чтения и записи для своего ресурса и общих ресурсов.
Более подробно про создание пользователей и групп можно прочитать в этой статье
После запуска команды потребуется создать пароль.
Теперь нужно установить владельца и права доступа к директории:
$sudo chown ivan:sambashare /samba/ivan/ $sudo chmod 2770 /samba/ivan/
Права доступа 2770 означают, что новые файлы или директории, созданные в /samba/david/, будут наследовать группу владельцев от родительской директории, а не от группы пользователей, которая их создала. Например, если администратор создаст новую директорию в ресурсе пользователя ivan, то ivan будет иметь к ней доступ на чтение и запись.
Далее командой smbpasswd необходимо добавить пользователя на сервере Samba (флаг -a) и активировать его (флаг -e):
$sudo smbpasswd -a ivan
Вам потребуется ввести пароль для доступа к ресурсу samba, он может отличаться от системного пароля.
$sudo smbpasswd -e ivan
Другие пользователи создаются аналогичным образом. Для создания пользователя admin нужно выполнить следующие команды, его домашней директорией будет everyone:
$sudo mkdir /samba/everyone $sudo adduser —home /samba/everyone —no-create-home —shell /usr/sbin/nologin —ingroup sambashare admin $sudo chown admin:sambashare /samba/everyone/ $sudo chmod 2770 /samba/everyone/ $sudo smbpasswd -a admin $sudo smbpasswd -e admin
Для удобства можно также создать группу администраторов, это позволит не прописывать права доступа ко всем ресурсам при изменении администратора, а один раз прописать их для группы и в дальнейшем добавлять и удалять администраторов одной командой:
$sudo groupadd admins $sudo usermod -G admins admin
Настройка системы завершена, теперь нужно настроить ресурсы.
Настройка общих ресурсов Samba
У каждого ресурса есть свой раздел в файле конфигурации /etc/samba/smb.conf. Разделы ресурсов расположены после глобальных параметров и имеют следующий вид
[имя_ресурса] path = browseable = read only = force create mode = force directory mode = valid users =
Для настройки конфигурации ресурса нужно в любом текстовом редакторе добавить в файл конфигурации блоки следующего вида для каждого пользователя:
Для ресурса everyone блок будет выглядеть следующим образом:
Все пользователи будут иметь доступ на чтение и запись, так как были добавлены в группу sambashare при создании. Теперь нужно протестировать параметры
$testparm
Если все настроено корректно, результат будет следующим:
После проверки конфигурации запустим сервер и добавим его в автозагрузку командой systemctl:
$sudo systemctl start smbd.service $sudo systemctl enable smbd.service
Сервер работает и готов принимать пользователей.
Настройка клиентов Samba
Для доступа к ресурсам из командной строки в Linux используется утилита smbclient. В большинстве дистрибутивов она не установлена по умолчанию, если нет то нужно воспользоваться менеджером пакетов:
$sudo apt-get install smbclient
В некоторых дистрибутивах может потребоваться создать файл /etc/samba/smb.conf, так как при его отсутствии будет выводиться сообщение об ошибке. Для доступа к ресурсу нужно выполнить следующую команду:
$smbclient //имя_или_адрес_сервера/ресурс -U пользователь
Например, для доступа к ресурсу ivan на сервере samba.example.com нужно ввести:
$smbclient //samba.example.com/ivan -U ivan
Далее потребуется ввести пароль, после чего появится интерфейс командной строки, похожий на интерфейс FTP:
Например, можно создать директорию:
smb: > mkdir test smb: > ls
Доступ из командной строки используется в основном для тестирования, на практике доступ чаще всего осуществляется из графических оболочек, например, KDE. Возможен также доступ из других платформ (Windows, MacOS).
Например для доступа с windows наберите в строке поиска \samba.example.comivan. И введите логин пароль
После чего вы сможете получить доступ к сетевым ресурсам.
Заключение
При помощи Samba мы создали мультиплатформенные сетевые ресурсы и протестировали доступ к ним. Ресурсы Samba очень распространены и могут использоваться различными приложениями. Например, VLC Player может проигрывать музыку и видео из ваших ресурсов Samba, а утилита резервного копирования BackupPC — записывать туда резервные копии.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Похожие посты:
- Как увеличить раздел LVM
- Устранение неполадок SSH – ошибки работы протокола
Источник: itproffi.ru
Введение в Samba для компьютерных сетей
Samba – это технология клиент/сервер, которая обеспечивает совместное использование сетевых ресурсов между операционными системами. С Samba файлы и принтеры могут совместно использоваться клиентами Windows, Mac и Linux/UNIX.
Основные функциональные возможности Samba основаны на реализации протокола SMB. Поддержка SMB на стороне клиента и сервера поставляется со всеми современными версиями Microsoft Windows, дистрибутивов Linux и Apple Mac OSX. Бесплатное открытое программное обеспечение также можно получить на samba.org. Из-за технических различий между этими операционными системами технология довольно сложна.
Что Самба может сделать для вас
Самба может быть использована несколькими различными способами. Например, в интрасети или других частных сетях приложения Samba могут передавать файлы между сервером Linux и клиентами Windows или Mac (или наоборот). Любой, кто использует веб-серверы под управлением Apache и Linux, может использовать Samba вместо FTP для удаленного управления контентом веб-сайта. Помимо простой передачи, клиенты SMB также могут выполнять удаленные обновления файлов.
Как использовать Samba с клиентов Windows и Linux
Пользователи Windows часто подключают диски для обмена файлами между компьютерами. Когда службы Samba работают на сервере Linux или Unix, пользователи Windows могут использовать те же возможности для доступа к этим файлам или принтерам. Доступ к общим ресурсам Unix можно получить с клиентов Windows через браузеры операционной системы, такие как Проводник Windows , Сетевое окружение и Internet Explorer .
Обмен данными в обратном направлении работает аналогично. Программа Unix smbclient поддерживает просмотр и подключение к общим ресурсам Windows. Например, чтобы подключиться к C $ на компьютере Windows с именем louiswu, введите в командной строке Unix следующую команду
smbclient \\ louiswu \ c $ -U username
где имя пользователя – это действительное имя учетной записи Windows NT. (Samba предложит ввести пароль учетной записи, если это необходимо.)
Samba использует пути UNC для обозначения сетевых узлов. Поскольку командные оболочки Unix обычно интерпретируют символы обратной косой черты особым образом, при работе с Samba не забывайте вводить повторные символы обратной косой черты, как показано выше.
Как использовать Samba от клиентов Apple Mac
Параметр Общий доступ к файлам на панели «Общий доступ» в Системных настройках Mac позволяет найти Windows и другие клиенты Samba. Mac OSX автоматически сначала пытается связаться с этими клиентами через SMB и использует альтернативные протоколы, если Samba не работает.
Требования к настройке Samba
В Microsoft Windows службы SMB встроены в службы операционной системы. Сетевая служба Сервер (доступная через Панель управления/Сеть, вкладка Службы) обеспечивает поддержку сервера SMB, а сетевая служба Рабочая станция обеспечивает поддержку клиентов SMB. Обратите внимание, что SMB также требуется TCP/IP для того, чтобы функционировать.
На сервере Unix два демонических процесса, smbd и nmbd, предоставляют все функциональные возможности Samba. Чтобы определить, работает ли Samba в данный момент, введите в командной строке Unix
ps ax | grep mbd | подробнее
и убедитесь, что smbd и nmbd присутствуют в списке процессов.
Запускать и останавливать демоны Samba обычным способом Unix:
/etc/rc.d/init.d/smb start
/etc/rc.d/init.d/smb stop
Samba поддерживает файл конфигурации smb.conf. Модель Samba для настройки таких деталей, как имена общих ресурсов, пути к каталогам, управление доступом и ведение журнала, включает в себя редактирование этого текстового файла и затем перезапуск демонов. Минимальный файл smd.conf (достаточный для просмотра сервера Unix в сети) выглядит следующим образом
; Минимальный /etc/smd.conf
[global]
гостевой аккаунт = netguest
рабочая группа = NETGROUP
Некоторые Gotchas для рассмотрения
Samba поддерживает возможность шифрования паролей, но в некоторых случаях эту функцию можно отключить. При работе с компьютерами, подключенными по небезопасным сетям, следует понимать, что пароли в виде простого текста, предоставляемые при использовании smbclient, могут быть легко обнаружены с помощью сетевого анализатора.
Проблемы искажения имен могут возникать при передаче файлов между компьютерами Unix и Windows. В частности, имена файлов, которые в смешанном регистре в файловой системе Windows могут стать именами в нижнем регистре при копировании в систему Unix. Очень длинные имена файлов также могут быть сокращены до более коротких имен в зависимости от используемых файловых систем (например, старая Windows FAT).
Системы Unix и Windows по-разному реализуют соглашение end-of-line (EOL) для текстовых файлов ASCII. Windows использует двухсимвольную последовательность возврата каретки/перевода строки (CRLF), тогда как Unix использует только один символ (LF).В отличие от пакета Unix mtools, Samba не выполняет преобразование EOL во время передачи файла. Текстовые файлы Unix (например, HTML-страницы) отображаются в виде одной очень длинной одной строки текста при передаче на компьютер Windows с Samba.
Заключение
Технология Samba существует уже более 20 лет и продолжает развиваться с помощью регулярно выпускаемых новых версий. Очень немногие программные приложения имеют такой долгий срок полезного использования. Отказоустойчивость Samba свидетельствует о его роли в качестве важной технологии при работе в гетерогенных сетях, включающих серверы Linux или Unix. Хотя Samba никогда не будет основной технологией, которую должен понимать средний потребитель, знание SMB и Samba полезно для профессионалов в области ИТ и бизнес-сетей.
Источник: solutics.ru
Настройка Samba
Пожалуй нет ни одного офиса, в котором не применялись бы общие ресурсы локальной сети, будь то папки или принтеры. Крупные и средние компании используют возможности Active Directory, компании поменьше — используют штатные средства ОС Windows или Samba, но на серверах под управлением ОС Linux. Рассмотрим все случаи.
Как настроить Samba?
- Что такое Samba?
- Как настроить общую папку
- Как настроить общую папку в Linux
- Как настроить общую папку в Windows
- Как подключиться к общей папке
- Как подключиться к общей папке Linux
- Как подключиться к общей папке Windows
- Как создать общий сетевой ресурс в Samba
Что такое Samba?
Samba — серверное приложение, реализующее доступ клиентских терминалов к папкам, принтерам и дискам про протоколу SMB/CIFS.
Настройка общих папок
Linux
Установка и настройка Samba-сервер для Ubuntu выполняется следующими этапами.
Обновляем информацию о репозиториях и устанавливаем обновления для существующих пакетов в системе:
apt-get update apt-get upgrade
Устанавливаем пакет Samba:
apt-get install -y samba samba-client
Создадим резервную копию файла конфигурации:
cp /etc/samba/smb.conf /etc/samba/smb.conf_sample
Создадим директории для файлов, например в каталоге /media:
Важно! По умолчанию, директория /media располагается в корне системы /, для нее редко создается свой раздел. По этой причине возможно переполнение корневого раздела. Во избежание этой неприятной ситуации, рекомендуем монтировать отдельный жесткий диск в /media/samba.
Создаем каталог для всех пользователей:
Изменим права доступа к каталогу:
chmod -R 0755 /media/samba/public
Также следует воспользоваться командой chown для смены владельца и/или группы.
Создаем директорию для ограниченного круга лиц:
С помощью системных инструментов создадим группу пользователей:
Добавляем пользователей Samba:
Созданных пользователей добавляем в группу:
usermod -aG smbgrp user1
Изменим группу, которой принадлежит приватная директория:
chgrp smbgrp /media/samba/private
С помощью инструментов Samba создадим пароль для добавленного пользователя:
smbpasswd -a user1
С помощью текстового редактора, например, nano, редактируем конфигурационный файл samba:
Удаляем все строки из файла. Вставляем следующие:
Сохраняем используя сочетание Ctrl + X, затем нажимаем Y и Enter.
Объясним значения строк. конфигурационный файл состоит из трех секций:
global — данная секция отвечает за общие настройки Samba-сервера;
Сохраняем изменения.
После всех действий перезапустите сетевые службы сервера, чтобы изменения вступили в силу:
service network restart
Для проверки корректности работы выполните команду ping до другого сервера в частной или публичной сети:
Для сетевых интерфейсов Windows настройка будет проводиться по следующей схеме:
- подключаемся к виртуальному серверу по RDP и открываем Network and Sharing Center. Для этого на рабочем столе Windows выбираем и открываем настройки сетевых подключений. В появившемся окне выбираем требуемый интерфейс, не имеющий доступа к сети. Для проверки состояния этого интерфейса откроем его детализацию (кнопка Details). Затем сравниваем значение поля Physical Address со информацией поля MAC в панели управления;
- если при создании сети в панели была активирована опция DHСP, то сетевой адаптер настроится автоматически. Уточнить состояние этой опции можно через свойства сети в панели управления;
- если опция DHCP при создании сети активирована не была, настраивать сеть понадобится вручную. Для этого свойства адаптера открываются через клавишу Properties (выбирается соединение IPv4 и нажимается Properties), затем в появившемся окне в поле IP-address вводится выданный адрес, а в поле Subnet mask – маска подсети. Все значения можно найти в панели в настройках сервера (раздел Сети) или в меню Сеть. После этого все изменения обязательно сохраняются.
Для проверки настроек сетевого адаптера выполняем команду:
Чтобы проверить Windows Server 2016, пинг проводится на другой локальный сервер.
Настройка общей папки в Linux и Windows
Linux
Установка и настройка Samba-сервер для Linux состоит из следующих этапов:
1.Обновления информации о репозиториях и для существующих пакетов в системе:
apt-get update apt-get upgrade
2.Установки пакета Samba:
apt-get install -y samba samba-client
3.Создания резервной копии файла конфигурации:
cp /etc/samba/smb.conf /etc/samba/smb.conf_sample
4.Создания директории для файлов, так чтобы все пользователи имели к ней доступ:
mkdir -p /samba/public
5.Создания каталога для всех пользователей:
6.Изменения прав доступа к каталогу:
cd /samba
chmod -R 0755 public
Важно! Для смены владельца и/или группы пользуемся командой chown
7.Создания директории для ограниченного круга лиц
8.Создания групп пользователей с применением системных инструментов:
9.Добавления пользователей Samba:
10.Внесения созданных пользователей в группу:
chgrp smbgrp /samba/private
11.Изменения группы, к которой относится приватная директория:
chgrp smbgrp /samba/private
12.Создания с помощью инструментов Samba пароля для добавленного пользователя:
smbpasswd -a user1
13.Редактирования конфигурационного файла samba с помощью текстового редактора:
текстовый редактор /etc/samba/smb.conf
Все строки из файла удаляются, а вместо них вставляются следующие:
Сохранения введенных строк с использованием комбинации клавиш Ctrl + X, затем с нажатием Y и Enter.
Названия строк при этом обозначают:
- наименование одной из трех секций конфигурационного файла: global – данная секция отвечает за общие настройки Samba-сервера; public и private – секции, описывающие настройки директорий общего доступа;
- пять параметров в секции global: workgroup – наименование рабочей группы, security – уровень безопасности сервера с авторизацией по паре логин/пароль при значении user, map to guest — способ обработки запросов с отклонением неправильного пароля даже для существующего пользователя (значение bad user), wins support – включение/выключение поддержки WINS, dns proxy – обеспечение проксирования запросов к DNS;
- настройки директорий в секциях: path – полный путь до директории на жестком диске, guest ok – возможность доступа к каталогу без пароля (гостевой), force user – пользователь, ведущий работу с каталогом (для безопасности сервера используется значение nobody) , browsable — демонстрация конкретного каталога на сервере; writable – право пользователя при значении “yes” переименовывать, добавлять, удалять, редактировать файлы и перемещать их в каталоги; valid users – список пользователей с предоставленным доступом к каталогу.
14.Проверку настроек проводим командой:
15.Выполняем перезапуск сервера:
service smbd restart
service nmbd restart
Для настройки межсетевого экрана нужно открыть в правилах TCP-порты 139 и 445, а также UDP-порты 137 и 138 (для подсетей с высоким уровнем доверия). Если нужно указать собственный диапазон адресов, значение после ключа “-s” заменяется:
iptables -A INPUT -p tcp -m tcp —dport 445 -s 10.0.0.0/24 -j ACCEPT
iptables -A INPUT -p tcp -m tcp —dport 139 -s 10.0.0.0/24 -j ACCEPT
iptables -A INPUT -p udp -m udp —dport 137 -s 10.0.0.0/24 -j ACCEPT
iptables -A INPUT -p udp -m udp —dport 138 -s 10.0.0.0/24 -j ACCEPT
16.После перезагрузки сервера сохранить правила и применять их поможет пакет iptables-persistent. Для его установки вводится команда:
apt-get install iptables-persistent
Далее понадобится подтверждение запоминаний существующих правил iptables и их проверка:
Настройка общей папки в ОС Windows
Настройки общего доступа к папкам public и private в ОС Windows выполняются аналогично с Linux. Чтобы обеспечить беспарольный доступ к каталогу, настроим ограничения защиты в панели управления:
Панель управления → Сеть → Центр управления сетями и общим доступом → Расширенные настройки общего доступа
В обновленном окне надо открыть раздел “Все сети” и выбрать секцию “Общий доступ с парольной защитой”, после чего отключить этот параметр и сохранить изменения. Доступ к самому каталогу открывается так: кликом по папке правой кнопки мыши разворачивается контекстное меню, в котором выполняются действия:
Свойства → Доступ → Расширенная настройка → Открыть общий доступ к этой папке
В поле “Имя общего ресурса” указывается название, отображаемое для пользователей. После этого кликается кнопка “Разрешения”, выбирается “Все” и устанавливается “Полный доступ”, и все это подтверждается.Затем в свойствах папки public выбирается “Общий доступ”, добавляются все пользователи, делегируются права на чтение и запись, и кликаются кнопки “Поделиться” и “Готово”.
Порядок настройки папки общего доступа для ограниченного числа пользователей будет таким:
- выбираем “Свойства” папки, открываем вкладку “Доступ” и разворачиваем “Расширенные настройки”;
- в открывшемся окне выбираем опцию “Открыть общий доступ к этой папке” и нажимаем “Разрешения”;
- выбираем “Все” в поле “Группы или пользователи” и жмем “Удалить” — это закрывает анонимный доступ к папке;
- во вновь появившемся окне выполняем следующие действия: “Добавить” → “Дополнительно” → “Поиск” → выбор пользователя, которому нужно предоставить доступ к каталогу. Точно по такой же схеме можно добавить пользователей в составе группы;
- устанавливаем права доступа (или полного доступа к директории) для выбранных лиц: нажимая “OK” переходим к окну свойств папки, выбираем “Общий доступ”, ищем в поле выбора пользователей и групп и добавляем нужного человека (“Дополнительно” → “Поиск” → установка пользователя двойным кликом);
- проверяем правильность выбора пользователя, кликаем “OK”, задаем все требуемые уровни разрешений, прожимаем “Поделиться” и “Готово”.
Чтобы подключиться к общим папкам из среды Linux, понадобится установить отдельный пакет ПО — smbclient. Для этого вводим команду:
sudo apt-get install smbclient
Для подключения к серверу применяется команда:
Эту команду не обязательно вводить каждый раз — для этого монтируем общую директорию как сетевой диск через установку пакета cifs-utils:
sudo apt-get install cifs-utils
и применяем шаблон:
mount -t cifs -o username= ,password= // /
Важно! При подключении к общепользовательским папкам для Windows-сервера в не защищенных паролями директориях устанавливается имя пользователя “Everyone”, для Linux-сервера — “nobody”.
Подключение к общим папкам из среды Windows проводится по иной схеме. Для этого в проводнике или окне запуска программ (Windows + R), применяется шаблон:
Указанный только один IP-адрес сервера выдает список общих папок.
Если при подключении к Windows-серверу всплывает окно с требованием ввода учетной записи, в строку имени пользователя заносится Everyone, а пароль остается пустым.
Подключение к Linux-серверу из ОС Windows выполняется через шаблон или через адрес сервера.
Как создать общий сетевой ресурс в Samba
Создание общего сетевого ресурса в Samba включает этапы:
–формирования директории, которую надо установить общедоступной:
–создания бэкапа для подстраховки:
sudo cp /etc/samba/smb.conf ~
–редактирования файла «/etc/samba/smb.conf»:
sudo nano /etc/samba/smb.conf
–добавления в файл следующих сведений:
[ ]
path = /home/ /
valid users =
read only = no
–после заполнения файла своими данными сохраняем введенные сведения и перезапускаем Samba:
sudo service smbd restart
–затем проверяем директорию smb.conf наличие неточностей:
–доступ к общему сетевому ресурсу предоставляется так:
sudo apt-get install smbclient
# Просмотр всех общих ресурсов:
smbclient -L // / -U
# Подключение:
smbclient // / -U
Примечание 1: Для подключения к вашему общему сетевому ресурсу задействуйте имя вашего пользователя () и пароль, который располагается в «smb:////»
Стоит запомнить, что «» значение переводится в «[]», иначе говоря, в название общепользовательского ресурса, вписанного вами в «/etc/samba/smb.conf».
Примечание 2: Группа пользователей samba по умолчанию носит название «WORKGROUP».
Источник: servergate.ru
Введение
Изначально, Samba представляла собой пакет программ, которые позволяют обращаться к сетевым дискам и принтерам на различных операционных системах по протоколу SMB/CIFS, но, начиная с версии 4 в Samba, была реализована возможность выступать в роли контроллера домена и аналога сервиса Active Directory.
Несмотря на то, что Samba 4 является неплохим решением для замены служб Active Directory Domain Services и в ней реализована значительная часть функциональности AD, она, все же, имеет ряд существенных ограничений, которые могут стать критичными при внедрении и эксплуатации решения в продуктивной среде.
В данной статье мы постараемся ответить на вопрос, насколько хороша может быть такая замена и с какими проблемами и ограничениями можно столкнуться.
Возможности Samba
Устанавливая Samba и базовые сетевые службы (DNS, NTP, Kerberos…) на один из Linux-дистрибутивов вы получаете следующую функциональность:
- Контроллер домена Active Directory:
•Служба Аутентификации на базе Kerberos v5;
•LDAP-совместимая служба каталогов c возможностью репликации по DRS;
•Сервер управления групповыми политиками;
•DNS-сервер на базе BIND, обеспечивающий безопасную динамическую регистрацию имен. - Файловый сервер.
- Сервер печати.
Кроме того, Samba является программным обеспечением с открытым исходным кодом и распространяется по лицензии GPL, а это в конечном счете позволяет:
- Снизить риски, связанные с использованием импортного программного обеспечения (для госучреждений это будет особенно актуально с первого января 2016 года).
- Снизить совокупную стоимость владения информационной системой.
Но всем ли так хороша Samba и действительно ли она позволяет полностью закрыть функционал Active Directory? Постараемся ответить на этот вопрос.
Ограничения Samba
Общую информацию по ограничениям функциональности AD в реализации Samba можно найти и в вики-базе знаний на wiki.samba.org, но данные там придется собирать по крупицам, и далеко не все ограничения будут упомянуты.
Описанные ограничения, действительны для актуальной, на момент написания статьи версии Samba 4.3.1.
И так, начнем с функциональных ограничений:
Максимальный размер базы данных Samba ограничен 4 Гб
Ограничение максимального размера базы данных Samba связано с 32-битной архитектурой tdb. Для крупных организаций, c сотнями тысяч объектов в каталоге Active Dirtectory, переход на Samba может оказаться невозможным. (Кстати, информация о данном ограничении появилась 13 ноября 2015, спустя почти 3 года после выхода Samba 4.0 и то, в основном, благодаря активным обсуждениям в mailing list).
Доверительные отношения (forest/domain trust)
Наиболее полная реализация доверительных отношений появилась в версии Samba 4.3, тем не менее, в ней присутствует ряд существенных ограничений:
- Поддерживаются только двухсторонние доверительные отношения;
- Отсутствует функция SID Filtering, отказ от нее существенно снижает уровень безопасности при организации доверительных отношений;
- Не поддерживается добавление пользователей или групп из доверенного домена «А» в группы домена «В». Данное ограничение делает невозможным применение Samba 4 в сколько-нибудь больших инсталляциях, требующих отношений доверия.
Поддержка многодоменной структуры/поддержка поддоменов
Поддержка многодоменной структуры отсутствует, как на уровне кода, так и на уровне базы данных Samba. Фактически, в Samba нет реализации глобального каталога (при запросе глобального каталога производится редирект в общий LDAP-каталог).
Если вы создаете поддомен на базе Samba, или вводите Samba в состав домена второго уровня, записи о других доменах и корневом домене будут потеряны, а «благодаря» ограничениям в поддержке фантомных объектов, работа в многодоменной среде может быть весьма нестабильной. К сожалению, на любые вопросы к сообществу в mailing list вы будете получать ответы типа:
«We would also like to improve Samba to scale up, and to support more diverse domain structures, but it isn’t a small task.
Sorry,»
Репликация SYSVOL
Несмотря на то, что групповые политики полноценно функционируют в Samba (за исключением политики паролей, назначаемых на конкретное организационное подразделение), из-за отсутствия поддержки протоколов DFS-R и FRS, репликацию SYSVOL придется проводить в ручном режиме, или при помощи скрипта. Информация о настройках rsync для репликации между контроллерами Samba есть на сайте wiki.samba.org.
По вопросам реализации репликации SYSVOL между Windows контроллером домена и samba — можете писать мне на почту.
Поддержка KCC
В Release notes к Samba 4.3.0 заявлено, что разработчики приблизились к реализации KCC, в соответствии с открытой спецификацией Microsoft, на деле же, стоит приготовиться к многочисленным ошибкам в журналах событий и созданию/корректировке графа репликации вручную.
Другие ограничения
- Отсутствие полноценной поддержки RODC;
- Отсутствие поддержки контроллеров домена на базе Windows Server 2012 и Windows 2012 R2 совместно с Samba в роли AD DC;
- Отсутствие поддержки MIT Kerberos;
- Проблемы в реализации модуля репликации DRS*;
- Проблемы при репликации расширений схемы (Schema Extension) **.
**Несмотря на то, что расширение схемы является штатной операцией, после ее выполнения, результат может быть весьма неожиданным. Например, может появиться ошибка werr_ds_dra_schema_mismatch. Вообще, данная ошибка может возникать даже когда схемы совпадают, но раскрытие этой темы требует отдельно написанной статьи, поэтому, сейчас мы не будем заострять на этом внимание.
Стоит учитывать, что в уже реализованных функциональных модулях присутствуют баги, и судя по оживленной переписке в mailing list их весьма немало (подробнее можно почитать на сайте bugzilla.samba.org).
Поддержка различных приложений
Помимо функциональных ограничений, у Samba AD DC также имеются ограничения, связанные с функционированием ряда приложений и служб. На тестовом полигоне мной были протестированы некоторые базовые инфраструктурные сервисы. С результатами тестирования можно ознакомиться ниже.
Все приложения были протестированы в базовой конфигурации. Глубокий анализ природы возникновения ошибок не проводился.
Приложение | Результат тестирования | Перечень проверок |
Microsoft Exchange Server 2003/2010/2013 | Не поддерживается* | Установка Запуск служб |
Microsoft SQL Server 2012R2 | Поддерживается | Установка (в том числе и в отказоустойчивой конфигурации с Failover cluster) Создание групп доступности Аутентификация пользователей |
Citrix Xen App 6.5 | Поддерживается* | Установка Запуск опубликованного приложения Применение политик Citrix Применение перемещаемых профилей пользователей |
Microsoft System Center Configuration Manger 2007 | Поддерживается* | Установка Функционал отчетности Удаленный доступ к рабочему столу |
*Комментарии:
- Microsoft Exchange Server 2003/2010/2013
- Citrix Xen App 6.5
- Microsoft System Center Configuration Manger 2007
В целом, приложения, которые используют Active Directory исключительно для аутентификации, должны работать в домене под управлением Samba без особых проблем, но протестировать их работу на полигоне все же стоит.
Выводы
Если подвести итог, получается, что у Samba AD DC имеется довольно много ограничений, которые могут стать серьезной проблемой при крупных внедрениях. В тоже время Samba, на текущий момент, является наиболее зрелой открытой заменой Active Directory и службы каталогов в целом. Решение активно развивается благодаря наличию коммерческой поддержки со стороны зарубежных компаний, а также интеграции с облачными сервисами (использование Samba в Amazon) и интересу к продукту со стороны интеграторов — все это дает основание надеяться на скорейшее разрешение всех имеющихся проблем и доработку необходимой функциональности.
- samba 4
- active directory
- Системное администрирование
- IT-инфраструктура
Источник: habr.com