Midnight commander подключить сетевой диск

Обновлено: 02.07.2024

Midnight Commander - популярный двухпанельный файловый менеджер, широко распространенный в UNIX-like операционных системах, он должен быть знаком каждому, кто хоть раз работал в консоли. Но, как показывает практика, не все администраторы в полной мере используют все возможности данного приложения, ограничиваясь только базовыми, что может приводить к определенным неудобствам. Поэтому сегодня ы расскажем о возможностях Midnight Commander и приемах, способных сделать работу в нем удобной и эффективной.

Midnight Commander, он же mc, относится к тому ПО, которое ставится на сервер в первую очередь. Если вы подключились к уже настроенному серверу, то он там с очень большой вероятностью уже будет. Установить его также несложно:

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

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

midnight-commander-tips-and-tricks-001.jpg

Основы навигации должны быть известны всем, но тем не менее повторимся: для перемещения внутри панелей следует использовать клавиши со стрелками, PageUp и PageDown прокручивают содержимое на размер экрана вверх или вниз, а Home и End перемещают в начало или конец списка, для переключения панелей используется Tab , сочетание клавиш Ctrl + o сворачивает панели и дает доступ к консоли, повторное нажатие этих же клавиш восстанавливает панели.

Нижнее меню предлагает ряд часто используемых действий, привязанных к функциональным клавишам Fn , цифра, написанная около пункта меню, обозначает номер функциональной клавиши, например, F5 - копирование, F8 - удаление. Клавиша F9 перемешает нас в верхнее меню менеджера, навигация по которому осуществляется с помощью клавиш со стрелками.

Разделы Левая панель и Правая панель верхнего меню идентичны и содержат настройки отображения панелей, также отсюда можно инициализировать внешнее FTP или SSH соединение, после чего панель будет отображать содержимое удаленного узла.

midnight-commander-tips-and-tricks-002.jpg

Меню Файл содержит основные действия над файлами, здесь вы можете выполнить базовые действия над файлами, а также быстро изменить права, владельца, создать жесткую или символическую ссылку. Обратите внимание, около команд практически везде стоят сочетания клавиш, рекомендуем их запомнить, что позволит работать гораздо быстрее, не прибегая каждый раз к навигации по меню.

midnight-commander-tips-and-tricks-003.jpg

Раздел Команда предоставляет доступ к возможностям самого файлового менеджера, управлению панелями и доступ к некоторым системным функциям:

midnight-commander-tips-and-tricks-004.jpg

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

midnight-commander-tips-and-tricks-005.jpg

Большинство пользователей mc используют встроенный редактор mcedit, если вы входите в их число, то сразу включите его использование в разделе Конфигурация.

midnight-commander-tips-and-tricks-006.jpg

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

midnight-commander-tips-and-tricks-007.jpg

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

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

midnight-commander-tips-and-tricks-009.jpg

Например, указанная выше маска в нашем случае выделит файлы conf1 и file1. Существует также и обратная возможность - снять выделение по маске с части файлов, для этого используйте клавишу - , принцип действия точно такой же, как и в предыдущем примере. Использование этих возможностей достаточно удобно, скажем, быстро выделить группу файлов по широкой маске, затем снять выделение с некоторых по более узкой. Для того, чтобы инвертировать выделение можно использовать клавишу * , но учтите, что это работает только для файлов.

В некоторых случаях в текущей директории могут появиться файлы, генерируемые сторонними программами, скажем, файлы логов или закачек. Но панели Midnight Commander не отображают текущих изменений, чтобы принудительно обновить содержимое нажмите Ctrl + r , в других ситуациях на экране может нарушиться отображение или остаться артефакты от других программ, которые вы запускали из среды менеджера, для перерисовки экрана следует использовать сочетание Ctrl + l .

Перейдем к операциям копирования и перемещения/переименования. Последние две операции с точки зрения файловой системы представляют одно и тоже действие, поэтому нажатием на F6 мы может либо переместить, либо переименовать, либо совместить оба этих действия. А в остальном вроде бы все просто, но не будем делать поспешных выводов. При копировании или перемещении открывается дополнительное окно, которое содержит поля шаблонов исходного и конечного мест назначения. Что это и для чего нужно?

В этих полях мы можем использовать подстановочные символы: * - для группы символов и ? - для одиночного в шаблонах источника, а в шаблоне приемника указать \n - где n - номер символа или группы символов. Самый простой пример: мы хотим переместить файлы conf1 - conf3 и переименовать их в config1 - config3. Нет ничего проще, выделяем все три файла, шаблон источника заполняем маской по числу символов в исходном имени - . , а шаблон приемника указываем как config\5 - т.е. добавить к указанному имени пятый символ из источника.

midnight-commander-tips-and-tricks-010.jpg

Возьмем задачу посложнее, допустим у нас есть файл myservice.conf и мы хотим при копировании поменять местами имя и расширение. В шаблоне источника разделим исходное имя на группы символов: *.*, а в шаблоне приемника укажем \2.\1. Первое выражение указывает, что у нас до точки одна группа символов, а после нее другая. Второе предписывает сначала поставить вторую группу символов, затем точку (она не входит ни в одну группу), а после нее вывести первую.

Еще сложнее, допустим мы хотим вместо myservice.conf получить servicemy.conf, в этом случае исходный шаблон будет выглядеть так: *s*.*, мы поделили имя на три части, разделители s и точка. Шаблон приемника укажем как: s\2\1.\3 - т.е. выводим сначала первый символ разделитель, потом вторую группу символов, за ней первую, точку и третью группу.

midnight-commander-tips-and-tricks-011.jpg

Как видим - возможности весьма богатые и освоив их вам не составит особого труда скопировать, скажем, фотографии с карты памяти, попутно переименовав их из какого-нибудь DSCN0439.JPG в Poezdka_more_2019_039.jpg.

Следующая, часто встречающаяся задача - это изменение прав или владельца объекта. Используйте сочетание клавиш Ctrl + x c (набирается как одновременное нажатие Ctrl и х, затем с) для изменения прав. Можно выделить и изменить права сразу нескольким объектам, но при этом вам будут показаны текущие права только первого выбранного файла.

midnight-commander-tips-and-tricks-012.jpg

Для изменения владельца нажмите Ctrl + x o , как и в предыдущей команде вы можете сделать это для группы объектов, но увидите текущего владельца только у первого выбранного.

midnight-commander-tips-and-tricks-013.jpg

За поиск отвечает сочетание Ctrl + s , после чего просто начинайте вводить имя файла:

midnight-commander-tips-and-tricks-014.jpg

Для быстрого создания жесткой или символической ссылки используйте: Ctrl + x l и Ctrl + x s . Учтите, что по умолчанию жесткая ссылка создается в текущем каталоге, а символическая в каталоге неактивной панели.

midnight-commander-tips-and-tricks-015.jpg

Также у любого системного администратора есть расположения, куда ему нужно переходить достаточно часто, чтобы каждый раз не путешествовать по дереву каталогов можно добавить их в список быстрого доступа, для этого, находясь в целевом каталоге нажмите Ctrl + x h . Чтобы вызвать список быстрого доступа следует нажать Ctrl + \ .

midnight-commander-tips-and-tricks-016.jpg

Пассивную панель можно использовать для получения информации о текущем файле или отображении его содержимого. Для переключения в режим отображения информации нажмите Ctrl + x i :

midnight-commander-tips-and-tricks-017.jpg

Чтобы просматривать в пассивной панели содержимое - используйте комбинацию клавиш Ctrl + x q :

Еще одна удобная функция - открыть в пассивной панели каталог под указателем, для этого нажмите Alt + o :

2020-10-31_23-49-15.jpg

Сравнить содержимое двух каталогов можно сочетанием клавиш Ctrl + x d с обоих сторон будут выделены различающиеся файлы, вы сразу можете перейти в нужную панель и выполнить действия над ними, например, копирование или перемещение.

midnight-commander-tips-and-tricks-020.jpg

Чтобы сравнить содержимое файлов следует последовательно нажать две комбинации клавиш Ctrl + x и Ctrl + d откроется специальный редактор, в котором вы сможете отредактировать сравниваемые файлы или выполнить их слияние.

midnight-commander-tips-and-tricks-021.jpg

Отдельного разговора заслуживает встроенный редактор - mcedit, его можно использовать как в составе оболочки Midnight Commander, так и отдельно, для редактирования файла в данном редакторе достаточно выполнить команду:

где filename - имя требуемого файла. В составе оболочки для редактирования файла под выделением нажмите F4 , для создания и редактирования нового файла в текущей директории нажмите Shift + F4 .

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

midnight-commander-tips-and-tricks-022.jpg

Для перехода в режим выделения нажмите F3 , затем при помощи клавиш со стрелками выделите необходимый участок текста, завершив выделение нажмите F3 повторно, чтобы выйти из режима. Затем переместите курсор в нужное место и нажмите F5 чтобы скопировать выделенный участок или F6 , чтобы его переместить. Для вставки текста из буфера обмена нажмите Shift + Insert , если вы работаете через SSH, то будет использован буфер локального ПК, это удобно, вы можете копировать команды на своем компьютере и вставлять их в файл на удаленном сервере.

Если же нужно перенести текст между локальными файлами на сервере, то следует использовать файл буфера обмена. Чтобы скопировать в него выделенный участок следует использовать сочетание клавиш Ctrl + Insert , для вырезки - Shift + Del . Вставить содержимое файла буфера обмена в файл можно сочетанием Shift + F5 . Отменить действие можно нажатием Ctrl + u

Нажатие F4 вызывает функцию поиска с заменой:

midnight-commander-tips-and-tricks-023.jpg

Как видим, Midnight Commander - это достаточно мощный и удобный инструмент, позволяющий значительно упростить работу в консоли, поэтому уметь эффективно работать с ним должен каждый системный администратор. В данной статье мы перечислили далеко не все возможности этого замечательного менеджера, чтобы узнать больше - воспользуйтесь встроенной справкой, она вызывается нажатием клавиши F1 .

Этичный хакинг и тестирование на проникновение, информационная безопасность

Книга по SMB и Samba на русском языке. Оглавление

Samba — это SMB для Linux

Далее мы будем говорить про Samba, но мы затронем только вопросы SMB.

Начните с установки пакетов samba и smbclient.

В Debian, Linux Mint, Ubuntu, Kali Linux и их производных для установки samba выполните команду:

В Arch Linux, BlackArch и их производных выполните команду:

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

Для показа всех совместных сетевых ресурсов Windows выполните команду:

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


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

Как можно увидеть выше, для компьютера \\VYACHESLAV получен список совместно используемых ресурсов, а для компьютера \\HACKWARE-MIAL — нет. При этом если я включал на компьютере \\HACKWARE-MIAL поддержку протокола SMB 1, а при запуске команды указывал хоть какое-то имя пользователя, например:

либо просто запускал smbtree с правами администратора:

то мне удавалось получить список файлов также и для компьютера \\HACKWARE-MIAL. UDP: видимо, такое поведение в том, что совпадали имена польозвателей на компьютерах с Linux и Windows.

Как в Linux вывести доступные по сети ресурсы (совместные папки и принтеры Windows)

Предыдущая команда показала нам несколько компьютеров с сетевыми папками. Предположим, меня интересует компьютер \\HACKWARE-MIAL, чтобы вывести его сетевые папки я запускаю команду вида:

в моём случае это:


Кстати, вместо имени компьютера можно указать IP адрес.

В полученном выводе Share и Users являются общими сетевыми папками.

исчезнут, если создать файл /etc/samba/smb.conf.

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

Как я уже говорил чуть выше, флаг -N означает не использовать пароль. Если же вы используете пароль, то укажите опцию -U с именем пользователя, пароль нужно будет ввести интерактивно.

Как и для smbtree, для smbclient необязательно использовать sudo, но без sudo для некоторых компьютеров программа срабатывает нормально, а для некоторых завершается ошибкой:

Как подключиться к сетевой папке Windows из Linux

Программа smbclient умеет не только показывать общие ресурсы, но и имеет интерактивный режим, во время которого можно копировать файлы между локальным компьютером и общей папкой, удалять файлы, создавать папки и переходить по каталогам, просматривать содержимое файлов и их свойств и выполнять другие действия в файловой системе совместно используемой сетевой папки.

Кроме интерактивного режима, можно просматривать содержимое сетевых папок и в проводнике Linux — об этом будет рассказано позже, а пока остановимся на подключении в командной строке.

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

Например, я хочу подключиться к компьютеру //HACKWARE-MIAL/ и выполнить действия с файлами в сетевой папке Share, тогда моя команда следующая:

Если вы хотите, чтобы при подключении была изменена текущая рабочая директория в сетевой папке, то есть чтобы была открыта другая папка, то используйте опцию -D. К примеру, я хочу подключиться к папке NewFolder, тогда команда следующая:

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

