Как подключиться к самба серверу

Настройка 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 на Ubuntu

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

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

1. Время

Для корректного отображения дат, необходимо позаботиться о синхронизации времени. Для этого будем использовать демон chrony. Установим его:

apt-get install chrony

Разрешим автозапуск сервиса:

systemctl enable chrony

2. Брандмауэр

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

* где порт 445 используется для samba, а порты 137, 138 и 139 — для работы NetBIOS (использование имени компьютера для доступа).

apt-get install iptables-persistent

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

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

apt-get install samba

Разрешаем автостарт сервиса:

systemctl enable smbd

И проверим, что сервис запустился:

systemctl status smbd

Проверяем, что сервер самба позволяет к себе подключиться. Для этого можно с компьютера обратиться к серверу по SMB, например, на компьютере с Windows это можно сделать из проводника, прописав путь к серверу с двух слэшей:

Как подключиться к самба серверу. Смотреть фото Как подключиться к самба серверу. Смотреть картинку Как подключиться к самба серверу. Картинка про Как подключиться к самба серверу. Фото Как подключиться к самба серверу

* в данном примере мы подключаемся к серверу Samba с IP-адресом 192.168.1.15.

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

Создание первой шары и предоставление к ней гостевого доступа (анонимного)

Разберем самый простой пример предоставления доступа к папке — анонимный доступ всем пользователям без запроса пароля.

Открываем на редактирование конфигурационный файл samba:

И добавляем настройку для общей папки:

[Общая папка]
comment = Public Folder
path = /data/public
public = yes
writable = yes
read only = no
guest ok = yes
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777

Создаем каталог на сервере и назначим права:

chmod 777 /data/public

Применяем настройки samba, перезагрузив сервис:

systemctl restart smbd

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

Доступ к папке по логину и паролю

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

Открываем конфигурационный файл samba:

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

[Папка сотрудников]
comment = Staff Folder
path = /data/staff
public = no
writable = yes
read only = no
guest ok = no
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777

* эти настройки, во многом, похожи на те, что использовались в примере выше. Вот основные различия:

Создаем каталог для новой папки:

Задаем права на созданный каталог:

chmod 777 /data/staff

Создаем пользователя в системе Linux:

* где staff1 — имя пользователя.

Задаем пароль для пользователя:

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

systemctl restart smbd

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

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

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

Теперь создадим папку, доступ к которой будут иметь ограниченное количество пользователей.

Открываем конфигурационный файл samba:

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

[Приватная папка]
comment = Private Folder
path = /data/private
public = no
writable = no
read only = yes
guest ok = no
valid users = admin, staff2, staff3, @privateusers
write list = admin, staff2
create mask = 0777
directory mask = 0777
force create mode = 0777
force directory mode = 0777
inherit owner = yes

* стоит обратить внимание на следующие настройки:

* если мы хотим, чтобы доступ к каталогу был полный у определенных пользователей (без разделения на тех, кто может только читать и тех, кто может также писать в папку), то опцию write list можно не указывать, а опции writable и read only оставить как в примерах выше.

Источник

HackWare.ru

Этичный хакинг и тестирование на проникновение, информационная безопасность

SMB и Samba в Linux: подключение к общей папке Windows, создание сетевых папок в Linux

Книга по SMB и Samba на русском языке. Оглавление

Samba — это SMB для Linux

SMB — это протокол, технология, которая позволяет создать файловые сервер. В первой части я говорил, что в Linux функции сервера и клиента SMB выполняет Samba. Это не совсем так, на самом деле, в настоящее время Samba не только реализует возможности SMB, но и дублирует функционал сервера Доменов Active Directory (технология Windows, позволяющая управлять множеством компьютеров — кстати, про Active Directory скоро будет большой материал на HackWare.ru).

Далее мы будем говорить про Samba, но мы затронем только вопросы SMB.

Начните с установки пакетов samba и smbclient.

В Debian, Linux Mint, Ubuntu, Kali Linux и их производных для установки samba выполните команду:

В Arch Linux, BlackArch и их производных выполните команду:

Как в Linux увидеть все компьютеры Windows с совместными ресурсами

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

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

Как подключиться к самба серверу. Смотреть фото Как подключиться к самба серверу. Смотреть картинку Как подключиться к самба серверу. Картинка про Как подключиться к самба серверу. Фото Как подключиться к самба серверу

В начале идёт имя рабочей группы WORKGROUP. Затем следует список компьютеров. Для тех из них, для которых удаётся получить список сетевых папок, они выводятся.

Как можно увидеть выше, для компьютера \\VYACHESLAV получен список совместно используемых ресурсов, а для компьютера \\HACKWARE-MIAL — нет. При этом если я включал на компьютере \\HACKWARE-MIAL поддержку протокола SMB 1, а при запуске команды указывал хоть какое-то имя пользователя, например:

либо просто запускал smbtree с правами администратора:

то мне удавалось получить список файлов также и для компьютера \\HACKWARE-MIAL. UDP: видимо, такое поведение в том, что совпадали имена польозвателей на компьютерах с Linux и Windows.

Как в Linux вывести доступные по сети ресурсы (совместные папки и принтеры Windows)

Предыдущая команда показала нам несколько компьютеров с сетевыми папками. Предположим, меня интересует компьютер \\HACKWARE-MIAL, чтобы вывести его сетевые папки я запускаю команду вида:

Как подключиться к самба серверу. Смотреть фото Как подключиться к самба серверу. Смотреть картинку Как подключиться к самба серверу. Картинка про Как подключиться к самба серверу. Фото Как подключиться к самба серверу

Кстати, вместо имени компьютера можно указать IP адрес.

В полученном выводе половину информации составляют сообщения о различных проблемах. Значимые данные:

В полученном выводе Share и Users являются общими сетевыми папками.

исчезнут, если создать файл /etc/samba/smb.conf.

пропадут, если на компьютере с сетевой папкой включить поддержку протокола SMB1.

Как я уже говорил чуть выше, флаг -N означает не использовать пароль. Если же вы используете пароль, то укажите опцию -U с именем пользователя, пароль нужно будет ввести интерактивно.

Как и для smbtree, для smbclient необязательно использовать sudo, но без sudo для некоторых компьютеров программа срабатывает нормально, а для некоторых завершается ошибкой:

Как подключиться к сетевой папке Windows из Linux

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

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

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

Например, я хочу подключиться к компьютеру //HACKWARE-MIAL/ и выполнить действия с файлами в сетевой папке Share, тогда моя команда следующая:

Если вы хотите, чтобы при подключении была изменена текущая рабочая директория в сетевой папке, то есть чтобы была открыта другая папка, то используйте опцию -D. К примеру, я хочу подключиться к папке NewFolder, тогда команда следующая:

Подключение к SMB папке, требующий авторизации

К примеру, на компьютере //HACKWARE-MIAL/ имеется сетевая папка ShareRestricted, права на просмотр которой есть у пользователя ShareOverlord. Для просмотра шары, защищённой паролем, нужно использовать команду вида:

В моём случае это команда:

Как подключиться к самба серверу. Смотреть фото Как подключиться к самба серверу. Смотреть картинку Как подключиться к самба серверу. Картинка про Как подключиться к самба серверу. Фото Как подключиться к самба серверу

Команды SMB в Linux

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

Выводит все доступные команды:

Для показа справки по определённой команде, выполните

Переход в другой каталог (смена текущей рабочей директории) на удалённой системе:

Переход в другую директорию на локальной системе:

Удаление файла в шаре:

Имеется псевдоним этой команды:

И ещё одна команда со схожей функцией:

Эта команда рекурсивно удалить все совпавшие с шаблоном имени файлы и директории.

Показ файлов и папок в текущей папке:

Как подключиться к самба серверу. Смотреть фото Как подключиться к самба серверу. Смотреть картинку Как подключиться к самба серверу. Картинка про Как подключиться к самба серверу. Фото Как подключиться к самба серверу

Имеется псевдоним этой команды:

И ещё один, даже более короткий псевдоним:

Скачать файлы с общей папки:

Для повторного скачивания файла:

Для скачивания всех файлов, чьём имя совпадает с шаблоном:

Для каждого файла, совпавшего с шаблоном, будет выполнен запрос на скачивание. Если вы действительно хотите его скачать, то нажмите клавишу «y»:

Также имеется команда newer, которая скачивает файлы (mget), которые новее, чем указанный локальный файл. Используется она так:

Выгрузка файла на общую папку:

Следующая команда скопирует локальный файл в шару:

Повторная закачка файла:

Для закачки всех файлов, чьём имя совпадает с шаблоном:

К примеру, чтобы закачать в шару все файлы (из локальной текущей рабочей директории), которые имеют расширение *.cap, нужно запустить команду:

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

Как подключиться к самба серверу. Смотреть фото Как подключиться к самба серверу. Смотреть картинку Как подключиться к самба серверу. Картинка про Как подключиться к самба серверу. Фото Как подключиться к самба серверу

Включение и отключение рекурсии

Можно включать и отключать рекурсивный режим для mget и mput.

Показ всей возможной информации о файле:

Как подключиться к самба серверу. Смотреть фото Как подключиться к самба серверу. Смотреть картинку Как подключиться к самба серверу. Картинка про Как подключиться к самба серверу. Фото Как подключиться к самба серверу

В выводимой информации можно увидеть альтернативное (DOS) имя, временные метки (дата создания, доступа, записи и изменения файла), атрибуты.

Копирование файла на сервере:

Создание директории:

Удаление директории:

Удаление файлов

Следующая команда удалит все совпавшие с МАСКОЙ файлы:

Псевдоним команды для удаления файлов:

С помощью команды wdel можно удалить все совпавшие файлы по подстановочным символам:

Переименование файлов:

Ссылки

Создание жёсткой ссылки Windows:

Создание жёсткой ссылки UNIX:

Создание символьной ссылки UNIX:

Выход с сервера:

Вывод истории команд текущей сессии:

Просмотр содержимого текстового файла:

Показ текущей рабочей директории:

Другой вариант показа текущей рабочей директории — это команда cd без аргументов:

Создание и извлечение архивов tar

Программа tar используется для объединения нескольких файлов в один файл. Объединение происходит без сжатия. Для того, чтобы несколько файлов из сетевой папки объединить в архив и скачать на локальную систему запустите команду вида:

К примеру, я хочу скачать файлы all-databases.sql besside.log ChromeSetup.exe из совместной папки и объединить их в архив all.tar, тогда моя команда следующая:

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

К примеру, я хочу отправить содержимое архива all.tar в общую папку:

Для установления режимов tar используется команда

Установка таймаута операций:

Таймаут устанавливается в секундах и по умолчанию равен 20.

Установка нового соединения:

Закрытие сессии, выход:

Вывод списка открытых подключений:

Отображение текущего активного подкючения:

Изменение удалённой директории (переход на одну папку выше):

Выполнение команд в локальной системе:

Чтобы команда выполнялась не на удалённой системе, а на локальной, поставьте перед ней ! (восклицательный знак), например^

Автоматическое выполнение команд в сетевой папке Windows

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

Как смонтировать общую папку Windows/Samba в Linux

Сетевая папка Windows может быть доступна в файловых менеджерах Linux как любая другая локальная папка. Для этого её нужно смонтировать. После монтирования не придётся использовать консоль для просмотра списка файлов и скачивания или закачивания файлов.

Начните с установки пакета cifs-utils.

В Debian, Linux Mint, Ubuntu, Kali Linux и производных выполните:

В Arch Linux, BlackArch и производных выполните:

Предыдущие команды smbtree и smbclient понимали имена компьютеров Windows, такие имена как HACKWARE-MIAL. Монтирование выполняется с помощью команды mount, которая такие имена не умеет обрабатывать без помощи преобразования имён DNS. Поэтому при монтировании можно либо:

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

Если вы хотите настроить преобразование имён с помощью файла /etc/hosts, то откройте его:

И добавьте туда запись вида

Например, у меня IP_АДРЕС это 192.168.0.101, а именем компьютера является HACKWARE-MIAL, тогда я добавляю следующую запись:

Пингуем по имени компьютера Windows, чтобы убедиться, что всё сработало:

Теперь нам нужно создать точку монтирования — папку, где появятся файлы из шары. Я создаю папку /mnt/share:

Чтобы не возникало проблем с правами доступа, папка, куда монтируется шара (например, /mnt/share/), должна принадлежать текущему пользователю Linux — если вы создавали папку без sudo, то она уже принадлежит обычному пользователю. Но если вы создавали папку с sudo (например, иначе это невозможно сделать в /mnt/), то вам нужно поменять её владельца командой вида::

Например, чтобы поменять владельца папки /mnt/share/ на текущего пользователя:

Теперь для монтирования сетевой шары Windows нужно запустить команду вида:

В этой команде вы должны вставить свои значения для

Значение других элементов команды:

К примеру, путь до сетевой шары у меня //HACKWARE-MIAL/Share, её я хочу смотрировать в папку /mnt/share, тогда команда будет следующей:

Вид сетевой папки Windows в Double Commander:

Как подключиться к самба серверу. Смотреть фото Как подключиться к самба серверу. Смотреть картинку Как подключиться к самба серверу. Картинка про Как подключиться к самба серверу. Фото Как подключиться к самба серверу

Вид сетевой папки в стандартном проводнике Linux:

Как подключиться к самба серверу. Смотреть фото Как подключиться к самба серверу. Смотреть картинку Как подключиться к самба серверу. Картинка про Как подключиться к самба серверу. Фото Как подключиться к самба серверу

Для размонтирования нужно запустить следующую команду (укажите либо точку монтирования, либо ресурс, который был смонтирован):

Напомню, что в предыдущей части я не только настроил папку для входа без пароля, но на том же самом компьютере и настроил вторую папку с именем ShareRestricted. У этой папки владелец ShareOverlord, а пароль для входа 1234. Для подключения папки, доступ к которой возможен только по паролю, используется та же самая команда, но нужно указать реальные учётные данные:

Чуть дальше очень похожий набор опций, в том числе пароль в открытом виде, мы будем использовать в файле /etc/fstab для настройки автоматического монтирования сетевой папки. Файл /etc/fstab доступен для чтения всем а, следовательно, также доступен всем ваш пароль от Windows в нём. Чтобы обойти эту проблему, можно использовать файл с учётными данными. Это файл содержит только имя пользователя и пароль.

Используя текстовый редактор, создайте файл с учётными данными для входа на ваш удалённый сервер:

В этот файл введите имя пользователя и пароль от Windows:

В моём примере это:

Сохраните файл и закройте редактор.

Измените права доступа к этому файлу, чтобы предотвратить нежелательный доступ к вашим учётным данным:

Посмотрите абсолютный путь до этого файла:

В моём случае абсолютный путь:

Теперь вместо двух опций:

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

Моя команда стала выглядеть так:

Настройка автоматического монтирования сетевой папки в Linux

Автоматически монтируемые файловые системы прописываются в файле /etc/fstab. Откроем этот файл:

Теперь в него нужно добавить строку вида:

Мы добавили опцию nofail, чтобы ОС нормально загружалась даже если не удалось смонтировать данную файловую систему. Ещё добавьте опцию _netdev, эта опция означает, что файловая система находится на устройстве, которому требуется доступ к сети (используется для предотвращения попыток системы смонтировать эти файловые системы до тех пор, пока в системе не будет включена сеть).

Для моего примера это строка:

Сохраним и закроем этот файл. Для проверки выполним:

Если сетевая папка успешно смонтировалась, значит можно выполнить проверку перезагрузкой.

Если нужно смонтировать папку для входа в которую не требуется пароль, то используйте в качестве опции учётные данные «username=guest,password=»:

Либо можно по-прежнему использовать файл .smbcredentials, как это было показано выше:

/.smbcredentials запишите следующее:

Как создать общую сетевую папку в Samba

Если в этой статье вы пропустили предыдущие части, так как вам нужно только настроить файловый сервер на Linux, то начните с установки пакета samba.

Следующая команда не сработает, если отсутствует файл /etc/samba/smb.conf. Если у вас тоже нет этого файла, то создаёте его заглушку — к настройке самого файла smb.conf мы вернёмся позже:

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

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

Если вы хотите, чтобы у пользователя не было пароля, то укажите опцию -n.

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

Узнаем абсолютный путь до папки

Откройте для редактирования файл /etc/samba/smb.conf:

Добавьте туда строки вида:

Обратите внимание, что все пробелы в строках выше являются обязательными.

Для моих данных это строки:

Теперь запустим службу SMB:

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

На самом деле, мы настроили не полноценную Samba, а только файловый сервер SMB. Одно из следствий этого — показанные выше способы обнаружения сетевых папок, такие как команда smbtree в Linux или переход во вкладку «Сеть» в проводнике Windows, не обнаружат нашу шару.

Для подключения к этой общей сетевой папке на Linux нужно использовать IP адреса компьютера Linux вместо имени компьютера, как это мы делали раньше. Кстати, поэтому нужно настроить статичный IP (смотрите статью «Как настроить Linux на использование статичного IP адреса»).

Создадим файл, чтобы сетевая папка не была пустой:

Посмотрите локальный IP адрес компьютера, на котором запущена Linux:

У меня этим IP является 192.168.0.89, а папку, как мы помним, я создал с именем linuxshare, тогда в Windows я перехожу в проводнике во вкладку «Сеть» и подключаюсь к этой папке следующим образом:

Вводим учётные данные (которые мы установили командой smbpasswd):

Как подключиться к самба серверу. Смотреть фото Как подключиться к самба серверу. Смотреть картинку Как подключиться к самба серверу. Картинка про Как подключиться к самба серверу. Фото Как подключиться к самба серверу

Видим содержимое совместно используемой папки, размещённой на Linux с помощью SMB:

Как подключиться к самба серверу. Смотреть фото Как подключиться к самба серверу. Смотреть картинку Как подключиться к самба серверу. Картинка про Как подключиться к самба серверу. Фото Как подключиться к самба серверу

Для подключения к сетевой папке из консоли Linux, запустите команду вида:

Для моего примера это:

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

Как подключиться к самба серверу. Смотреть фото Как подключиться к самба серверу. Смотреть картинку Как подключиться к самба серверу. Картинка про Как подключиться к самба серверу. Фото Как подключиться к самба серверу

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

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *