Меню

Ubuntu настройка samba клиента



Ubuntu настройка samba клиента

В данной статье пойдет речь об установке и базовой настройке Samba в Ubuntu.

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

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

Установка и запуск Samba в Ubuntu.

Поскольку Samba присутствует в репозитории Ubuntu, сложностей с установкой возникнуть не должно. Выполните:

и затем подтвердите установку пакета со всеми зависимостями нажатием Y (или Д).

После установки будет автоматически запущен демон smbd, обеспечивающий доступ к файлам и принтерам. Давайте убедимся, что он уже работает:

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

Настройка Samba в Ubuntu. Конфигурационный файл /etc/samba/smb.conf.

Конфигурационный файл /etc/samba/smb.conf, о котором идет речь, содержит все основные настройки. Именно в нем прописывается:

  • какие именно папки и принтеры будут видны пользователям других машин в сети;
  • кто и при каких условиях будет иметь доступ к файлам и принтерам;
  • смогут ли клиенты не только читать, но и записывать данные;
  • будут ли пользователи иметь доступ к своим домашним директориям;
  • каким образом будут вестись логи;
  • каким образом будет осуществляться подключение и т. д.

Содержимое файла /etc/smb.conf делится на разделы, содержащие отдельные параметры и их значения. Взгляните сами:

Не пугайтесь большого количества текста. Строки, начинающиеся с символов «#» и «;» считаются комментариями и не учитываются интерпретатором при разборе файла. Название раздела заключено в квадратные скобки, далее следуют относящиеся к этому разделу параметры и их значения, разделенные знаком «=». Параметров, которые можно использовать, очень много, а вариантов их значений — еще больше.

Создаем общедоступную папку в Ubuntu с помощью Samba.

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

Если потребуется восстановить исходный файл, удалите smb.conf и дайте это имя файлу smb-default.conf.

Теперь создадим шару, доступную для чтения и записи всем желающим. Вставьте в /etc/samba/smb.conf:

Первая строка — название шары. Вторая — ее описание или любой комментарий создателя, доступный всем. Третья — путь к папке, доступ к которой мы открываем. Не забудьте убедиться, что такая директория существует и имеет подходящие права. Параметр guest ok со значением yes разрешает подключаться без логина и пароля, browseable определяет, будет ли наша шара видна внутри сети, writable разрешает запись, create mask и directory mask выставляют права, force user принудительно определяет каждого подключившегося как пользователя publicshare.

Теперь нам нужно создать указанного пользователя и передать ему /home/public_share :

Ключ —system означает, что мы создаем не простого пользователя, а системного. Пользователи из этой категории имеют минимум прав, добавляются в группу nogroup и обычно используются для запуска системных сервисов.

Вместо guest ok часто применяется параметр public. Это синонимы. Вы можете использовать любой из них с абсолютно одинаковым результатом. У многих других параметров также есть синонимы. Бывают и антонимы, например, read only является антонимом по отношению к writable.

Читайте также:  Настройки на дрифт в мта на субару

Если у вас включен фаервол, необходимо добавить соответствующее разрешающее правило. Если вы настраивали UFW по одной из предыдущих статей, достаточно будет следующей команды:

Для проверки правильности smb.conf в пакет Samba входит утилита testparm. Просто запустите ее без каких-либо ключей:

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

Обратите внимание: на втором скриншоте параметр writable = yes заменен аналогичным по смыслу read only = no. Отсутствие directory mask = 0755, вероятно, объясняется тем, что 0755 является для этого параметра значением по умолчанию, а потому указывать его нет смысла.

Теперь подключаемся (в Windows, например, для этого достаточно заглянуть в сетевое окружение) — и видим все доступные расшаренные папки.

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

В следующей статье поговорим про уровни доступа. Подписывайтесь на сайт, чтобы ничего не пропустить.

Источник

Настройка Samba

Пожалуй нет ни одного офиса, в котором не применялись бы общие ресурсы локальной сети, будь то папки или принтеры. Крупные и средние компании используют возможности Active Directory, компании поменьше — используют штатные средства ОС Windows или Samba, но на серверах под управлением ОС Linux. Рассмотрим все случаи.

Что такое 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:

Удаляем все строки из файла. Вставляем следующие:

map to guest = bad user

wins support = no

force user = nobody

valid users = @smbgrp

Сохраняем используя сочетание Ctrl + X, затем нажимаем Y и Enter.

Объясним значения строк. конфигурационный файл состоит из трех секций:

global — данная секция отвечает за общие настройки Samba-сервера;

public и private — секции описания настроек директорий общего доступа.

В секции global присутствуют пять параметров:

  • workgroup — рабочая группа. Для упрощения работы пользователей WORKGROUP указывается, как группа по умолчанию. Если в вашей сети имя рабочей группы изменено, то следует изменить это значение и для Samba;
  • security — уровень безопасности сервера. Значение user означает авторизацию по паре логин/пароль;
  • map to guest — параметр определяет способ обработки запросов. Значение bad user означает, что запросы с неправильным паролем будут отклонены, даже если такое имя пользователя существует;
  • wins support — включить или выключить поддержку WINS;
  • dns proxy — возможность проксирования запросов к DNS.
Читайте также:  Carx drift racing настройка cobra

Настройки директорий выполняются в соответствующих секциях:

path — полный путь до директории на жестком диске;

guest ok — возможность доступа к каталогу без пароля (гостевой);

browsable — показывать ли каталог (“шару”) на сервере среди прочих. Если параметр установлен как “no”, то доступ будет возможен по полному пути, например ip-addresshidden_directory;

force user — пользователь от которого ведется работа с каталогом. Для повышения безопасности сервера, обычно используют nobody. Главное, не использовать пользователя root — это небезопасно.

writable — установка значения как “yes” позволяет пользователю выполнять действия над файлами внутри каталога — переименование, добавление, удаление, перемещение в подкаталог и копирование;

valid users — список пользователей у которых есть доступ к каталогу. Если пользователей несколько, их имена указываются через запятую. Если необходим доступ для пользователей принадлежащих группе, перед именем группы устанавливается символ ”at” @ (“собака”).

Важно! Имя директории общего доступа, отображаемое пользователям, равно имени секции в которой оно описано.

Источник

Превращаем Ubuntu Server в контроллер домена с помощью samba-tool

С помощью Samba можно превратить сервер, работающий под управлением ОС семейства Linux, в контроллер домена (Domain Controller, DC) Active Directory. Тот DC, который мы собираемся поднять, сможет работать как контроллер домена Windows NT4. Он подойдёт для централизованного хранения данных учётных записей пользователей и компьютеров.

Надо отметить, что мы не будем говорить о задаче создания основного контроллера домена (Primary Domain Controller, PDC) Active Directory, хотя связка Ubuntu Server/Samba, рассмотренная здесь (с добавлением OpenLDAP) вполне может играть и такую роль.

Итак, наша цель — быстро и экономично обзавестись AD DC. В этом нам поможет интерактивный инструмент samba-tool , который предназначен для автоматизированной подготовки сервера к работе, а именно, он позволяет сформировать файл настроек /etc/smb.conf .

Начнём с установки необходимого ПО.

Установка

Первый шаг — установка на сервер пакетов Samba и Winbind. Сделать это можно с помощью следующей команды:

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

После установки можно приступать к настройкам.

Подготовка к настройке

Перед запуском samba-tool нужно проверить файл /etc/hosts , а именно — верны ли записанные в нём полное доменное имя и IP-адрес контроллера домена. Там можно найти что-то вроде этого:

Здесь IP_ADDRESS_OF_SERVER — это реальный адрес сервера Samba. Проверьте, чтобы файл содержал актуальные данные.

Далее нужно задать имя узла для сервера. Как можно судить по приведённому выше фрагменту файла /etc/hosts , в нашем случае имя узла — SAMBADOM . Для того, чтобы его настроить, откройте файл /etc/hostname и соответствующим образом его измените. Далее — перезагрузите сервер.

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

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


Поиск файлов, которые надо удалить

Использование samba-tool

Теперь пришло время воспользоваться samba-tool . Мы запустим это средство в интерактивном режиме, выполнив следующую команду:

Выполнив команду с ключом —use-rfc2307 , мы включаем расширения NIS. Samba-tool предложит настроить следующие параметры:

  • Realm . Это полное DNS-имя домена, которое настроено в файле hosts . Например: SAMBADOM.EXAMPLE.NET .
  • Domain . Доменное имя NetBIOS сервера Samba. Обратите внимание на то, что здесь рекомендуется использовать первую часть доменного имени DNS. Например, SAMBADOM .
  • Server Role . Этот параметр предназначен для указания типа серверной роли. По умолчанию здесь установлено значение dc , оно нас устроит.
  • DNS backend . Этот параметр позволяет настроить DNS-сервер. Здесь так же оставляем параметр по умолчанию — SAMBA_INTERNAL .
  • DNS forwarder IP address . Данный параметр позволяет указать IP-адрес DNS-сервера, на который будут перенаправлены запросы, которые не может разрешить сервер Samba. Если перенаправление DNS-запросов вам не нужно — ничего не вводите в ответ на данный вопрос. Подробнее об этом можно почитать здесь.
  • Administrator password . Тут надо указать пароль администратора домена.
Читайте также:  Видеорегистратор престижио 330 настройки

После того, как система получит ответы на интересующие её вопросы, samba-tool настроит Samba как контроллер домена. Можете просмотреть файл /etc/samba/smb.conf и, если нужно, внести в него изменения.

Прежде чем продолжать, позаботьтесь о регистрации пользователей в Samba. Этот шаг очень важен — иначе пользователям не удастся пройти аутентификацию. Делается это следующими командами:

Здесь USERNAME — имя существующего пользователя, которого надо добавить к Samba. Указать пароль нужно будет лишь после ввода первой команды. Первая команда добавляет нового пользователя и запрашивает пароль для него; вторая — активирует созданный аккаунт.

Настройка DNS-сервера

Нам надо, чтобы в качестве DNS-сервера на контроллере домена использовался он сам. Для того, чтобы это сделать, отредактируем файл /etc/network/interfaces , приведя его к такому виду:

Тут же имеются настройки использования сетевым интерфейсом статического IP-адреса. Обратите внимание на то, что всё, набранное ЗАГЛАВНЫМИ буквами, надо настроить в соответствии с параметрами вашей системы.

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

Кроме того, следует отредактировать файл /etc/resolv.conf , внеся изменения, согласующиеся с теми, о которых было сказано выше. А именно, тут нас интересует следующая строка:

Здесь, вместо IP_ADDRESS_FOR_SERVER , нужно ввести тот же адрес, который был записан в параметр dns-nameservers выше.

Настройка Kerberos

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

Обратите внимание на то, что вы можете столкнуться с отсутствием в системе файла /etc/krb5.conf . Если это действительно так, достаточно будет выполнить только вторую из вышеприведённых команд.

Тестируем и подключаемся

Самое сложное позади. Теперь всё готово к тому, чтобы протестировать только что созданный контроллер домена на Samba и подключиться к нему. Быстро проверить, всё ли работает, можно с помощью такой команды:

После ввода пароля пользователя Samba, вы должны увидеть сообщение об успешном подключении.


Успешное подключение

Как видите, при проверке smbclient выведены сведения о netlogon и sysvol как об общих ресурсах. Они созданы по умолчанию и должны существовать на контроллере домена. Кроме того, в /var/lib/samba/sysvol/REALM/scripts следует поместить любые скрипты входа в систему, которые понадобятся клиентам. Здесь REALM соответствует тому параметру REALM , который был задан в ходе работы с командой samba-tool .

Итоги

Теперь контроллер домена готов принимать подключения. Однако, может оказаться так, что вам придётся отредактировать файл /etc/samba/smb.conf , внести в него данные, отражающие ваши требования к серверу. Этот файл, сгенерированный samba-tool , весьма лаконичен, хотя и является хорошей отправной точкой для тонкой настройки вашего AD DC, построенного на базе Samba и Ubuntu Server.

Уважаемые читатели! А какие варианты взаимодействия экосистем Linux и Windows кажутся вам наиболее интересными и полезными?

Источник

Adblock
detector