Linux подключить smb папку

Linux подключить smb папку

Машины с Linux (UNIX) могут также просматривать и монтировать SMB-ресурсы. Заметьте, что это может быть сделано когда сервером является либо машина с Windows, либо с сервером Samba!

Программа клиента SMB для UNIX-машин включена в дистрибутив Samba. Она обеспечивает ftp-подобный интерфейс командной строки. Вы можете использовать эту утилиту для переноса файлов между ‘сервером’ под управлением Windows и клиентом под Linux.

Большинство дистрибутивов Linux также включают полезный пакет smbfs, который позволяет монтировать и размонтировать SMB-ресурсы. Больше информации о smbfs можно получить дальше.

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

где ‘host’ это имя машины, которую вы хотите видеть. Эта команда вернет список имен ‘сервисов’ — т.е. имен дисков или принтеров к которым может быть получен доступ. До тех пор, пока SMB сервер не будет настроен без управления доступом, он будет запрашивать у вас пароль. Введите в ответ на запрос пароль для пользователя ‘гость (guest)’ или ваш персональный пароль на этой машине.

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

Browse list показывает другие SMB сервера в сети с доступными ресурсами.

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

где ‘service’ — имя машины и сервиса. Например, если вы пытаетесь обратиться к директории, которая доступна под именем ‘public’ на машине названной ‘zimmerman’, то имя сервиса должно звучать как \\zimmerman\public. Однако в следствии ограничений оболочки, вам необходимо спрятать обратный слэш, так что в итоге это командная строка выглядеть следующим образом:

где ‘mypasswd’ — символьная строка вашего пароля.

Вы получите приглашение smbclient:

Напечатайте ‘h’ чтобы получить помощь об использовании smbclient:

Если вы умеете использовать ftp, то вам не будут нужны справочные страницы о smbclient.

Хотя вы можете использовать smbclient для тестирования, вы скоро устанете использовать его в работе. Для работы вам скорее всего понадобится пакет smbfs. Smbfs поставляется с двумя простыми утилитами, smbmount и smbumount. Они работают подобно mount и umount для SMB-ресурсов.

Одно важное замечание: Чтобы использовать эти утилиты, у вас должна быть поддержка smbfs вкомпилированная в ядро!

Следующий пример показывает типичное использование smbmount для монтирования SMB-ресурса, названного «customers» с машины с именем «samba1»:

Запуск команды mount покажет вам, что ресурс смонтирован, точно также как и через экспорт NFS:

Пожалуйста прочитайте справочные страницы smbmount и smbumount для дополнительной информации о описанных выше операциях.

Источник

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

Файлы Azure — это простая в использовании облачная файловая система от Майкрософт. Файловые ресурсы Azure можно подключить в дистрибутивах Linux с помощью SMB-клиента в ядре.

Рекомендуемый способ подключения общей папки Azure в Linux состоит в использовании SMB 3.1.1. По умолчанию для Файлов Azure требуется шифрование при передаче, поддерживаемое SMB 3.0+. Служба Файлов Azure также поддерживает протокол SMB 2.1, который не обеспечивает шифрование при передаче, но с помощью SMB 2.1 нельзя подключать общие папки Azure из другого региона или локальной среды Azure по соображениям безопасности. Если приложению специально не требуется SMB 2.1, используйте SMB 3.1.1.

Distribution SMB 3.1.1 SMB 3.0
Версия ядра Linux
  • Базовая поддержка 3.1.1: 4.17
  • Подключение по умолчанию: 5.0
  • Шифрование AES 128 GCM: 5.3
  • Базовая поддержка 3.0: 3.12
  • Шифрование AES 128 GCM: 4.11
Ubuntu Шифрование AES 128 GCM: 18.04.5 LTS+ Шифрование AES 128 CCM: 16.04.4 LTS+
Red Hat Enterprise Linux (RHEL)
  • Базовый: 8.0+
  • Подключение по умолчанию: 8.2+
  • Шифрование AES 128 GCM: 8.2+
