Linux mount linux network share

Монтирование 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

[root@localhost ~]# 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, а также доступные общие ресурсы.

Читайте также:  Знание сервисных служб linux

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

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

[root@server1 ~]# 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:

Читайте также:  Linux alias for user

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

При монтировании файловых систем SMB через /etc/fstab вам необходимо учесть конкретную проблему: вам необходимо указать учетные данные пользователя, необходимые для выполнения монтирования. На общем ресурсе NFS это не обязательно, поскольку пользователь, который по умолчанию обращается к общей файловой системе, делает это, используя свои собственные учетные данные. При монтировании общего ресурса Samba через /etc/fstab эти учетные данные пользователя обычно указываются с параметрами username= и password=, но не рекомендуется помещать их в виде открытого текста в файл /etc/fstab.

Не забудьте включить параметр монтирования _netdev в /etc/fstab, а также для всего, что связано с сетью, для монтирования, которое будет завершено. Это гарантирует, что монтирование будет сделано намного быстрее. Также обязательно включите параметр x-systemd.automount, который гарантирует оптимальную интеграцию с systemd и значительно ускоряет монтирование.

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

Содержимое файла creds может выглядеть так

username=user password=secret domain=mydomain

Расположение файла учетных данных описано в man mount.cifs.

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

mount -t cifs -o credentials=/root/creds //server1/data /mnt/data

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

//server1/data /mnt/data cifs _netdev,, x-systemd. automount,credentials=/root/creds 0 0

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

Источник

Linux — монтируем шару CIFS

Linux

CIFS (Common Internet File System) — протокол передачи данных по сети с одного устройства на другое. CIFS также называют SMB (Server Message Block). Пример: сетевая папка или диск для общего доступа.

Для работы CIFS/SMB необходимы порты:

Читайте также:  Linux поиск в подкаталогах

Для предоставления удалённого доступа используется TCP 445. Для разрешения имен NetBios используются порты UDP 137, 138 и TCP 139, без них будет работать только обращение по IP адресу.

В Windows поддержка CIFS/SMB есть по умолчанию. В Linux CIFS/SMB реализуется с помощью samba.

Ссылки

Установка пакета для работы CIFS

Монтирование CIFS вручную

mount.cifs или mount -t cifs

Пример монтирования общей папки public на сервере с IP адресом 10.20.30.40 в локальную папку /mnt:

mount.cifs //10.20.30.40/public /mnt

Пример монтирования папки share на сервере с IP адресом 10.20.30.40 в локальную папку /mnt от имени пользователя v.pupkin:

mount.cifs //10.20.30.40/share /mnt -o user=v.pupkin

Пример монтирования папки share на сервере с IP адресом 10.20.30.40 в локальную папку /mnt от имени пользователя v.pupkin в домене ilab.local:

mount.cifs //10.20.30.40/share /mnt -o user=v.pupkin,domain=ilab.local

Монтирование CIFS автоматически через fstab

Создаём файл для хранения логина и пароля. Лучше скрытый.

username=v.pupkin password=MySecretPassw0rd domain=ilab.local

Добавляем строку в /etc/fstab:

//10.20.30.40/share /mnt cifs user,rw,credentials=/root/.smbshare 0 0
  • //10.20.30.40/share — путь к монтируемой папке
  • /mnt — локальная папка для монтирования
  • cifs — тип файловой системы
  • user — позволяет монтировать любому пользователю
  • rw — чтение/запись
  • credentials — путь к файлу с логином и паролем для монтирования
  • 0 — индикатор резервной копии (0 — не используется)
  • 0 — порядок проверки раздела (0 — не проверять)

Монтируем перезагрузкой или командой:

Дополнительно

Монтирование CIFS с пробелом (заменяем пробел на \040):

//10.20.30.40/share\040with\040spaces /mnt cifs user,rw,credentials=/root/.smbshare 0 0

Монтировать от гостевой учётной записи:

//10.20.30.40/share /mnt cifs guest 0 0

Указать версию протокола SMB 3.0:

//10.20.30.40/share /mnt cifs user,rw,credentials=/root/.smbshare,vers=3.0 0 0

Монтировать под пользователем:

//10.20.30.40/share /mnt cifs defaults,uid=v.pupkin,gid=v.pupkin.group,rw,credentials=/root/.smbshare,vers=3.0 0 0
//10.20.30.40/share /mnt cifs defaults,uid=222,gid=222,rw,credentials=/root/.smbshare,vers=3.0,file_mode=0600,dir_mode=0700 0 0

Намекаем на виндовую шару:

//10.20.30.40/share /mnt cifs defaults,uid=222,gid=222,rw,credentials=/root/.smbshare,vers=3.0,file_mode=0600,dir_mode=0700,nounix 0 0
//fs.ilab.local/новая\040папка /mnt cifs defaults,uid=www-data,gid=www-data,rw,credentials=/root/.smbshare,vers=3.0,file_mode=0600,dir_mode=0700,nounix,codepage=cp1251,iocharset=utf8 0 0 

Теги

Похожие материалы

Установка VMware Tools на Ubuntu

Олег

Ubuntu

VMware Tools — бесплатный набор утилит для улучшения взаимодействия виртуальной машины и платформы VMware. В Интернете пишут про то, что от установки VMware Tools улучшается производительность виртуальной машины. В качестве примера указывают на то, что только в этом наборе утилит есть драйвера для сетевой карты vmxnet3. Не согласен, драйвера можно и отдельно поставить. В linux так и без этих драйверов сетевая карта работает нормально. А вот если у вас Windows Server — рекомендую vmxnet3, меньше глюков.

Источник

Оцените статью
Adblock
detector