Linux открыть сетевую папку через терминал

Linux: подключить общую сетевую папку Windows по SMB (CIFS)

В этой статье мы рассмотрим, как в Linux смонтировать общую сетевую папку, расположенную на хосте Windows. В Windows для доступа к общим сетевым папкам используется протокол SMB (Server Message Block), который ранее назывался CIFS (Сommon Internet File System). В Linux для доступа к сетевым папкам Windows по протоколу SMB можно использовать клиент cifs-utils или Samba.

Совет. Для доступа к сетевым папкам по SMB/CIFS используется порт TCP/445. Для разрешения имени используются порты UDP 137, 138 и TCP 139. Если эти порты закрыты, вы сможете подключиться к сетевой папке Windows только по IP адресу.

Смонтировать сетевую папку в Linux с помощью cifs-util

Вы можете смонтировать сетевую папку, находящуюся на Windows хосте, с помощью утилит из пакета cifs-util. Для установки пакета выполните команду:

  • В Ubuntu/Debian: $ sudo apt-get install cifs-utils
  • В CentOS/Oracle/RHEL: $ sudo dnf install cifs-utils

Создайте точку монтирования:

Теперь вы можете смонтировать сетевую папку с компьютера Windows под пользователем User03с помощью команды:

$ sudo mount.cifs //192.168.31.33/backup /mnt/share -o user=User03

Укажите пароль пользователя Windows для подключения к сетевой папке.

mount.cifs подключить сетевую папку smb в linux

При подключении сетевой SMB папки можно задать дополнительные параметры:

$ sudo mount -t cifs -o username=User03,password=PasswOrd1,uid=1000,iocharset=utf8 //192.168.31.33/backup /mnt/share

  • //192.168.31.33/backup – сетевая папка Windows
  • /mnt/share – точка монтирования
  • -t cifs – указать файловую систему для монтирования
  • -o опции монтирования (эту опцию можно использовать только с правами root, поэтому в команде используется sudo)
  • username=User03,password=PasswOrd1 – имя и пароль пользователя Windows, у которого есть права доступа к сетевой папке. Можно указать имя пользователя guest, если разрешен анонимный доступ к сетевой папке
  • iocharset=utf8 – включить поддержку кодировки UTF8 для отображения имен файлов
  • uid=1000 – использовать этого пользователя Linux в качестве владельца файлов в папке

команда mount cifs в linux

По умолчанию шары Windows монтируются в Linux с полными правами (0755). Если вы хотите изменить права по-умолчанию при монтировании, добавьте в команду опции:

dir_mode=0755,file_mode=0755

Если вы хотите использовать имя компьютера при подключении сетевого каталога Windows, добавьте в файл /etc/hosts строку:

Чтобы не указывать учетные данные пользователя Windows в команде монтирования сетевой папки, их можно сохранить в файле.

username=User03 password=PasswOrd1

сохранить пароль для подключения к сетевой папке в windows

Для подключения к папке под анонимным пользователем:

Если нужно указать учетную запись пользователя из определенного домена Active Directory, добавьте в файл третью строку:

$ chmod 600 ~/.windowscredentials

Теперь при подключении сетевой папки вместо явного указания имени пользователя и пароля можно указать путь к файлу:

$ sudo mount -t cifs -o credentials=/home/sysops/.windowscredentials,uid=1000,iocharset=utf8 //192.168.31.33/backup /mnt/share

Отмонтировать сетевую SMB папку:

Автоматическое монтирование сетевой папки в Linux

Можно настроить автоматическое монтирование сетевой папки Windows через /etc/fstab.

Читайте также:  Сервер доменных имен linux

Добавьте в файл следующую строку подключения SMB каталога:

//192.168.31.33/backup /mnt/share cifs user,rw,credentials=/home/sysops/.windowscredentials,iocharset=utf8,nofail,_netdev 0 0
  • rw – смонтировать SBM папку на чтение и запись
  • nofail – продолжить загрузку ОС если не удается смонтировать файловую систему
  • _netdev – указывает что подключается файловая система по сети. Linux не будет монтировать такие файловые системы пока на хосте не будет инициализирована сеть.

Вы можете указать версию протокола SMB, которую нужно использовать для подключения (версия SMB 1.0 считается небезопасной и отключена по-умолчанию в современных версиях Windows). Добавьте в конец строки с настройками подключения параметр vers=3.0 .

//192.168.31.33/backup /mnt/share cifs user,rw,credentials=/home/sysops/.windowscredentials,iocharset=utf8,nofail,_netdev,vers=3.0 0 0

Если на стороне хоста Windows используется несовместимая (старая версия) SMB, при подключении появится ошибка:

mount error(112): Host is downилиmount error(95): Operation not supported

Чтобы сразу смонтировать сетевую папку, выполните:

Linux: подключиться к сетевой папке с помощью клиента samba

Установите в Linux клиент samba:

  • В Ubuntu/Debian: $ sudo apt-get install smbclient
  • В CentOS/Oracle/RHEL: # dnf install smbclient

Для вывода всех SMB ресурсов в локальной сети:

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

Если в Windows запрещен анонимный доступ, появится ошибка:

session setup failed: NT_STATUS_ACCESS_DENIED

В этом случае нужно указать учетную запись пользователя Windows, которую нужно использовать для подключения:

smbclient -L //192.168.31.33 -U User03

Если нужно использовать учетную запись пользователя домена, добавьте опцию –W:

smbclient -L //192.168.31.33 -U User03 –W Domain

smbclient вывести список общих папок на компьютере windows

Для интерактивного подключения к сетевой папке Windows используется команда:

smbclient //192.168.31.33/backup -U User03 -W Domain

smbclient //192.168.31.33/backup -U User03

smbclient //192.168.31.33/backup -U Everyone

После успешного входа появится приглашение:

Вывести список файлов в сетевой папке:

smbclient вывести список файлов в сетевой папке linux

Скачать файл из сетевой папки Windows:

get remotefile.txt /home/sysops/localfile.txt

Сохранить локальный файл из Linux в SMB каталог:

put /home/sysops/localfile.txt remotefile.txt

Можно последовательно выполнить несколько команд smbclient:

$ smbclient //192.168.31.33/backup -U User03 -c «cd MyFolder; get arcive.zip /mnt/backup/archive.zip»

Полный список команд в smbclient можно вывести с помощью команды help. Команды smbclient схожи с командами ftp клиента.

При использовании команды smbclient может появиться ошибка:

Unable to initialize messaging contextsmbclient: Can't load /etc/samba/smb.conf - run testparm to debug it.

Чтобы исправить ошибку, создайте файл /etc/samba/smb.conf.

Если на хосте Windows отключен протокол SMB 1.0, то при подключении с помощью smbclient появится ошибка:

Reconnecting with SMB1 for workgroup listing. protocol negotiation failed: NT_STATUS_CONNECTION_RESET Unable to connect with SMB1 -- no workgroup available.

Источник

Как переходить в сетевые каталоги из терминала?

Чтобы перейти в него из файлового менеджера, я выбираю «ввести адрес», и пишу туда, например «smb://xxx». Что нужно писать в терминале для перехода туда?

mkdir /mnt/xxx mount -t cifs //xxx/ /mnt/xxx -o username=,password=,iocharset=utf8 cd /mnt/xxx 

имя и пароль можно указать в файле с таким содержимым:

username=username password=password 
mount -t cifs //xxx/ /mnt/xxx -o credentials=,iocharset=utf8 

kostik87 ★★★★★ ( 20.02.13 16:24:37 MSK )
Последнее исправление: kostik87 20.02.13 16:26:48 MSK (всего исправлений: 1)

Читайте также:  Find user groups linux

не совсем по теме: там какой опцией домен указать? (на будущее)

etwrq ★★★★★ ( 20.02.13 16:34:20 MSK )
Последнее исправление: etwrq 20.02.13 16:34:51 MSK (всего исправлений: 2)

#!/bin/sh SERVER=`echo $* | cut -f3 -d/` SHARE=`echo $* | cut -f4- -d/` test -e "/mnt/$SERVER/$SHARE" || mkdir -p "/mnt/$SERVER/$SHARE" mount -t cifs "$*" "/mnt/$SERVER/$SHARE" -o credentials=/root/cifs.pass,iocharset=utf8 grep "$SHARE" /proc/mount && echo $* is mounted on "/mnt/$SERVER/$SHARE" 

Ну и содержимое файла /root/cifs.pass:

username=имя password=пароль domain=домен 

Теперь можно монтировать ресурсы так:

kostik87 ★★★★★ ( 20.02.13 16:41:08 MSK )
Последнее исправление: kostik87 20.02.13 16:42:22 MSK (всего исправлений: 2)

ИМХО эту магию есть смысл завернуть в /etc/fstab.

Вообще то для этого autofs уже есть.

ТС спросил как монтировать с терминала, не уточнив, к сожалению, хочет он монтировать ресурсы SAMBA постоянно или единожды.

Можно конечно и в /etc/fstab поместить, но в таком случае стоит посмотреть опцию ‘noauto’ в том случае, если не нужно, что бы ресурс подключался каждый раз при старте системы. А так да, очень удобно размещать в /etc/fstab, в особенности, если использовать credentials .

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

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

В смысле, это надо раскомментировать в конфиге autofs и перезапустить.

Можно конечно и в /etc/fstab поместить, но в таком случае стоит посмотреть опцию ‘noauto’ в том случае, если не нужно, что бы ресурс подключался каждый раз при старте системы.

не нужно. потому-что mount -a срабатывает в самом начале, ДО подключения сети. А надо ессно после. Потому, даже при постоянном подключении нужно писать noauto. Что впрочем зависит от дистрибутива, и требует изучения конкретного мануала.

на самом деле, autofs пора закопать. Если шара включена постоянно, то нужно юзать /etc/fstab, если по требованию, то поможет fuse, с монтирование тупо мышкой по шаре(что там, udev сейчас рулит этим?)

Ан нет. Wrong fs type, bad option, bad superblock, бла-бла

Какую шару и откуда вы пытаетесь смонтировать.

Команда не найдна суть такова: в локальной сети есть каталог, для перехода в него нужно в nautilus выбрать «ввести адрес» и прописать туда «smb://xxx»

/proc/filesystems — это файл:

kostik87 ★★★★★ ( 24.02.13 23:49:43 MSK )
Последнее исправление: kostik87 24.02.13 23:50:18 MSK (всего исправлений: 2)

Дистрибутив убунту 10.10 весь файл не кину, т.к сижу с телефона, но напротив cifs nodev

Значит покажите какую команду вводите в консоль. Точно, просто напечатайте то, что вводите.

sudo mount -t cifs //xxx /media/xxx

Блин, вот именно так и вводите ? Кроме того, что вместо //xxx нужно вводить //ip адрес сервера/шара, там что-то было указано больше опций чем вы вводите, посмотрите ещё раз первое сообщение.

Читайте также:  Linux mount android device

Вооот, про ай-пи то как раз ничего и не говорилось. Если нужен ip, то как его узнать? В опциях нужен пароль, но захожу я туда без всяких юзернеймов и паролей. Кстати, если попробовать с такими опциями, то реакция консоли на команду будет другой, вместо сообщения о плохих параметрах она предложит почитать ман

Вот еще вопрос, не совсем в тему правда. Почему когда я монтирую раздел, форматированный под fat изпод консоли с параметром -t vfat,вместо названий русскоязычных каталогов вопросительные знаки, а если подключать их через меню «переход», все нормально?

В nautilus вы так же вводите и ip адрес и имя шары.

Если нужен ip, то как его узнать?

Вы должны его знать или имя компьютера.

В опциях нужен пароль, но захожу я туда без всяких юзернеймов и паролей

Вас спрашивают и имя пользователя и пароль. По умолчанию производится попытка зайти под гостевой учётной записью, guest:

mount -t cifs //ip_адрес/имя_ресурса /mnt/xxx -o username=guest,iocharset=utf8 

Опцию password можно не указывать, тогда пароль будет запрошен, если пароль пустой, то указывайте тогда так:

mount -t cifs //ip_адрес/имя_ресурса /mnt/xxx -o username=guest,password=,iocharset=utf8 

kostik87 ★★★★★ ( 25.02.13 00:27:40 MSK )
Последнее исправление: kostik87 25.02.13 00:28:28 MSK (всего исправлений: 1)

А вот и нет, без ip без всяких пишу smb://xxx и захожу если писать опции, прямо как вы сказали, то выводится точно то же, что и если прописать mount -h

Тьфу блин, перед «если» надо бы перенос строки добавить

Простите меня, грешного, что не знаю, как посты редактировать

А вот и нет, без ip без всяких пишу smb://xxx и захожу

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

Работать у вас может только в одном случае, если ресурс находится на том же компьютере, с которого вы подключаетесь. И то я сомнваюсь, что так будет работать. Но в этом случае пробуйте указывать ip адрес петлевого устройства (127.0.0.1) или ip адрес интерфейса. Смотрите вывод:

Вот ничего я как раз и не понимаю. И ресурс лежит уж точно не на моем компьютере, но я в точности так на него перехожу. И да, nautilus этот каталог называет «ресурсы windows на xxx»

Значит xxx — это ip адрес (имя компьютера). «ресурсы windows» — это виртуальная директория, в которой находятся поддиректории с именами ресурсов, которые есть на xxx.

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

kostik87 ★★★★★ ( 25.02.13 00:47:00 MSK )
Последнее исправление: kostik87 25.02.13 00:47:29 MSK (всего исправлений: 1)

О, кажись я не совсем правильно понял, что есть каталог. Ну вот пишу я sudo mount -t cifs //10.55.80.4/xxx /media/xxx -o username=guest, password=, iocharset=utf8 и выводит он мне то же самое, что и при mount -h

Источник

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