7.5 или выше
Debian Базовый: 10+ Шифрование AES 128 CCM: 10+
SUSE Linux Enterprise Server Шифрование AES 128 GCM: 15 SP2+ Шифрование AES 128 CCM: 12 SP2+

Если ваш дистрибутив Linux отсутствует в таблицы выше, можно проверить версию ядра Linux с помощью команды uname :

Поддержка SMB 2.1 добавлена в ядро Linux версии 3.7. Если вы используете версию ядра Linux выше 3.7, она должна поддерживать SMB 2.1.

Применяется к

Тип общей папки SMB NFS
Стандартные общие папки (GPv2), LRS/ZRS
Стандартные общие папки (GPv2), GRS/GZRS
Общие папки уровня «Премиум» (FileStorage), LRS/ZRS

Предварительные требования

Проверьте, установлен ли пакет cifs-utils.
Пакет cifs-utils можно установить с помощью диспетчера пакетов в дистрибутиве Linux по своему усмотрению.

В дистрибутивах Ubuntu и Debian используйте диспетчер пакетов apt :

В дистрибутиве Red Hat Enterprise Linux 8+ используйте диспетчер пакетов dnf :

В более старых версиях Red Hat Enterprise Linux используйте диспетчер пакетов yum :

В SUSE Linux Enterprise Server используйте диспетчер пакетов zypper :

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

Самая последняя версия интерфейса командной строки (CLI) Azure. Дополнительные сведения об установке Azure CLI см. в статье Установка Azure CLI и выберите операционную систему. Если вы предпочитаете использовать модуль Azure PowerShell в PowerShell 6+, учтите, что приведенные в этой статье инструкции относятся к Azure CLI.

Откройте порт 445. Взаимодействие SMB выполняется через TCP-порт 445. Проверьте, чтобы брандмауэр не блокировал TCP-порты 445 с клиентского компьютера. Замените и , затем выполните следующий сценарий.

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

Если не удается открыть порт 445 в корпоративной сети или выполнить это с помощью провайдера услуг Интернета, можно использовать VPN-подключение или ExpressRoute для обхода порта 445. Дополнительные сведения см. в разделе Рекомендации по работе с сетями для прямого доступа к общей папке Azure.

Подключение файлового ресурса Azure по запросу с помощью

При подключении общей папки в ОС Linux удаленный файловый ресурс будет представлен в виде папки в локальной файловой системе. Общие файловые ресурсы можно подключить в любом месте системы. В следующем примере показано подключение по пути /mount . Вы можете изменить его на нужный путь, поменяв переменную $mntRoot .

Замените , и соответствующей информацией из своей среды:

Затем подключите общий файловый ресурс с помощью команды mount . В следующем примере команда $smbPath заполняется с помощью полного доменного имени для конечной точки файла учетной записи хранения, а $storageAccountKey заполняется ключом учетной записи хранения.

Начиная с версии ядра Linux 5.0, SMB 3.1.1 является согласованным протоколом по умолчанию. Если вы используете версию ядра Linux старше 5.0, укажите vers=3.1.1 в списке параметров подключения.

Можно использовать uid / gid или dir_mode и file_mode в параметрах подключения для команды mount , чтобы задать разрешения. Дополнительные сведения о настройке разрешений см. в разделе Цифровая нотация UNIX в Википедии.

При необходимости можно подключить одну и ту же общую папку Azure к нескольким точкам подключения. Завершив работу с общей папкой Azure, вы можете отключить ее с помощью sudo umount $mntPath .

Автоматически подключать общие папки

При подключении общей папки в ОС Linux удаленный файловый ресурс будет представлен в виде папки в локальной файловой системе. Общие файловые ресурсы можно подключить в любом месте системы. В следующем примере показано подключение по пути /mount . Вы можете изменить его на нужный путь, поменяв переменную $mntRoot .

Чтобы подключить общую папку Azure в Linux, используйте имя учетной записи хранения в качестве имени пользователя общей папки и ключ учетной записи хранения в качестве пароля. Так как учетные данные учетной записи хранения могут со временем измениться, их следует хранить отдельно от конфигурации подключения.

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

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

Статическое подключение с помощью /etc/fstab

Используя более раннюю среду, создайте папку для учетной записи хранения или общей папки в папке подключения. Замените на соответствующее имя общей папки Azure.

Наконец, создайте запись в файле /etc/fstab для общей папки Azure. В приведенной ниже команде по умолчанию использованы разрешения для файлов и папок Linux 0755, что означает права на чтение, запись и выполнение для владельца (имеется в виду владелец файла/каталога Linux), права на чтение и выполнение для пользователей в группе владельца, а также права на чтение и выполнение для прочих пользователей системы. При необходимости вы можете задать для подключения альтернативные разрешения uid и gid или dir_mode и file_mode . Дополнительные сведения о настройке разрешений см. в разделе Цифровая нотация UNIX в Википедии.

Начиная с версии ядра Linux 5.0, SMB 3.1.1 является согласованным протоколом по умолчанию. Можно указать альтернативные версии протокола с помощью параметра подключения vers (версии протокола: 3.1.1 , 3.0 и 2.1 ).

Динамическое подключение с помощью autofs

Чтобы динамически подключить общую папку через служебную программу autofs , установите ее с помощью диспетчера пакетов в дистрибутиве Linux по своему усмотрению.

В дистрибутивах Ubuntu и Debian используйте диспетчер пакетов apt :

В дистрибутиве Red Hat Enterprise Linux 8+ используйте диспетчер пакетов dnf :

В более старых версиях Red Hat Enterprise Linux используйте диспетчер пакетов yum :

В SUSE Linux Enterprise Server используйте диспетчер пакетов zypper :

Затем обновите файлы конфигурации autofs .

Последним шагом является перезапуск службы autofs .

Дальнейшие действия

Дополнительные сведения о службе файлов Azure см. по следующим ссылкам.

Источник

Монтирование сетевой папки в Linux

В одной из прошлых статей мы рассматривали как настраивать сетевые папки в Linux с помощью NFS. Если в Windows используется для этих целей Samba, то в Linux принято организовывать общие папки с помощью сетевой файловой системы NFS.

В этой статье мы поговорим о том как монтировать такие папки вручную, а также как настроить их монтирование при обращении с помощью autofs. Так вы будете экономить трафик между серверами и получите неплохую производительность.

Монтирование сетевой папки в Linux

Для того чтобы примонтировать сетевую папку в системе должен быть установлен пакет nfs-commons. В Ubuntu его можно установить такой командой:

sudo apt install nfs-common

Затем можно выполнять монтирование с помощью обычной команды mount, которой надо передать адрес сервера NFS и путь к папке в файловой системе сервера. Например, чтобы смонтировать папку /var/nfs выполните:

sudo mount ip_адрес:/var/nfs /mnt

Никакой авторизации в NFS нет, поддерживается только ограничение доступа по IP адресу, поэтому монтирование должно пройти успешно. Если статическое монтирование работает хорошо, можно переходить к настройке autofs. Не забудьте размонтировать сетевую папку:

sudo umount /mnt

Сначала нужно установить этот сервис. Для этого в Ubuntu выполните команду:

sudo apt install autofs

Все настройки сетевых папок, которые надо монтировать находятся в файле /etc/auto.master. Каждая строчка представляет из себя отдельную папку и имеет такой синтаксис:

/точка/монтирования /файл/с/карты —timeout=значение

Здесь файл карты, обычно это /etc/auto.misc — файл в котором более подробно описано что и куда надо монтировать. Синтаксис одной записи в файле /etc/auto.misc такой:

/точка/монтирования опции_монтирования ip_адрес:/путь/к/сетевой/папке

Для примера будем монтировать ту же сетевую папку /var/nfs на сервере 185.117.155.209 в локальную папку /mnt. В файл /etc/auto.master надо добавить такую строчку:

sudo vi /etc/auto.master

/mnt /etc/auto.nfs —timeout=100

Здесь мы сообщаем, что общая папка монтирования для всех ресурсов, описанных в файле /etc/auto.nfs — /mnt и если к ресурсу не обращаются на протяжении 100 секунд, то её следует размонтировать. Далее надо добавить описание монтирования в файл /etc/auto.nfs:

sudo vi /etc/auto.nfs

share -fstype=nfs4,rw 185.117.155.209:/var/nfs

Здесь — share это точка монтирования нашей сетевой папки в папке /mnt, затем идут опции монтирования, а потом адрес сервера и путь к папке на удалённой машине. Далее надо перезапустить сервис autofs:

sudo systemctl restart autofs

Затем можно попытаться обратиться к этой папке и она автоматически смонтируется:

Как видите, всё достаточно просто. Так и выполняется автоматическое монтирование сетевых папок в Linux. Но чтобы у вас появилась возможность создавать файлы в этой папке, надо чтобы сервер NFS был правильно настроен. Об этом смотрите предыдущую статью про настройку NFS.

Источник

Монтирование SMB/Samba

Чтобы обеспечить наилучшую совместимость для обмена файлами между различными ОС, Samba является распространенным решением. В Linux вы можете настроить сервер Samba для предоставления доступа клиентам, использующим протоколы Server Message Block (SMB) или Common Internet File System (CIFS) для доступа к этим общим ресурсам. Вы также можете настроить Linux в качестве клиента для серверов, предлагающих общие ресурсы SMB или CIFS, что позволяет серверам получать прямой доступ к общим ресурсам Windows. В этой статье вы узнаете, как смонтировать удаленную файловую систему SMB. Эта процедура может быть применена для монтирования SMB-совместимых общих ресурсов, которые предлагаются с любой платформы, поэтому она работает на общих ресурсах Windows и Linux.

Обнаружение SMB-шар

Перед тем как смонтировать общий ресурс SMB, убедитесь, что на клиентском компьютере установлены пакеты RPM cifs-utils и samba-client. Также вам необходимо добавить службу samba-client в конфигурацию брандмауэра на клиенте с помощью firewall-cmd —add-service samba-client —permanent; firewall-cmd —reload. После установки вы можете использовать команду smbclient -L для обнаружения доступных общих ресурсов SMB.

Команда smbclient запрашивает пароль текущего пользователя. Это связано с тем, что smbclient — это очень общая утилита, которая позволяет составлять список общих ресурсов, а также входить в общие ресурсы Samba на удаленных серверах и извлекать файлы с удаленного сервера. Однако для составления списка шар учетные данные не требуются. Итак, когда команда просит
пароль, вы можете просто нажать Enter. В качестве альтернативы вы можете использовать опцию -Uusername с smbclient для аутентификации с использованием действительной учетной записи пользователя Samba.

Вывод команды smbclient -L

]# smbclient -L 192.168.122.201
Enter root’s password:
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
Sharename Type Comment
——— —- ——-
data Disk Demo data directory
homedirs Disk LDAP user home directories
IPC$ IPC IPC Service (Samba Server Version
4.1.1)
Anonymous login successful
Domain=[MYGROUP] OS=[Unix] Server=[Samba 4.1.1]
Server Comment
——— ——-
IPA Samba Server Version 4.1.1
Workgroup Master
——— ——-
MYGROUP IPA

В спойлере вы можете увидеть, как утилита smbclient используется для обнаружения доступных общих ресурсов по IP-адресу 192.168.122.201. (Чтобы обойти возможные проблемы с разрешением имен, вместо имени используется IP-адрес хоста.) Затем команда запрашивает пароль текущего пользователя. Поскольку опция -L запрашивает только список доступных общих ресурсов и ничего больше, вы можете просто нажать Enter, чтобы проигнорировать этот вопрос. Далее отображается текущий домен или рабочая группа сервера Samba, а также доступные общие ресурсы.

В качестве альтернативы вы можете использовать команду net share -l. Эта команда перечисляет только общие ресурсы, доступные на сервере Samba, и не отображает дополнительную конфигурацию, которая отображается при использовании smbclient -L. Обратите внимание, что команда net share -l также выводит список общих принтеров, тогда как smblcient -L просто отображает общие каталоги. Команда net доступна в Linux для предоставления интерфейса командной строки, который более знаком администраторам Windows, которые хотят настроить общий доступ к файлам с сервера Linux.

Вывод результата команды net share -l

]# net share -l
Enter root’s password:
Anonymous login successful
Enumerating shared resources (exports) on remote server:
Share name Type Description
———- —- ————
sambashare Disk Sambashare
IPC$ IPC IPC Service (Samba Server Version 4.1.12)
textprinter Print textprinter
DummyPrinter Print DummyPrinter

Монтирование SMB

Чтобы смонтировать общий ресурс SMB, вы можете использовать команду mount. Вы можете использовать опцию -t cifs, чтобы указать, что монтируется на общий ресурс SMB, но без этой опции он также будет работать, потому что команда mount достаточно умна, чтобы самостоятельно определить, что это общий ресурс SMB, к которому вы хотите подключиться. Если на общем ресурсе разрешен гостевой доступ, вы можете указать опцию -o guest для аутентификации в качестве гостевого пользователя без пароля. Или же используйте параметр -o user = guest для той же цели.
Полная команда монтирования выглядит следующим образом:

mount -t cifs -o user=guest //192.168.122.200/data /mnt

Эта команда монтирует общий ресурс /data, который доступен на 192.168.122.200 в локальном каталоге /mnt. Обратите внимание, что вы сможете получить доступ к файлам в общем ресурсе, но не сможете записывать какие-либо файлы в общем ресурсе, потому что вы аутентифицированы как гостевой пользователь с ограниченными правами доступа к общему ресурсу.

Аутентификация на SMB-шаре

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

Чтобы указать имя пользователя Samba, которое вы хотите использовать, вы можете добавить опцию -o username=someone:

mount -o username=sambauser1 //server/share /somewhere

Когда вы делаете это, команда mount запрашивает пароль. Ниже пример, как находить и монтировать общие ресурсы Samba.

1. Зайдите на сервер под рутом.
2. Введите yum install -y cifs-utils samba-client, чтобы установить необходимые пакеты RPM.
3. Введите smbclient -L 192.168.122.200, чтобы получить список доступных общих ресурсов на сервере.
4. Введите mount -t cifs -o guest //192.168.122.200/data /mnt, чтобы смонтировать общий ресурс /data в качестве гостя в каталоге /mnt.
5. Введите mount, чтобы убедиться, что монтирование прошло успешно.

Монтирование SMB-ресурсов через fstab

В качестве альтернативы указанию учетных данных в файле /etc/fstab напрямую, вы можете использовать файл учетных данных. При использовании файла учетных данных сам файл учетных данных содержит имя пользователя, пароль и (необязательно) домен, к которому вы хотите подключиться. При использовании файла учетных данных его необходимо обязательно защитить. Лучший путь
чтобы защитить его, поместите его в домашний каталог пользователя root, установите для владельцев значение root:root и установите права 600.

Содержимое файла creds может выглядеть так
Расположение файла учетных данных описано в man mount.cifs.

Чтобы использовать файл учетных данных при монтировании из командной строки, вы можете включить параметр -o credentials=filename, как показано ниже:

Чтобы сделать то же самое из файла /etc/fstab, в файл /etc/fstab необходимо включить следующую строку:

Новость отредактировал: yatakoi — 28-12-2020, 16:13
Причина: В статью добавлено монтирование SMB через fstab

Источник

Читайте также:  Spybot search destroy windows 10
Оцените статью