монтирование расшаренных windows ресурсов в linux через cifs
Как смонтировать общий ресурс Windows в Linux с помощью CIFS
Common Internet File System (CIFS) — это сетевой протокол обмена файлами. CIFS — это форма SMB.
В этом руководстве мы объясним, как вручную и автоматически монтировать общие ресурсы Windows в системах Linux.
Установка пакетов утилит CIFS
Чтобы смонтировать общий ресурс Windows в системе Linux, сначала необходимо установить пакет утилит CIFS.
Установка утилит CIFS в Ubuntu и Debian:
Установка утилит CIFS на CentOS и Fedora:
Имя пакета может отличаться в зависимости от дистрибутива Linux.
Монтирование общего ресурса CIFS Windows
Подключение удаленного общего ресурса Windows аналогично монтированию обычных файловых систем.
Сначала создайте каталог, который будет точкой монтирования для удаленного общего ресурса Windows:
Выполните следующую команду от имени пользователя root или пользователя с привилегиями sudo, чтобы смонтировать общий ресурс:
Вам будет предложено ввести пароль:
В случае успеха вывод не производится.
После монтирования общего ресурса точка монтирования становится корневым каталогом смонтированной файловой системы. Вы можете работать с удаленными файлами, как если бы они были локальными.
Пароль также можно указать в командной строке:
Если пользователь находится в рабочей группе или домене Windows, вы можете установить его следующим образом:
Для большей безопасности рекомендуется использовать файл учетных данных, который содержит имя пользователя, пароль и домен общего ресурса.
Файл учетных данных имеет следующий формат:
Чтобы использовать файл учетных данных, определите его следующим образом:
По умолчанию подключенный общий ресурс принадлежит пользователю root, а права доступа установлены на 777.
Используйте параметр dir_mode чтобы установить права file_mode к каталогу, и file_mode чтобы установить права file_mode к файлу:
Владение пользователем и группой по умолчанию можно изменить с помощью параметров uid и gid :
Автоматический монтаж
Файл /etc/fstab содержит список записей, определяющих, где, как и какая файловая система будет монтироваться при запуске системы.
Добавьте в файл следующую строку:
Выполните следующую команду, чтобы смонтировать общий ресурс:
Команда mount прочитает содержимое /etc/fstab и смонтирует общий ресурс.
В следующий раз, когда вы перезагрузите систему, общий ресурс Windows будет подключен автоматически.
Отключение общего ресурса Windows
Команда umount отсоединяет (размонтирует) смонтированную файловую систему от дерева каталогов.
Чтобы отсоединить смонтированный общий ресурс Windows, используйте команду umount за которой следует либо каталог, в котором он был смонтирован, либо удаленный общий ресурс:
Команда umount не сможет отсоединить общий ресурс, когда он используется. Чтобы узнать, какие процессы обращаются к общему ресурсу Windows, используйте команду fuser :
Как только вы найдете процессы, вы можете остановить их с помощью команды kill и отключить общий ресурс.
Выводы
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии.
Как монтировать общие папки Windows в системах Linux
How to Mount Windows Share on Linux using CIFS
В этом руководстве мы расскажем, как вручную и автоматически монтировать общие папки Windows в системах Linux.
В операционных системах Linux и UNIX общий ресурс Windows можно смонтировать в определенной точке монтирования в дереве локальных каталогов, используя cifs параметр mount команды.
Установка пакетов утилит CIFS
Чтобы смонтировать общий ресурс Windows в системе Linux, сначала необходимо установить пакет утилит CIFS.
Установка утилит CIFS в Ubuntu и Debian:
Установка утилит CIFS в CentOS и Fedora:
Имя пакета может отличаться в разных дистрибутивах Linux.
Монтирование CIFS Windows Share
Монтирование удаленного общего ресурса Windows аналогично монтированию обычных файловых систем.
Сначала создайте каталог, который будет служить точкой монтирования для удаленного общего ресурса Windows:
Запустите следующую команду как пользователь root или пользователь с правами sudo для монтирования общего ресурса:
Вам будет предложено ввести пароль:
В случае успеха не выводится.
После монтирования общего ресурса точка монтирования становится корневым каталогом смонтированной файловой системы. Вы можете работать с удаленными файлами, как если бы они были локальными файлами.
Пароль также можно указать в командной строке:
Если пользователь находится в рабочей группе или домене Windows, вы можете установить его следующим образом:
Для большей безопасности рекомендуется использовать файл учетных данных, который содержит имя пользователя, пароль и домен общего ресурса.
Файл учетных данных имеет следующий формат:
Чтобы использовать файл учетных данных, определите его следующим образом:
По умолчанию подключенный общий ресурс принадлежит пользователю root, а разрешения установлены на 777.
Используйте dir_mode опцию, чтобы установить разрешение каталога и file_mode установить разрешение файла:
Пользователь по умолчанию и группа собственность могут быть изменены с uid и gid опциями:
Авто монтаж
Когда общий ресурс монтируется вручную с помощью mount команды, он не сохраняется после перезагрузки.
Чтобы автоматически смонтировать общий ресурс Windows при запуске вашей системы Linux, определите монтирование в /etc/fstab файле. Строка должна содержать имя хоста или IP-адрес ПК с Windows, имя общего ресурса и точку монтирования на локальном компьютере.
Откройте /etc/fstab файл в текстовом редакторе :
Добавьте следующую строку в файл:
Выполните следующую команду для монтирования общего ресурса:
mount Команда, будет читать содержание /etc/fstab и установить долю.
При следующей перезагрузке системы общий ресурс Windows будет смонтирован автоматически.
Размонтирование Windows Share
Команда umount отсоединяет (размонтирует) смонтированную файловую систему от дерева каталогов.
Чтобы отсоединить подключенный общий ресурс Windows, используйте umount команду с указанием либо каталога, в котором он был подключен, либо удаленного общего ресурса:
Если в fstab файле CIFS есть запись в файле, удалите ее.
Команда umount не сможет отсоединить общий ресурс, когда он используется. Чтобы узнать, какие процессы обращаются к общему ресурсу Windows, используйте fuser команду:
Найдя процессы, вы можете остановить их с помощью kill команды и размонтировать общий ресурс.
Вывод
В Linux вы можете смонтировать общий доступ к Windows, используя mount команду с cifs параметром.
Как смонтировать сетевую папку Windows/Samba в Linux
Сетевая папка Windows может быть доступна в файловых менеджерах Linux как любая другая локальная папка. Для этого её нужно смонтировать. После монтирования не придётся использовать консоль для просмотра списка файлов и скачивания или закачивания файлов.
Начните с установки пакета cifs-utils.
В Debian, Linux Mint, Ubuntu, Kali Linux и производных выполните:
В Arch Linux, BlackArch и производных выполните:
Предыдущие команды smbtree и smbclient понимали имена компьютеров Windows, такие имена как HACKWARE-MIAL. Монтирование выполняется с помощью команды mount, которая такие имена не умеет обрабатывать без помощи преобразования имён DNS. Поэтому при монтировании можно либо:
В общем, в любом случае настройте в роутере или в самой Windows постоянный локальный IP.
Если вы хотите настроить преобразование имён с помощью файла /etc/hosts, то откройте его:
И добавьте туда запись вида
Например, у меня IP_АДРЕС это 192.168.0.101, а именем компьютера является HACKWARE-MIAL, тогда я добавляю следующую запись:
Пингуем по имени компьютера Windows, чтобы убедиться, что всё сработало:
Теперь нам нужно создать точку монтирования — папку, где появятся файлы из шары. Я создаю папку /mnt/share:
Чтобы не возникало проблем с правами доступа, папка, куда монтируется шара (например, /mnt/share/), должна принадлежать текущему пользователю Linux — если вы создавали папку без sudo, то она уже принадлежит обычному пользователю. Но если вы создавали папку с sudo (например, иначе это невозможно сделать в /mnt/), то вам нужно поменять её владельца командой вида::
Например, чтобы поменять владельца папки /mnt/share/ на текущего пользователя:
Теперь для монтирования сетевой шары Windows нужно запустить команду вида:
В этой команде вы должны вставить свои значения для
Значение других элементов команды:
К примеру, путь до сетевой шары у меня //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 запишите следующее:
📑 Монтирование расшаренных сетевых папок в Ubuntu
Файловая система CIFS, встроенная в ядро Linux — это предпочтительный метод для монтирования расшаренных сетевых ресурсов SMB/CIFS. CIFS (сокр. от англ. Common Internet File System, Единая Файловая Система Интернета) — сетевой протокол прикладного уровня для удалённого доступа к файлам, принтерам и другим сетевым ресурсам, а также для межпроцессного взаимодействия.
CIFS VFS является виртуальной файловой системой для Linux, обеспечивающей доступ к серверам и устройствам хранения, совместимым с версией 1.0 спецификации CIFS SNIA или поздней. Популярные серверы, такие как Самба, Windows 2000, Windows XP и многие другие поддерживают CIFS по умолчанию.
VFS CIFS оказывает некоторую поддержку для более старых серверов, основанных на более примитивном SMB (Server Message Block) протоколе (Вы также можете использовать файловую систему Linux smbfs в качестве альтернативы для доступа к ним). CIFS VFS была разработана, чтобы использовать продвинутые сетевые особенности файловой системы, такие как захват, Unicode (передовая интернационализация), hardlinks, dfs (иерархическое, реплицируемое пространство имени), распределенное кэширование и использует родные имена TCP (а не RFC1001, названия Netbios). В отличие от некоторых других сетевых файловых систем, вся ключевая сетевая функция включая идентификацию обеспечена в ядре, начиная с версии 2.5.42.
Файловая система CIFS поддерживается набором утилит пространства пользователя. Тот пакет инструментов называют CIFS-utils. Эти инструменты были первоначально частью пакета Samba, но по некоторым причинам их выделили в отдельный проект.
Для работы (монтирования) с расшаренными сетевыми дисками SMB/CIFS (Windows или Samba) необходимо установить пакет cifs-utils, который присутствует в репозиториях практически всех дистрибутивов Linux. Далее будем рассматривать только Ubuntu.
Теперь можно монтировать расшаренные сетевые ресурсы:
Для монтирования публичных сетевых ресурсов имя пользователя и пароль не задаются:
Для того, чтобы расшаренный сетевой ресурс (папка) монтировался при загрузке системы, необходимо в конфигурационный файл /etc/fstab добавить строчку:
В последних версиях Ubuntu/Mint может появляться ошибка:
а в syslog можно найти следующее:
В этом случае необходимо явно указать диалект, то-есть добавить в конец строки vers=1.0
Как в Linux монтировать шару CIFS
Что такое Linux и CIFS простыми словами.
Работа с общими папками Windows происходит с использованием протокола CIFS (SMB). Все примеры в данном руководстве выполняются на Linux Ubuntu и CentOS.
Подготовка
Установка пакетов
Для монтирования общей папки необходимо установить набор утилит для работы с CIFS.
yum install cifs-utils
apt-get install cifs-utils
Сетевые порты
Если мы будем монтировать сетевую папку, сервер которой находится за брандмауэром, необходимо открыть следующие порты:
Синтаксис
mount.cifs //192.168.1.1/public /mnt
* простой пример монтирования папки public на сервере 192.168.1.1 в локальный каталог /mnt.
Ручное монтирование
Теперь монтирование можно выполнить следующей командой:
* в данном примере будет примонтирован каталог share на сервере 192.168.1.10 в локальную папку /mnt под учетной записью dmosk.
То же самое, с использованием домена:
Автоматическое монтирование CIFS через fstab
Для начала создаем файл, в котором будем хранить данные авторизации при подключении к общей папке:
И добавляем в него данные следующего вида:
username=dmosk
password=dPassw0rd
domain=dmosk.local
* в этом примере создана пара логин/пароль — dmosk/dPassw0rd; domain указывать не обязательно, если аутентификация выполняется без него.
Теперь открываем конфигурационный файл fstab:
и добавляем в него следующее:
//192.168.1.10/share /mnt cifs user,rw,credentials=/root/.smbclient 0 0
* в данном примере выполняется монтирование общей папки share на сервере с IP-адресом 192.168.1.10 в каталог /mnt. Параметры для подключения — user: позволяет выполнить монтирование любому пользователю, rw: с правом на чтение и запись, credentials: файл, который мы создали на предыдущем шаге.
Чтобы проверить правильность настроек, вводим следующую команду:
Примеры использования опций
Версии SMB
Если на стороне Windows используется старая или слишком новая версия протокола SMB, при попытке монтирования мы можем получить ошибку mount error(112): Host is down. Чтобы это исправить, указываем версию:
* монтирование по протоколу SMB1.0
Монтирование от гостевой учетной записи
Если сервер принимает запросы без логина и пароля, то клиент подключается, как гость:
//192.168.1.10/share /mnt cifs guest 0 0
Права на примонтированные каталоги
При монтировании папки мы можем указать определенные права:
Для указания владельца, который будет назначен для примонтированного каталога, используем: