Как подключить общую папку (сетевой ресурс, шару) Windows к Linux

Как подключить общую папку (сетевой ресурс, шару) Windows к Linux

CIFS (Common Internet File System) – это популярный протокол обмена файлами в Интернете. Этот протокол и позволит пользователям ОС Linux получить доступ к общей папке Windows.

CIFS – это реализация SMB (Server Message Block) – протокола, используемого для совместного использования сетевых файлов. Но он устарел.

В этой статье мы по шагам пройдем все этапы установки и настройки CIFS, чтобы подключиться к сетевому ресурсу Windows на ОС Linux.

Установка CIFS

Сейчас мы установим пакет cifs-utils на Ubuntu Linux (точно так же можно сделать на всех Debain-подобных ОС).

$ sudo apt-get update
$ sudo apt-get install cifs-utils

Монтируем Windows Share (сетевой ресурс)

Сейчас мы разберем на примерах, как монтировать общую папку Windows вручную и автоматически.

Создадим на нашем Linux директорию, к которой мы будем монтировать сетевой ресурс. Назовем ее myshare и расположена она будет в каталоге /mnt

$ sudo mkdir /mnt/myshare

Сетевой ресурс (шара) Windows может быть примонтирован к ОС Ubuntu или Debian с помощью следующей команды:

$ sudo mount -t cifs -o username=user,password=Passw0rd //WINDOWS_HOST_IP/share /mnt/myshare

Где:

WIN_HOST_IP – это IP адрес хоста Windows, на котором расположена общая папка

share – имя сетевого ресурса

user – наш пользователь и Passw0rd – пароль с которыми мы подключемся к шаре.

Если пользователь доменный, то необходимо в опциях (-o) указать домен.

$ sudo mount -t cifs -o username=user,password=Passw0rd,domain=domain_name //WIN_HOST_IP/share /mnt/myshare

По-умолчанию сетевой ресурс монтируется с полными правами (rwx или 777). Если Вы хотите установить иные права, используйте опции dir_mode и file_mode.

$ sudo mount -t cifs -o username=user,password=Passw0rd,dir_mode=0755,file_mode=0755 //WIN_HOST_IP/share /mnt/myshare

Так же Вы можете установить владельцев uid (id пользователя) и gid (id группы).

$ sudo mount -t cifs -o username=user,password=Passw0rd,uid=1000,gid=1000,dir_mode=0755,file_mode=0755 //WIN_HOST_IP/share /mnt/myshare

Если после выполнения предыдущих команд Вы не получили никаких ошибок, то можете с помощью команды df -h убедиться, что сетевой ресурс успешно примонтирован к нашему ПК на Linux. В примере WIN_HOST_IP = 192.168.1.100 и имя общей папки share

$ df -h
Filesystem                 Size  Used Avail Use% Mounted on
udev                       3,9G     0  3,9G   0% /dev
tmpfs                      787M  2,2M  785M   1% /run
/dev/sda2                  450G   23G  405G   6% /
tmpfs                      3,9G  705M  3,2G  18% /dev/shm
tmpfs                      5,0M  4,0K  5,0M   1% /run/lock
tmpfs                      3,9G     0  3,9G   0% /sys/fs/cgroup
//192.168.1.100/share  1000G  108G  82G   11% /mnt/myshare

Безопасность учетных данных при монтировании через CIFS

В этом разделе опишем, как лучше всего передавать учетные данные (имя пользователя, пароль, домен) при монтировании сетевого ресурса к ОС на базе Линукс.

Создайте файл с учетными данными для cifs: /etc/cifs-credentials

Внутрь поместите следующее содержимое:

username=user
password=Passw0rd
domain=domain_name

Задайте права для этого файла:

$ sudo chmod +rw /etc/cifs-credentials

Теперь мы можем подключить общую папку такой командой:

$ sudo mount -t cifs -o credentials=/etc/cifs-credentials //WIN_HOST_IP/share /mnt/myshare

Как сделать автоматическое монтирование общей папки Windows

В примерах выше, после того, как Вы перезагрузите свой ПК, сетевой ресурс не примонтируется. Поэтому сделаем так, чтобы шара подключалась автоматически. В Linux это делается через файл /etc/fstab. Откройте этот файл любимым редактором.

$ sudo vim /etc/fstab

И добавьте такую строку:

//WIN_HOST_IP/share /mnt/myshare cifs credentials=/etc/cifs-credentials,file_mode=0755,dir_mode=0755 0 0

Следующей командой запустим монтирование всех точек, описанных в /etc/fstab

$ sudo mount -a

Теперь наш удаленный сетевой ресурс будет доступен даже после перезагрузки.

Как размонтировать общую папку CIFS

Размонтирование производится таким же способом, как и обычно мы жто делаем с дисками:

$ sudo umount /mnt/myshare

Часто бывает так, что сетевой ресурс занят каким-то процессом и тогда Вы получите ошибку при попытке размонтирования, тогда запустите команду с ключем -l (–lazy)

$ sudo umount -t cifs -l /mnt/myshare

Итог

Итак, в этой статье мы рассмотрели, как быстро примонтировать удаленную сетевую папку, которая находится на хосте с Windows, к нашему хосту на Linux с помощью CIFS. Если у Вас остались какие-либо вопросы, пожалуйста, пишите в комментариях.


10 thoughts on “Как подключить общую папку (сетевой ресурс, шару) Windows к Linux”

  1. [ 13.068117] CIFS: Attempting to mount //192.168.10.250/home
    [ 13.068332] CIFS VFS: Error connecting to socket. Aborting operation.
    [ 13.068339] CIFS VFS: cifs_mount failed w/return code = -2
    [ 13.068431] CIFS: Attempting to mount //192.168.10.250/home/Drive/школа/English
    [ 13.068556] CIFS VFS: Error connecting to socket. Aborting operation.
    [ 13.068564] CIFS VFS: cifs_mount failed w/return code = -2
    [ 13.069981] CIFS: Attempting to mount //192.168.10.250/Учебный_год_3В
    [ 13.070234] CIFS VFS: Error connecting to socket. Aborting operation.
    [ 13.070241] CIFS VFS: cifs_mount failed w/return code = -2
    [ 15.184815] usb 1-1: reset high-speed USB device number 2 using ehci-pci
    [ 17.861600] random: crng init done
    [ 17.861607] random: 7 urandom warning(s) missed due to ratelimiting
    [ 23.589870] tg3 0000:3f:00.0 enp63s0: Link is up at 100 Mbps, full duplex
    [ 23.589872] tg3 0000:3f:00.0 enp63s0: Flow control is off for TX and off for RX
    [ 23.589901] IPv6: ADDRCONF(NETDEV_CHANGE): enp63s0: link becomes ready

    Все бы хорошо, но не успевает сетевуха поднять линк

    дальше вручную “sudo mount -a” и все взлетает

    [ 697.728246] CIFS: Attempting to mount //192.168.10.250/home
    [ 700.739946] CIFS: Attempting to mount //192.168.10.250/Учебный_год_3В
    [ 701.090973] CIFS: Attempting to mount //192.168.10.250/home/Drive/школа/English

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

    ноут по wifi нормально отрабатывает, а системник с обычной сетевухой нет

  2. Хорошо бы уточнить, что в файле cifs-credentials не должно быть пробелов вокруг знаков равенства, а то ведь и не догадаешься, если не знаешь, а не работает.

  3. Привет
    Number 1:
    WINDOWS_HOST_IP – в строке примера подключения
    Где:
    WIN_HOST_IP – в разъяснениии
    Numder2:
    “По-умолчанию сетевой ресурс монтируется с полными правами”
    на деле как то немного наоборот, с мин. правами – только чтение, по крайней мере в 33 Fedore

    Спасибо.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

Unlix © Все права защищены 2023

Копирование материалов с сайта Unlix.ru без указания полной ссылки на источник ЗАПРЕЩЕНО!