- Linux подключить smb папку
- Подключение общей папки Azure через протокол SMB в Linux
- Применяется к
- Предварительные требования
- Подключение файлового ресурса Azure по запросу с помощью
- Автоматически подключать общие папки
- Статическое подключение с помощью /etc/fstab
- Динамическое подключение с помощью autofs
- Дальнейшие действия
- Монтирование сетевой папки в Linux
- Монтирование сетевой папки в Linux
- Монтирование SMB/Samba
- Обнаружение SMB-шар
- Монтирование SMB
- Аутентификация на SMB-шаре
- Монтирование SMB-ресурсов через fstab
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 |
|
|
Ubuntu | Шифрование AES 128 GCM: 18.04.5 LTS+ | Шифрование AES 128 CCM: 16.04.4 LTS+ |
Red Hat Enterprise Linux (RHEL) |
| 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
Источник