как узнать версию samba linux

Файловый сервер SAMBA на базе Linux CentOS 7

как узнать версию samba linux. image loader. как узнать версию samba linux фото. как узнать версию samba linux-image loader. картинка как узнать версию samba linux. картинка image loader.

Привет Хабр!
После активности шифровальщика Petya 27.06.2017, я отключил SMB1 он же CIFS, и получил производственное оборудование и сетевые МФУ которые не умеют работать на «новых» версиях SMB протокола.

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

Под катом находится пошаговая инструкция по установке и настройке файлового сервера SAMBA на базе CentOS 7:

— Анонимный доступ
— Аутентификация и авторизация
— Интеграция с Active Directory

Установка CentOS 7

Сервера работают под управлением VMware ESXi, и по этому я установил CentOS 7 1611 на VM, выделив 1 CPU, 1GB RAM и 3GB HDD.

LVM я не использую, SWAP раздел не создаю, на загрузочный раздел выделяю 500MB, а все остальное отдаю под корень файловой системы. В качестве файловой системы использую ext4.

как узнать версию samba linux. image loader. как узнать версию samba linux фото. как узнать версию samba linux-image loader. картинка как узнать версию samba linux. картинка image loader.

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

Если вы новичок в линукс, делайте копии оригинальных файлов с конфигами, используйте команду cp.

Получение ip адреса по DHCP

Если по какой-то причине в сети нету DHCP сервера, вам стоит его поднять. Работать с большим количеством VM без DHCP не удобно.

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

CentOS 7 использует пакетный менеджер YUM. Шпаргалка по yum находится тут.

Если выход в интернет организован через прокси сервер, добавьте адрес прокси в файл конфигурации /etc/yum.conf, используйте редактор vi или следующую команду

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

Установка на VM агентов для взаимодействия с хост сервером

Для VMware ESXi необходимо установить open-vm-tools

Для Hyper-V, hyperv-daemons

Установка обновлений

Очень важно установить все доступные обновления

Midnight Commander

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

Настройка сети

Для настройки статического ip адреса и имени хоста можно использовать утилиту nmtui

как узнать версию samba linux. image loader. как узнать версию samba linux фото. как узнать версию samba linux-image loader. картинка как узнать версию samba linux. картинка image loader.

В командной строке список сетевых адаптеров можно получить командой

Статический ip и gateway задается следующей командой, где «ens192» это имя сетевого адаптера

Настройка FQDN

Пусть полное имя хоста будет ls01.fqdn.com, выполняем команду

Перезагружаем службу имен

Проверить результат можно следующими командами

Если протокол ipv6 не используется, логично его отключить, для этого нужно добавить два параметра в файл /etc/sysctl.conf, выполните следующие команды или используйте редактор mcedit

Перезагрузите службу сети

SELINUX

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

Измените значение SELINUX в файле /etc/selinux/config на SELINUX=disabled затем перезагрузите сервер.

Вернусь к SELINUX в конце статьи.

SAMBA

Добавление службы в автоматический запуск

Запуск службы и проверка состояния

firewallD

По умолчанию CentOS 7 использует брандмауэр firewallD, состояние службы можно узнать командой

Для получения списка правил и сервисов используйте

как узнать версию samba linux. image loader. как узнать версию samba linux фото. как узнать версию samba linux-image loader. картинка как узнать версию samba linux. картинка image loader.

Обратите внимание на список сервисов, если вы отключили протокол ipv6, логично также поступить и с dhcpv6-client

Создаем правило для SAMBA и перезагружаем

Общий ресурс с анонимным доступом

Создаем папку для ресурса /samba/guest

Меняем владельца и назначаем права

Редактируем файл конфигурации SAMBA /etc/samba/smb.conf

Меняем содержание оригинального файла на следующее

[global]
workgroup = WORKGROUP
security = user
map to guest = bad user
min protocol = NT1

[guest]
path = /samba/guest
guest ok = Yes
writable = Yes

На всякий случай я указал минимальную версию протокола SMB=NT1. Если вы укажите SMB2 или SMB3, клиенты с Windows XP и ниже не смогут получить доступ к ресурсам.

Проверка параметров и перезагрузка службы

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

Бантики

[global]
load printers = no
show add printer wizard = no
printcap name = /dev/null
disable spoolss = yes

Конфигурация SAMBA находиться в каталоге /etc/samba, а логи в каталоге /var/log/samba
Мне удобней все инструменты держать по рукой, по этому я монтирую необходимые мне каталоги в /samba

Создаем каталоги, в которые будет все монтироваться

Редактируем конфиг файл /etc/fstab, я предполагаю что вы знаете за что отвечает fstab.

Добавляем следующие строки

/etc/samba /samba/smbconf none bind 0 0
/var/log/samba /samba/smblogs none bind 0 0

Монтируем без перезагрузки

Подключение диска

Держать ресурс с общим доступом на системном диске без квоты, не лучший выбор. С квотами я решил не связываться, мне проще подключить отдельный «физический» диск.

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

Создание таблицы разделов на диске /dev/sdb

Подробную информация про gpt можно прочитать тут

Создание раздела на весь диск sdb, в лучших традициях жанра я решил сделать отступ 1MiB в начале диска.

Создаем файловую систему ext4

Добавляем еще одну строку

/dev/sdb1 /samba/guest ext4 defaults 0 0

Подключение образа диска

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

Создаем каталог для хранения образов

Создаем файл образа размером 100 мб

Про команду dd много интересного можно прочитать тут

В варианте с образом я решил не создавать таблицу разделов, просто создаем файловую систему ext4.

Конфиг для монтирования образа

/samba/smbimg/100M.img /samba/guest ext4 defaults 0 0

Подключение RAM диска

Для временных ресурсов где не нужен большой объем, как мне кажется RAM диск это наилучший вариант, очень быстро и просто настраивается, а скорость работы поражает воображение.

Конфиг для RAM диска

none /samba/guest tmpfs defaults,size=100M 0 0

Удаление старых файлов

В случае «файлопомойки» ресурсы нужно как-то освобождать, для этого можно использовать планировщик задач crontab

#удалять файлы и каталоги каждый час
* 0-23 * * * rm –R /samba/guest/*

Логи службы crontab находятся в файле /var/log/cron

Ограничение доступа к SAMBA по ip адресам

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

[global]
hosts allow = 192.168.1.100, 192.168.1.101
hosts deny = ALL

[guest]
hosts allow = 192.168.0.0/255.255.0.0
hosts deny = 10. except 10.1.1.1

Аутентификация и авторизация пользователей

Ограничение доступа по ip адресам не всегда удобно или возможно, тогда можно использовать логины и пароли.

Сначала необходимо создать локального пользователя в системе

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

Затем необходимо добавить системного пользователя в пользователи самбы и задать ему пароль

По умолчанию для хранения паролей используется файл формата tdb, которые расположен в каталоге /var/lib/samba/private/

Изменить каталог расположения файла можно глобальным параметром passdb backend

[global]
passdb backend=tdbsam:/etc/samba/smbpassdb.tdb

tdb файлы были созданы для замены «устаревших» текстовых, если вы хотите использовать текстовые файлы, для этого используйте параметр passdb backend=smbpasswd в разделе global
passdb backend=smbpasswd:/etc/samba/smbpasswd

Затем укажите списки пользователей и групп для доступа к ресурсам

[guest]
path = /samba/guest
writable = no
read list = user1, @group2
write list = user2, user3

Интеграция с Active Directory

Также есть возможность получать информацию о пользователей из LDAP, но мне этот вариант не интересен и я сразу перехожу к AD. Подробная инструкция от Microsoft находится тут.

Для AD очень важна синхронизация времени, по этому стоит начать с этого.

Установка соответствующей службы

Добавляем в конфиг файл /etc/ntp.conf сервера выполняющих роль домен контроллеров

server 192.168.1.10
server 192.168.1.20
server someserver.contoso.com

Добавляем службу ntp в автоматический запуск

Проверяем синхронизацию времени

winbind

Для получения информации о пользователях из AD необходимо установить пакет samba-winbind

Добавляем службу в автоматический запуск

Добавление хоста в AD

Напомню что в начале даной инструкции задали имя хоста ls01.fqdn.com. Будем считать что полное имя домена fqdn.com, а короткое пусть будет fqdn_com

Для внесения всех необходимых параметров в конфигурационные файлы можно воспользоваться утилитой authconfig-tui, установите флажок Use Winbind, затем перейдите на следующее окно

как узнать версию samba linux. image loader. как узнать версию samba linux фото. как узнать версию samba linux-image loader. картинка как узнать версию samba linux. картинка image loader.

Выберите модель безопасности ADS и укажите имена вашего домена. В поле домен контролер укажите “*”, это необходимо для автоматического поиска доступного домен контроллера. Затем нажмите ОК и закройте утилиту.

как узнать версию samba linux. image loader. как узнать версию samba linux фото. как узнать версию samba linux-image loader. картинка как узнать версию samba linux. картинка image loader.

Для добавления хоста в AD используйте команду net ads join –U %username%, пользователь должен обладать правами на создание учетной записи ПК в домене

как узнать версию samba linux. image loader. как узнать версию samba linux фото. как узнать версию samba linux-image loader. картинка как узнать версию samba linux. картинка image loader.

Если машина не добавляется в домен, добавьте FQDN имя хоста в файл /etc/hosts.
Я несколько раз все проверял, и в файл hosts я вносил изменения когда на этапе настройки сети задавал не полное имя хоста.

Для того чтобы вывести хост из домена используйте команду net ads leave –U %username%

Что делает утилита authconfig-tui?

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

passwd: files sss winbind
shadow: files sss winbind
group: files sss winbind

[global]
workgroup = FQDN_COM
password server = *
realm = FQDN.COM
security = ads
idmap config *: range = 16777216-33554431
template shell = /sbin/nologin
kerberos method = secrets only
winbind use default domain = false
winbind pffline logon = false

Вы могли заметить что данная утилита вносит заметно меньше параметров чем написано в инструкции от Microsoft или других инструкциях, но если так работать – то почему бы и нет?

Из инструкции Microsoft я добавляю следующие параметры в конфиг

[global]
domain master = no
local master = no
preferred master = no
os level = 0
domain logons = no

[domain users read only]
path = /samba/guest
read list = «@fqdn_com\domain users»
force create mode = 777
directory mask = 777

[domain users writable]
path = /samba/guest
read list = «@fqdn_com\domain users»
write list = «@fqdn_com\domain users»
force create mode = 777
directory mask = 777

Перезапускаем службу samba

На скриншоте видно пользователя домена который находится в одной из общих папок
как узнать версию samba linux. image loader. как узнать версию samba linux фото. как узнать версию samba linux-image loader. картинка как узнать версию samba linux. картинка image loader.

Список полезных ссылок:

P.S.
Вернемся к SELINUX, чтобы SAMBA сервер мог предоставить доступ к любым каталогам необходимо выполнить следующие команды

К сожалению я так и не смог настроить работу winbind при включенном SELINUX, если подскажете как, я буду благодарен.

Источник

Настройка Samba Ubuntu 12.04

Samba является стандартным пакетом программ для совместимости Linux, Unix и Windows которая позволяют напрямую обращаться к сетевым дискам и принтерам на абсолютно разных ОС по протоколу SMB/CIFS. В этой статье будет рассматриваться настройка Samba Ubuntu 12.04.

Samba нужна когда Вам необходимо иметь доступ с компьютера под управлением ОС Windows к файлам, которые расположены на сервере по управлением ОС Linux (Ubuntu, Debian) или Unix, а иначе вы не сможете работать.

Настройка Samba Ubuntu 12.04

В рассмотренном примере настраивалась Samba в Ubuntu 12.04
Для того что бы установить анонимный Samba Server, необходимо ввести следующую команду в терминале(Ctrl+Alt+T), она установит все необходимые пакеты:

как узнать версию samba linux. 1. как узнать версию samba linux фото. как узнать версию samba linux-1. картинка как узнать версию samba linux. картинка 1.

Ubuntu 12.04 настройка Samba

Она очистит ваши систему от более ей не нужных пакетов и зависимостей

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

как узнать версию samba linux. 2. как узнать версию samba linux фото. как узнать версию samba linux-2. картинка как узнать версию samba linux. картинка 2. Ubuntu настройка Samba

Ubuntu 13.04 настройка Samba

Также предлагается установить эти пакеты для Samba:

Она покажет вывод, похожий на этот:

как узнать версию samba linux. 5. как узнать версию samba linux фото. как узнать версию samba linux-5. картинка как узнать версию samba linux. картинка 5.

Далее необходимо выполнить Резервное копирование файла smb.conf, затем удалить ее и создать новую:

Добавьте этот код в файл smb.conf (или измените его в соответствии с вашими требованиями):

Ubuntu настройка Samba

Измените его, таким образом, что бы каждый мог читать и писать (Проверьте, что это разрешено в вашей системе или нет):

Пользователи и Группы Samba

Добавить группу на сервер Ubuntu (в моем случае smbgrp):

Источник

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 с именем пользователя, пароль нужно будет ввести интерактивно.

как узнать версию samba linux. smbtree. как узнать версию samba linux фото. как узнать версию samba linux-smbtree. картинка как узнать версию samba linux. картинка smbtree.

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

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

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

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

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

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

как узнать версию samba linux. smbclient. как узнать версию samba linux фото. как узнать версию samba linux-smbclient. картинка как узнать версию samba linux. картинка smbclient.

Кстати, вместо имени компьютера можно указать 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. Для просмотра шары, защищённой паролем, нужно использовать команду вида:

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

как узнать версию samba linux. smbclient share password. как узнать версию samba linux фото. как узнать версию samba linux-smbclient share password. картинка как узнать версию samba linux. картинка smbclient share password.

Команды SMB в Linux

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

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

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

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

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

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

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

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

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

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

как узнать версию samba linux. dir. как узнать версию samba linux фото. как узнать версию samba linux-dir. картинка как узнать версию samba linux. картинка dir.

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

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

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

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

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

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

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

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

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

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

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

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

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

как узнать версию samba linux. mput. как узнать версию samba linux фото. как узнать версию samba linux-mput. картинка как узнать версию samba linux. картинка mput.

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

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

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

как узнать версию samba linux. allinfo. как узнать версию samba linux фото. как узнать версию samba linux-allinfo. картинка как узнать версию samba linux. картинка allinfo.

В выводимой информации можно увидеть альтернативное (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:

как узнать версию samba linux. windows share. как узнать версию samba linux фото. как узнать версию samba linux-windows share. картинка как узнать версию samba linux. картинка windows share.

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

как узнать версию samba linux. windows share linux 2. как узнать версию samba linux фото. как узнать версию samba linux-windows share linux 2. картинка как узнать версию samba linux. картинка windows share linux 2.

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

Напомню, что в предыдущей части я не только настроил папку для входа без пароля, но на том же самом компьютере и настроил вторую папку с именем 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):

как узнать версию samba linux. linux smb. как узнать версию samba linux фото. как узнать версию samba linux-linux smb. картинка как узнать версию samba linux. картинка linux smb.

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

как узнать версию samba linux. linux smb 2. как узнать версию samba linux фото. как узнать версию samba linux-linux smb 2. картинка как узнать версию samba linux. картинка linux smb 2.

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

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

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

как узнать версию samba linux. linux smb 3. как узнать версию samba linux фото. как узнать версию samba linux-linux smb 3. картинка как узнать версию samba linux. картинка linux smb 3.

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

Связанные статьи:

как узнать версию samba linux. geekbrains. как узнать версию samba linux фото. как узнать версию samba linux-geekbrains. картинка как узнать версию samba linux. картинка geekbrains.

Рекомендуется Вам:

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

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

есть правда пара моментов:

1. при открытии файлов из расшареных папок винды в линуксе отсутствую права доступа,

тем не менее огромное спасибо.

Приветствую! По поводу второй проблемы — не происходит автоматическое монтирование. Одной из причин может быть то, что когда обрабатываются записи в файле /etc/fstab, ещё не выполнено подключение к сети — в этом случае монтирование завершится неудачей.

Но вы можете использовать опцию _netdev, которую можно указать в файле /etc/fstab, эта опция означает, что файловая система находится на устройстве, которому требуется доступ к сети (используется для предотвращения попыток системы смонтировать эти файловые системы до тех пор, пока в системе не будет включена сеть).

И ещё, конечно, Windows должен быть уже включен на момент загрузки Linux, поскольку монтирование из /etc/fstab срабатывает при загрузке системы.

Вы также можете посмотреть причины неудачного монтирования командой:

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

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

Здравствуйте. Огромное спасибо за развернутый ответ по моим вопросам.

1. по поводу поводу доступа к файлам: да действиетльно проблема в правах на линуксе. создал папки от обычного пользователя в них смонтировал шары и все открывается и редактируется(ну по крайней мере то что открывал и редактировал).

2. по поводу автоматического монтирования: да действительно похоже что проблема в подключении к сети. Wicd долго ищет сеть и подключается к ней, поэтому навреное и не монтируются папки автоматически.

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

сейчас я все отрепетировал на тестовом ноуте и все работает в удовлетворительном режиме. Теперь мне надо те же манипуляции сделать с рабочим компом. есть ли смысл искать информацию по этому вопросу?

Приветствую! Не совсем понял, вам нужно выполнить одноразовое действие? Если так, ИМХО, быстрее получится настроить руками, чем программировать скрипт. В любом случае, как минимум, можно всё, что вы вводите в консоли, поместить в файл скрипта и запускать его вручную или добавить в автозагрузку. Для добавления строк в файл /etc/fstab можно использовать echo вместе с sudo. То есть заскриптовать можно абсолютно любые действия, но на отладку скрипта уйдёт больше времени, чем выполнить один раз вручную.

Если затруднение вызывают консольные текстовые редакторы (чтобы добавить строку в /etc/fstab), то самый простой из них это nano, или если доступ к удалённой системы осуществляется по SSH, то можно смонтировать удалённую файловую систему (без SMB, нужен только SSH) и работать с удалённой файловой системой как с локальной, подробности в «Сетевая файловая система SSHFS».

Здравствуйте. Благодарю за ответ.

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

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

Приветствую! Эти утилиты находятся в пакете smbclient. Статью я поправил.

спасибо, утилиты установились, но:

Sharename Type Comment
——— —- ——-
ADMIN$ Disk Удаленный Admin
C$ Disk Стандартный общий ресурс
D Disk
D$ Disk Стандартный общий ресурс
Downloads Disk
Downloads2 Disk
HP DJ 4720 series Printer HP DJ 4720 series
IPC$ IPC Удаленный IPC
print$ Disk Драйверы принтеров
Users Disk
Фильмы Disk
Reconnecting with SMB1 for workgroup listing.
protocol negotiation failed: NT_STATUS_CONNECTION_RESET
Failed to connect with SMB1 — no workgroup available
root@D:/home/avp#

имя рабочей группы проверил.

В вашем сообщении сказано, что на компьютере с Windows отключена SMB1.

Было бы неплохо, если вы начали чтение с первой части, там среди прочего есть:

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

Но, на самом деле, почти с каждым большим обновлением Windows, Microsoft отключает разные вещи связанные с SMB в результате компьютеры в локальной сети перестают видеть друг друга и/или не получается подключиться к сетевым папкам, пока не включишь отключенные протоколы — есть мнение, что таким «незамысловатым» способом они продвигают свой OneDrive. Это я к тому, что хотя мои статьи довольно свежие и я всё перепроверял в последних версиях Windows, даже в них уже могло что-то устареть. Поэтому если возникнут ошибки — пишите, попытаемся разобраться и обновить материал в статьях.

Источник

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

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