К примеру, на компьютере //HACKWARE-MIAL/ имеется сетевая папка ShareRestricted, права на просмотр которой есть у пользователя ShareOverlord. Для просмотра шары, защищённой паролем, нужно использовать команду вида:

В моём случае это команда:


Команды SMB в Linux

Доступны следующие интерактивные команды:

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

Для показа справки по определённой команде, выполните

Переход в другой каталог (смена текущей рабочей директории) на удалённой системе:

Переход в другую директорию на локальной системе:

Удаление файла в шаре:

Имеется псевдоним этой команды:

И ещё одна команда со схожей функцией:

Эта команда рекурсивно удалить все совпавшие с шаблоном имени файлы и директории.

Показ файлов и папок в текущей папке:


Имеется псевдоним этой команды:

И ещё один, даже более короткий псевдоним:

Для повторного скачивания файла:

Для скачивания всех файлов, чьём имя совпадает с шаблоном:

Например, чтобы скачать все файлы с файловым расширением .exe нужно запустить такую команду:

Для каждого файла, совпавшего с шаблоном, будет выполнен запрос на скачивание. Если вы действительно хотите его скачать, то нажмите клавишу «y»:

Также имеется команда newer, которая скачивает файлы (mget), которые новее, чем указанный локальный файл. Используется она так:

Выгрузка файла на общую папку:

Следующая команда скопирует локальный файл в шару:

Повторная закачка файла:

Для закачки всех файлов, чьём имя совпадает с шаблоном:

К примеру, чтобы закачать в шару все файлы (из локальной текущей рабочей директории), которые имеют расширение *.cap, нужно запустить команду:

Для каждого файла, совпавшего с шаблоном, будет выполнен запрос подтверждения, если вы действительно хотите его закачать, то нажмите клавишу «y»:


Включение и отключение рекурсии

Можно включать и отключать рекурсивный режим для mget и mput.

Показ всей возможной информации о файле:


В выводимой информации можно увидеть альтернативное (DOS) имя, временные метки (дата создания, доступа, записи и изменения файла), атрибуты.

Копирование файла на сервере:

Создание директории:

Удаление директории:

Удаление файлов

Следующая команда удалит все совпавшие с МАСКОЙ файлы:

Псевдоним команды для удаления файлов:

С помощью команды wdel можно удалить все совпавшие файлы по подстановочным символам:

Переименование файлов:

Ссылки

Создание жёсткой ссылки Windows:

Создание жёсткой ссылки UNIX:

Создание символьной ссылки UNIX:

Выход с сервера:

Вывод истории команд текущей сессии:

Просмотр содержимого текстового файла:

Показ текущей рабочей директории:

Другой вариант показа текущей рабочей директории — это команда cd без аргументов:

Создание и извлечение архивов tar

Программа tar используется для объединения нескольких файлов в один файл. Объединение происходит без сжатия. Для того, чтобы несколько файлов из сетевой папки объединить в архив и скачать на локальную систему запустите команду вида:

К примеру, я хочу скачать файлы all-databases.sql besside.log ChromeSetup.exe из совместной папки и объединить их в архив all.tar, тогда моя команда следующая:

Для установления режимов tar используется команда

Установка таймаута операций:

Таймаут устанавливается в секундах и по умолчанию равен 20.

Установка нового соединения:

Закрытие сессии, выход:

Вывод списка открытых подключений:

Отображение текущего активного подкючения:

Изменение удалённой директории (переход на одну папку выше):

Выполнение команд в локальной системе:

Чтобы команда выполнялась не на удалённой системе, а на локальной, поставьте перед ней ! (восклицательный знак), например^

Автоматическое выполнение команд в сетевой папке Windows

Необязательно каждый раз вводить все команды вручную — вы можете перечислить их через запятую и указать в двойных кавычках с опцией -c, например:

Как смонтировать общую папку Windows/Samba в Linux

Сетевая папка Windows может быть доступна в файловых менеджерах Linux как любая другая локальная папка. Для этого её нужно смонтировать. После монтирования не придётся использовать консоль для просмотра списка файлов и скачивания или закачивания файлов.

Начните с установки пакета cifs-utils.

В Debian, Linux Mint, Ubuntu, Kali Linux и производных выполните:

В Arch Linux, BlackArch и производных выполните:

Предыдущие команды smbtree и smbclient понимали имена компьютеров Windows, такие имена как HACKWARE-MIAL. Монтирование выполняется с помощью команды mount, которая такие имена не умеет обрабатывать без помощи преобразования имён DNS. Поэтому при монтировании можно либо:

  1. Использовать вместо имён компьютеров IP адрес. В этом случае у компьютера с сетевой папкой должен быть постоянный (статичный) IP адрес
  2. Либо настроить преобразование имён для компьютеров Windows. Это можно сделать, например, с помощью файла /etc/hosts. Кстати, в этом случае у компьютера с общей папкой также должен быть постоянный IP адрес (смотрите Как настроить локальный DNS используя файл /etc/hosts в Linux)

В общем, в любом случае настройте в роутере или в самой Windows постоянный локальный IP.

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

И добавьте туда запись вида

Например, у меня IP_АДРЕС это 192.168.0.101, а именем компьютера является HACKWARE-MIAL, тогда я добавляю следующую запись:

Пингуем по имени компьютера Windows, чтобы убедиться, что всё сработало:

Чтобы не возникало проблем с правами доступа, папка, куда монтируется шара (например, /mnt/share/), должна принадлежать текущему пользователю Linux — если вы создавали папку без sudo, то она уже принадлежит обычному пользователю. Но если вы создавали папку с sudo (например, иначе это невозможно сделать в /mnt/), то вам нужно поменять её владельца командой вида::

Например, чтобы поменять владельца папки /mnt/share/ на текущего пользователя:

Теперь для монтирования сетевой шары 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, как это было показано выше:

/.smbcredentials запишите следующее:

Как создать общую сетевую папку в Samba

Если в этой статье вы пропустили предыдущие части, так как вам нужно только настроить файловый сервер на Linux, то начните с установки пакета samba.

Следующая команда не сработает, если отсутствует файл /etc/samba/smb.conf. Если у вас тоже нет этого файла, то создаёте его заглушку — к настройке самого файла smb.conf мы вернёмся позже:

Теперь нужно добавить пароль для пользователя Samba. Действует следующее правило: имя пользователя должно быть таким же, как у вашего текущего пользователя, а пароль можно установить иной, отличный от вашего системного пароля.

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

Если вы хотите, чтобы у пользователя не было пароля, то укажите опцию -n.

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

Узнаем абсолютный путь до папки

Откройте для редактирования файл /etc/samba/smb.conf:

Добавьте туда строки вида:

Обратите внимание, что все пробелы в строках выше являются обязательными.

Для моих данных это строки:

Теперь запустим службу SMB:

Для добавления службы в автозагрузку выполните:

На самом деле, мы настроили не полноценную Samba, а только файловый сервер SMB. Одно из следствий этого — показанные выше способы обнаружения сетевых папок, такие как команда smbtree в Linux или переход во вкладку «Сеть» в проводнике Windows, не обнаружат нашу шару.

Для подключения к этой общей сетевой папке на Linux нужно использовать IP адреса компьютера Linux вместо имени компьютера, как это мы делали раньше. Кстати, поэтому нужно настроить статичный IP (смотрите статью «Как настроить Linux на использование статичного IP адреса»).

Создадим файл, чтобы сетевая папка не была пустой:

Посмотрите локальный IP адрес компьютера, на котором запущена Linux:

У меня этим IP является 192.168.0.89, а папку, как мы помним, я создал с именем linuxshare, тогда в Windows я перехожу в проводнике во вкладку «Сеть» и подключаюсь к этой папке следующим образом:

Вводим учётные данные (которые мы установили командой smbpasswd):


Видим содержимое совместно используемой папки, размещённой на Linux с помощью SMB:


Для подключения к сетевой папке из консоли Linux, запустите команду вида:

Для моего примера это:

После ввода пароля нам становится доступным содержимое сетевой папки.


Эту папку можно смонтировать как это было показано в предыдущем разделе, либо подключать в Windows как сетевой диск, как это было показано в первой части.

Иногда нужно быстро подмонтировать к Linux сетевую шару Windows. Делается это очень просто одной командой в консоли с помощью mount -t cifs.

Научиться настраивать MikroTik с нуля или систематизировать уже имеющиеся знания можно на . Автор курса, сертифицированный тренер MikroTik Дмитрий Скоромнов, лично проверяет лабораторные работы и контролирует прогресс каждого своего студента. В три раза больше информации, чем в вендорской программе MTCNA, более 20 часов практики и доступ навсегда.
10.1.5.43 адрес шары
/mnt/documents точка монтирования
user1 пользователь с доступом к шаре
pass123 пароль пользователя

Если получаете ошибку примерно такого содержания:

Установите пакет cifs-utils:

После этого должно монтироваться нормально, если нет других ошибок.

Чтобы подмонтировать виндовую шару навечно, надо отредактировать fstab:

Вот и все, после перезагрузки шара будет автоматически монтироваться.

Онлайн курс "DevOps практики и инструменты"

Если у вас есть желание научиться строить и поддерживать высокодоступные и надежные системы, научиться непрерывной поставке ПО, мониторингу и логированию web приложений, рекомендую познакомиться с онлайн-курсом «DevOps практики и инструменты» в OTUS. Курс не для новичков, для поступления нужны базовые знания по сетям и установке Linux на виртуалку. Обучение длится 5 месяцев, после чего успешные выпускники курса смогут пройти собеседования у партнеров. Проверьте себя на вступительном тесте и смотрите программу детальнее по .

Помогла статья? Подписывайся на telegram канал автора

Анонсы всех статей, плюс много другой полезной и интересной информации, которая не попадает на сайт.

Автор Zerox

20 комментариев

Доброго времени.
Ввожу команду

sudo mount -t cifs \\192.168.1.32/documents /media/sharefolder -o user=******,password=********

mount error(13): Permission denied

Куда копать?
Заранее Спасибо

Подключитесь рутом и сделайте без sudo. Вероятно с правами какие-то проблемы.

Добрый день, были ли у вас проблемы в монтировании шары в CentOS 8, а именно в моём случае если к шаре в течении получаса не было обращений, то он как бы отключается, и становится не доступна (настроена через fstab), причём если перезагрузиться то всё снова успешно монтируется.

Надо признать, что если тоже самое повторить в CentOS 7 - то там не таких проблем, шара живёт вечно :/

Не сталкивался с таким. Правда я и шары очень редко подключаю к linux серверам. А что конкретно происходит, когда шара недоступна? Она в системе остается? Какая ошибка при обращении к ней?

Как смонтировать папку тольк для чтения ?

Все объекты, что в шаре, стали иметь владельца 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).

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. Подскажите в чем может быть проблема. Может какие-то логи можно посмотреть?

Добрый день! Имеется сервер астериск, не имеющий графического окружения! Следовательно работа с файлами осуществляется только через Миднайт Командер (аналог Нортон Командера). Возможен ли просмотр через МС сетевых папок с др компов?


Смотря, как настроены сетевые папки на других компах, но вообще, ЕМНИП, возможен.



Возможен ли просмотр через МС сетевых папок с др компов?

Смотря как собран МС и какой софт установлен на вашем астериске.

Обычно вроде как у МС есть поддержка ssh и ftp, хотя в сборках от RedHat встречалась и поддержка smb.

А вообще вопрос поставлен в корне неверно.

Решение проблемы кроется в файловых системах, протоколах и монтировании, а не в наличии/отсутствии графического окружения и файлменеджера.


Если Samba, то smbnetfs.

Папки настроены через NFS т.к самба у меня отчаянно отказывалась показывать папки с сервера - центоса на клиент - убунту! Хотя винда все видела и радовалась! Нынче все они подключены к одной сети! (имею в виду ип-подсеть 192.168.1.*). мне необходимо видеть шары для чистки астериска! т.к на нем происходит запись всех разговоров менежеров! Как их открыть?

Подмонтировать их - и все.

Или нужно переключаться между 100500 ресурсов?


Проще всего, имхо, на астериске поднять NFS и расшарить нужные папки.

Ими потом рулите как хотите на клиентской машине хоть MC, хоть Наутилусом, хоть из командной строки.

Ладно.. все таки канешно хотелось бы узнать как шары с МС-ки открываются=) но ждать не будем будем работат над NFS. Спасибо!

все таки канешно хотелось бы узнать как шары с МС-ки открываются=

Еще раз, создаешь директорию, монтируешь в нее удаленный ресурс (nfs, smb или еще что. ), и открывай ее чем угодно, MC в том числе.

Если нужно просто лазить в директориях на удаленной машине, то чем ssh не устраивает, настрой ssh, пользователя, права ему. Если нужно файлы таскать на другую машину вручную, при настроенном ssh по sftp, в панели MC открываешь shell-соединение и вбиваешь user@IP-адрес и все дела. Если планируется автоматическая обработка, то нужно монтировать, если руками лазить, - и так сойдет.

Читайте также: