Как примонтировать сетевой диск в linux
Иногда нужно быстро подмонтировать к Linux сетевую шару Windows. Делается это очень просто одной командой в консоли с помощью mount -t cifs.
10.1.5.43 | адрес шары |
/mnt/documents | точка монтирования |
user1 | пользователь с доступом к шаре |
pass123 | пароль пользователя |
Если получаете ошибку примерно такого содержания:
Установите пакет cifs-utils:
Debian/Ubuntu | # apt-get install -y cifs-utils |
Centos/RHEL | # yum install -y cifs-utils |
После этого должно монтироваться нормально, если нет других ошибок.
Чтобы подмонтировать виндовую шару навечно, надо отредактировать fstab:
Вот и все, после перезагрузки шара будет автоматически монтироваться.
Онлайн курс по Linux
Помогла статья? Подписывайся на telegram канал автора
Автор Zerox
12 комментариев
Все объекты, что в шаре, стали иметь владельца root)))
Даже если монтировать через sudo.
Спасибо тебе большое , добрый человек, за правильную команду mount -t cifs //10.1.5.43/documents /mnt/documents -o user=user1,password=pass123 .
При попытке использовать опции -t и -o получаем отлуп — только рут может использовать данные ключи.
Как обойти это при монтировании смб-шары пользователем с обычными правами?
Внесу, пожалуй, свои 5 копеек:
1) Монтирование шары через fstab — не по феншую, ввиду наличия проблем с загрузкой, в случае недоступности шары. Давно уже придуманы systemd mount-unit’ы — они позволяют монтироваться автоматически, при обращении к шаре или, если это требуется, монтироваться после инициализации сети (aka network-online.target).
2) Замечу так же, что для получения нормальной скорости, при переходе на 4-ю версию самбы, требуется фиксить версии используемых протоколов. В противном случае получим значительный просад по скорости. Конфиги при этом требуется править как на сервере, так и на клиенте указывая минимальную версию протокола — SMB2. Примерно так:
server min protocol = SMB2
server max protocol = SMB3
client min protocol = SMB2
client max protocol = SMB3
min protocol = SMB2
max protocol = SMB3
client ipc min protocol = SMB2
В случае монтирования из консоли, так же лучше указать это в опциях, пример:
sudo mount \
-t cifs //10.1.5.43/documents /mnt/documents \
-o uid=$(id -u),gid=$(id -g),rw,vers=3.0,user=user1,password=pass123
где `vers=3.0` — версия протокола
Спасибо за содержательное и полезное дополнение. Сразу ответили на вопрос, который давно у меня зрел в голове, но никак не доходили руки уточнить. Как явно указать использовать определенную версию протокола smb.
Вы уверены что надо так: \\10.1.5.43\documents .
а не так: //10.1.5.43/documents
Пробовал у себя как у Вас в примере написано, не заработало, повернул слеши и шара подцепилась.
Правда у меня не CentOS, а Mageia, но fstab думаю и в Африке fstab :))
Спасибо за замечание. Вы правы, слеши должны быть в другую сторону, как и в команде на ручное монтирование. Это была ошибка.
Добрый день! Подскажите пож-та, может сталкивались с такой проблемой и решили её: Есть Ubuntu 18.04 Gui gnome, введена в домен AD, логинятся доменные пользователи. Доступ залогиненных доменных пользователей к обменной папке на win2008r2 производится следующим образом: через nautilus-> другие места-> smb://server/obmen. В Nautilus появляется примонтированный obmen. Нажимаю ПКМ и добавляю в закладки(закладка останется в списке постоянно). Но при интенсивной работе c файлами в обменнике, он периодически отваливается с одной из двух ошибок: 1. Не удалось показать «server-11(smb)». Неизвестный тип файла 2. Ой, что-то пошло не так. Недостаточно прав для получения доступа к запрошенному адресу. Если выполнить smbclient -L server, то папку obmen видно. К папкам на других серверах доступ остаётся. В smb.conf вписал client max protocol = NT1. Есть подозрение, что проблема кроется в libreoffice, который не совсем корректно работает с файлами по сети. Как можно примонтировать сетевую папку скриптом в автозагрузке доменного пользователя, чтобы была сквозная доменная авторизация(пароли доменных пользователей меняются раз два месяца) т.к. нет возможности явно указать пароли в fstab?
Думаю, что тут стоит копать проблему и разбираться, почему сетевой диск отваливается. По автозагрузке ничего не скажу, я такой кейс не эксплуатировал ни разу.
Команда для автоматического монтирования не сработала. Добавил в /etc/fstab. Подскажите в чем может быть проблема. Может какие-то логи можно посмотреть?
В логах должна отразиться ошибка. Если через fstab совсем не получается и не понятно почему, а через консоль монтирует, то можно команду для монтирования через консоль просто добавить в /etc/rc.local Эффект будет тот же самый.
слеши в начале строчки разверни в другую сторону, по линуксовому =)
linux
Как подключить сетевой диск Windows в Linux
- Получить ссылку
- Электронная почта
- Другие приложения
Как подключить сетевой диск Windows в Linux
Примечание. Если вы используете дистрибутив, основанный на SystemD (Debian версии 8 и выше, Ubuntu версии 15.04 и выше, Fedora, ArchLinux. ), применение файла /etc/fstab для автоматического монтирования файловых систем является нежелательным, так как SystemD использует несколько другой механизм для монтирования файловых систем, хотя он и обратно совместим с /etc/fstab. Узнать, как можно использовать возможности SystemD для монтирования файловых систем можно в статье SystemD Automount
Монтирование сетевого диска windows (samba) в linux.
После перезагрузки должен монтироваться по клику на папку
Команда mount в Linux или все о монтировании разделов, дисков, образов ISO и SMB ресурсов.
Содержание
Диск /dev/sda: 40.0 ГБ, 40020664320 байт
255 heads, 63 sectors/track, 4865 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Disk identifier: 0x815aa99a
Устр-во | Загр | Начало | Конец | Блоки | Id | Система |
/dev/sda1* | 1 | 1824 | 14651248+ | 83 | Linux | |
/dev/sda2 | 4742 | 4865 | 996030 | 82 | Linux | своп / Solaris |
/dev/sda3 | 1825 | 4741 | 23430802+ | 83 | Linux |
Пункты таблицы разделов расположены не в дисковом порядке
Диск /dev/sdb: 80.0 ГБ, 80026361856 байт
255 heads, 63 sectors/track, 9729 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Disk identifier: 0x973248ad
Устр-во Загр Начало Конец Блоки Id Система
/dev/sdb1 * 1 9729 78148161 83 Linux
Диск /dev/sdc: 1027 МБ, 1027604480 байт
32 heads, 62 sectors/track, 1011 cylinders
Units = цилиндры of 1984 * 512 = 1015808 bytes
Disk identifier: 0x6f20736b
Из листинга выше видно, что к операционной системе подключено:
- два жестких диска: /dev/sda — операционная система и /dev/sdb — «файловая помойка»
- сменный USB-носитель: /dev/sdc
- в первой строке сообщается, что в качестве корневой ФС выступает файловая система reiserfs с параметрами монтирования: доступ на чтение и запись (rw)
- /dev/sda3 — это раздел диска /home
- /dev/sdc — это примонтированное сменное USB-устройство
Этого же результата можно достигнуть посмотрев содержимое файла /etc/mtab (в некоторых системах Linux файл называется /etc/mnt/tab)
Так же этот параметр может принимать значения:
Чтобы вручную задать параметры доступа к примонтированному разделу следует указать параметр:
- -o rw
- -o ro
Первый разрешает чтение и запись, второй только чтение. Ну например, так:
- Получить ссылку
- Электронная почта
- Другие приложения
Комментарии
Отправка комментария
Популярные сообщения из этого блога
Автоматическое монтирование дисков и разделов в Linux или что такое fstab? Проблема Debian
Автоматическое монтирование дисков и разделов в Linux или что такое fstab?
Существует простой способ перемонтирования всех разделов из /etc/fstab без перезагрузки системы.
Выполните следующую команду от рута :
# mount -a
Эта простая команда перемонтирует все файловые системы указанные в /etc/fstab, за исключением разделов с опцией noauto.
В результате обычного монтирования командой mount параметры будут сохранены до первой перезагрузки ОС. Подробнее о использовании команды mount можно прочитать статью «Команда mount в Linux или все о монтировании разделов, дисков, образов ISO и SMB ресурсов». После перезагрузки ОС все эти действия необходимо производить заново. Чтобы монтирование происходило в автоматическом режиме, при каждой загрузке операционной системы, нужно отредактировать конфигурационный файл fstab.
В этой статье подробно рассмотрен вопрос автоматического монтирования разделов жесткого диска и других накопителей при старте операционной системы Линукс. 1. Что такое /…
Подключение USB флешки к Debian
Подключение USB флешки к Debian Если мы просто вставим флешку в компьютер с Debian то внешне ничего не произойдёт и в какую директорию переходить, чтобы найти файлы с флешки — неизвестно. Чтобы зайти в папку флешки — нужно её сначала примонтировать.
Пойдём по порядку.
После того, как флешка вставлена в USB-порт, нужно определить каким устройством её определила система. Для этого набираем слудующую команду:
fdisk -l /dev/sdb или sda
Она даёт нам таблицу, где можно найти своё устройство (например по названию файловой системы) и увидеть присвоенную ему метку. В нашем случае это /dev/sdb1
Теперь можно монтировать флешку например в каталог /mnt.
Монтирование сетевой папки в 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.
Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.
Как подключить сетевой диск Windows в Linux
Примечание. Если вы используете дистрибутив, основанный на SystemD (Debian версии 8 и выше, Ubuntu версии 15.04 и выше, Fedora, ArchLinux. ), применение файла /etc/fstab для автоматического монтирования файловых систем является нежелательным, так как SystemD использует несколько другой механизм для монтирования файловых систем, хотя он и обратно совместим с /etc/fstab. Узнать, как можно использовать возможности SystemD для монтирования файловых систем можно в статье SystemD Automount
Монтирование сетевого диска windows (samba) в linux.
После перезагрузки должен монтироваться по клику на папку
Команда mount в Linux или все о монтировании разделов, дисков, образов ISO и SMB ресурсов.
Содержание
Диск /dev/sda: 40.0 ГБ, 40020664320 байт
255 heads, 63 sectors/track, 4865 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Disk identifier: 0x815aa99a
Устр-во | Загр | Начало | Конец | Блоки | Id | Система |
/dev/sda1* | 1 | 1824 | 14651248+ | 83 | Linux | |
/dev/sda2 | 4742 | 4865 | 996030 | 82 | Linux | своп / Solaris |
/dev/sda3 | 1825 | 4741 | 23430802+ | 83 | Linux |
Пункты таблицы разделов расположены не в дисковом порядке
Диск /dev/sdb: 80.0 ГБ, 80026361856 байт
255 heads, 63 sectors/track, 9729 cylinders
Units = цилиндры of 16065 * 512 = 8225280 bytes
Disk identifier: 0x973248ad
Устр-во Загр Начало Конец Блоки Id Система
/dev/sdb1 * 1 9729 78148161 83 Linux
Диск /dev/sdc: 1027 МБ, 1027604480 байт
32 heads, 62 sectors/track, 1011 cylinders
Units = цилиндры of 1984 * 512 = 1015808 bytes
Disk identifier: 0x6f20736b
Как смонтировать сетевую папку Windows/Samba в Linux
Сетевая папка Windows может быть доступна в файловых менеджерах Linux как любая другая локальная папка. Для этого её нужно смонтировать. После монтирования не придётся использовать консоль для просмотра списка файлов и скачивания или закачивания файлов.
Начните с установки пакета cifs-utils.
В Debian, Linux Mint, Ubuntu, Kali Linux и производных выполните:
В Arch Linux, BlackArch и производных выполните:
Предыдущие команды smbtree и smbclient понимали имена компьютеров Windows, такие имена как HACKWARE-MIAL. Монтирование выполняется с помощью команды mount, которая такие имена не умеет обрабатывать без помощи преобразования имён DNS. Поэтому при монтировании можно либо:
- Использовать вместо имён компьютеров IP адрес. В этом случае у компьютера с сетевой папкой должен быть постоянный (статичный) IP адрес
- Либо настроить преобразование имён для компьютеров Windows. Это можно сделать, например, с помощью файла /etc/hosts. Кстати, в этом случае у компьютера с общей папкой также должен быть постоянный IP адрес (смотрите Как настроить локальный DNS используя файл /etc/hosts в Linux)
В общем, в любом случае настройте в роутере или в самой Windows постоянный локальный IP.
Если вы хотите настроить преобразование имён с помощью файла /etc/hosts, то откройте его:
И добавьте туда запись вида
Например, у меня IP_АДРЕС это 192.168.0.101, а именем компьютера является HACKWARE-MIAL, тогда я добавляю следующую запись:
Пингуем по имени компьютера Windows, чтобы убедиться, что всё сработало:
Теперь нам нужно создать точку монтирования — папку, где появятся файлы из шары. Я создаю папку /mnt/share:
Чтобы не возникало проблем с правами доступа, папка, куда монтируется шара (например, /mnt/share/), должна принадлежать текущему пользователю Linux — если вы создавали папку без sudo, то она уже принадлежит обычному пользователю. Но если вы создавали папку с sudo (например, иначе это невозможно сделать в /mnt/), то вам нужно поменять её владельца командой вида:
Чтобы узнать имя текущего пользователя выполните команду:
Например, чтобы поменять владельца папки /mnt/share/ на mial:
Теперь для монтирования сетевой шары Windows нужно запустить команду вида:
В этой команде вы должны вставить свои значения для
- //ИМЯ-КОМПЬЮТЕРА/Папка
- /точка/монтирования
Значение других элементов команды:
- sudo — монтировать шару можно и без прав суперпользователя, но использовать опцию -o, после которой указываются опции для монтирования, можно только с правами root
- -t cifs выбор файловой системы для монтирования
- -o означает, что после этой опции будут перечислены опции для монтирования:
- username=guest,password= — произвольное имя пользователя без пароля — используется для подключение к общей папки, для которой не требуется вход. Вместо этой конструкции можно указать просто guest, но в этом случае на некоторых системах всё равно запрашивается пароль. По моим наблюдениям, пароль запрашивается когда имя текущего пользователя на Linux совпадает с именем пользователя на Windows
- uid=1000 — в качестве владельцев всех файлов в шаре будет указан текущий пользователь Linux
- iocharset=utf8 — эта кодировка позволяет работать с именами файлов, в которых используются не только латинские буквы
К примеру, путь до сетевой шары у меня //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, как это было показано выше: