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
В примерах выше, после того, как Вы перезагрузите свой ПК, сетевой ресурс не примонтируется. Поэтому сделаем так, чтобы шара подключалась автоматически. В 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. Если у Вас остались какие-либо вопросы, пожалуйста, пишите в комментариях.
Монтирование SMB не что иное как подключение сетевой папки WIndows в Linux. SMB (Server Message Block) — сетевой протокол удаленного доступа к сетевым ресурсам (файлы, папки, принтеры и т.п.). В первой версии протокола был известен также как CIFS (Common Internet File System). Протоком SMB повсеместно используется во всех ОС Microsoft Windows.
В современных дистрибутивах Linux уже можно совершенной спокойно путешествовать по сетевым дискам. Но куда удобнее если смонтировать сетевой диск сразу в папку, да еще и на рабочем столе, красота. Я создал папку с общим доступом на сервере Hyper-V, её и буду монтировать. Монтирование SMB буду делать под специально заведенным пользователем, дабы не светить пароль админа.
Монтируемая папка
Монтируемая директория доступна только администраторам и пользователю smb (создан специально для монтирования). Сделать общую папку на сервере Windows можно двумя способами: 1 — через свойства папки; 2 — через Powershell. Через свойства папки проще и быстрее как для новичка.
Но в моем случае с сервером HyperV 2019 сработал только второй способ, через Powershell.
New-SmbShare -Name "smb_mount" -Path "F:smb_mount" -FullAccess "Administrator", "smb"
Данной командой я сделал общей папку расположенную по пути F:smb_mount и присвоил ей имя smb_mount. Права на доступ к папке выдал пользователю Administrator и smb.
Общая папка у меня доступна по пути \hvs19smb_mount, но монтировать я буду ее по ip адресу. Принципиального вопроса как монтировать нет, просто не всегда есть возможность использовать имя.
С монтируемой папкой закончили, создадим папку куда будем монтировать. Я создал папку в /opt и назвал её F (по имени диска где лежит монтируемая папка) для удобства.
Установим набор утилит для монтирования SMB
Для Ubuntu (и прочих Debian`ов)
sudo apt-get install cifs-utils
Для Centos 8 (и прочих RPM дистрибутивов на YUM)
sudo yum install cifs-utils
Монтирование SMB
Все необходимые папки мы создали, теперь приступим к монтированию файловой системы.
sudo mount -t cifs -o username=smb,password=пароль //192.168.1.110/smb_mount /opt/F
Пройдемся по параметрам:
- -t cifs — тип файловой системы cifs (полностью совместим с SMB)
- username — пользователь у которого есть доступ к монтируемой папке (на сетевом диске). Если разрешено, можно использовать гостя, без пароля. В таком случае указываем username=guest
- password — пароль от учетной записи этого пользователя
- //192.168.1.110/smb_mount — общая папка на сервере которую монтируем
- /opt/F — папка куда монтируем.
Посмотрим что все получилось, проверим свободное место в сетевой папке
Можно использовать дополнительные возможности при монтировании, используя ключи после параметра -o. Вот некоторые из них
- rw — запись и чтение
- ro — только чтение
- iocharset=utf8 — в данной кодировке будет выводится информация;
- codepage=cp866 — кодировка используемая на сервере с общей папкой. Обычно Windows устанавливает кодировку cp866.
- vers=3.0 — принудительно указать версию подключения SMB протокола. Для безопасного подключения используйте последнюю версию.
Используя команду mount мы монтируем папку в ручном режиме и после перезагрузки монтирования не произойдет. Для автоматического монтирования папки читаем следующий раздел.
Автоматическое монтирование SMB
Для постоянного монтирования папке при старте системы необходимо внести изменения в файл /etc/fstab. При монтировании сетевого диска с SMB используется пароль. Для большей сохранности не будем указывать его в файле fstab, а сохраним в директории root.
Создадим файл с учетными данными
Добавим в файл строки: имя пользователя, пароль, домен (если используется). У меня домена нет, поэтому добавлю только имя и пароль
username=smb password=пароль domain=mydomain
Откроем файл /etc/fstab для редактирования
Добавим новую строку в конец файла
//192.168.1.110/smb_mount /opt/F cifs user,rw,credentials=/root/.cifsmnt 0 0
Сохраним файл и перезагрузим компьютер. После этого сетевая папка будет монтироваться автоматически.
Разберем указанные параметры
- //192.168.1.110 — ip адрес сервера где находится сетевая папка
- /smb_mount — сетевая папка на указанном выше сервере
- /opt/F — папка на локальном компьютере куда будем монтировать сетевую папку
- cifs — тип монтируемой файловой системы
- user — разрешение монтировать для любого пользователя
- rw — разрешения на чтение/запись на диск при монтировании
- credentials — путь к файлу с данными учетной записи используемых для подключения по SMB
- 0 — не использовать дамп
- 0 — не проверять файловую систему при старте программой fsck
Права на папки и файлы
Примонтированный диск по умолчанию монтируется от root и разрешает запись на диск только под ним. Рассмотрим опции позволяющие изменить доступ на примонтированные папки и файлы. Также рассмотрим настройки по смене владельца смонтированной папки.
- uid — задает владельца каталога. Узнать uid пользователей можно в файле /etc/passwd
- gid — задает группу владельца каталога. Узнать gid групп можно в файле /etc/passwd
- file_mode=0777 — права на доступ к файлам. 0777 — разрешено запись/чтение всем.
- dir_mode=0777 — права на доступ к папкам. 0777 — разрешено запись/чтение всем.
Пример записи в файле /etc/fstab монтирования от моего пользователя (не root) с полным доступом ко всем файлам и папкам
//192.168.1.110/smb_mount /opt/F cifs user,rw,credentials=/root/.cifsmnt,file_mode=0777,dir_mode=0777,uid=1000,gid=1000 0 0
Размонтирование SMB
Размонтировать сетевую папку SMB можно используя команду umount
В параметрах команды umount указываем директорию куда была смонтирована сетевая папка. В моем случае это /opt/F
Если смонтированная файловая система сейчас занята, появится сообщение umount: target is busy . В таком случае размонтировать получиться с ключом -l
Решение проблем монтирования
Если по какой либо причине после ваших попыток папка все же не монтируется, необходимо смотреть системный журнал.
grep "cifs" /var/log/syslog
В системном журнале будет указана причина ошибки монтирования. Как пример не верный логин/пароль, не установленные утилиты cifs и т.п.
Хотите отблагодарить автора статьи? Это даст ему дополнительный стимул к написанию новых статей.
В этой статье мы рассмотрим, как в Linux смонтировать общую сетевую папку, расположенную на хосте Windows. В Windows для доступа к общим сетевым папкам используется протокол SMB (Server Message Block, ранее назывался CIFS, Сommon Internet File System). В Linux для доступа к сетевым папкам Windows по протоколу SMB можно использовать клиент cifs-utils или Samba.
- Смонтировать сетевую папку в Linux с помощью cifs-util
- Linux: подключиться к сетевой папке с помощью клиента samba
Содержание:
Совет. Для доступа к сетевым папкам по SMB/CIFS используется порт TCP/445. Для разрешения имени используются UDP 137, 138 и TCP 139. Если эти порты закрыты, вы сможете подключиться к сетевой папке Windows только по IP адресу.
Смонтировать сетевую папку в Linux с помощью cifs-util
Вы можете смонтировать сетевую папку, находящуюся на Windows хосте, с помощью утилит из пакета cifs-util. Для установки пакета выполните команду:
- В Ubuntu/Debian:
apt-get install cifs-utils
- В CentOS/Oracle/RHEL:
dnf install cifs-utils
Теперь вы можете смонтировать сетевую папку вручную с помощью команды:
mount.cifs //192.168.200.30/docs /mnt
В предыдущем примере подразумевалось, что к общей сетевой папке на Windows предоставлен анонимный доступ. Если для доступа нужно аутентифицироваться под пользователем, используйте команду:
mount.cifs //192.168.200.30/docs /mnt -o user=localuser1
Если для подключения нужно использоваться доменную учетную запись пользователя:
mount.cifs //192.168.200.30/docs /mnt -o user=aivanov,domain=vmblog.ru
Совет. Если в имени сетевой шары есть пробелы, нужно заменить их на 40:
mount.cifs //192.168.200.30/shared40docs /mnt -o user=localuser1
Вы можете монтировать сетевую папку автоматически с помощью fstab. Для этого создайте файл с именем пользователя и паролем:
vim /root/.smbshare
Укажите имя пользователя, пароль и домен AD:
username=avvanov password=Pass123-y domain=vmblog.ru
И добавьте строку подключения SMB каталог в файл /etc/fstab
//192.168.200.30/docs /mnt cifs user,rw,credentials=/root/.smbshare 0 0
Параметр rw указывает, что папка будет доступна на чтение и запись.
Вы можете указать версию протокола SMB, которую нужно использовать для подключения (версия SMB 1.0 считается небезопасной и отключена по-умолчанию в современных версиях Windows). Чтобы смонтировать сетевую папку по протоколу SMB 3.0, используйте строку:
//192.168.200.30/docs /mnt cifs user,rw,credentials=/root/.smbshare,vers=3.0 0 0
Если на стороне хоста Windows используется несовместимая (старая версия) SMB, при подключении появится ошибка:
mount error(112): Host is down
Чтобы сразу смонтировать сетевую папку, выполните:
mount -a
Linux: подключиться к сетевой папке с помощью клиента samba
Установите в Linux клиент samba:
- В Ubuntu/Debian:
sudo apt-get install smbclient
- В CentOS/Oracle/RHEL:
dnf install smbclient
Разрешите доступ для клиента, добавив правило в файервол:
firewall-cmd --add-service samba-client --permanent; firewall-cmd –reload
Для вывода всех SMB ресурсов в локальной сети:
smbtree -N
Чтобы обнаружить список доступных SMB шар на удаленном хосте под определенной учетной записью, выполните команду:
smbclient –L \\192.168.200.30 –U 'administrator'
Чтобы вывести список опубликованных в Windows сетевых принтеров:
net share -l
Для подключения к сетевой папке Windows используется команда:
smbclient -U usernam1 \\192.168.200.30\shared_docs
Для анонимного доступа:
smbclient -U Everyone \\192.168.200.30\shared_docs
При использовании команды smbclient может появиться ошибка:
Unable to initialize messaging context smbclient: Can't load /etc/samba/smb.conf - run testparm to debug it
Чтобы исправить ошибку, создайте файл /etc/samba/smb.conf.
-
September 6 2011, 15:20
- IT
- Cancel
Обновлено 25.02.20
При обновлении использовались статьи:
https://www.hippolab.ru/kak-podklyuchit-setevoy-disk-windows-v-linux
https://losst.ru/montirovanie-diska-v-linux
—————————————————————————————
Обновленная история будет короче. Установить нужно только пакет:
cifs-utils
Создать каталог для монтирования:
sudo mkdir /mnt/winshare
Узнать UID и GID пользователя:
grep MY_USER_NAME /etc/passwd (через sudo id MY_USER_NAME — тоже можно)
Создать файл для хранения логина/пароля (синтаксис был описан в прошлый раз, подробности ниже):
sudo touch /root/.cred
Команда для проверки, что все работает правильно:
mount.cifs //192.168.1.1/Share /mnt/winshare -o credentials=/root/.cred,uid=1000,gid=1000
Отмонтировать каталог:
sudo umount /mnt/winshare
Добавить все в fstab (этот способ все еще работает, хотя и могут быть изменения из-за новой системы инициализации SystemD)
//192.168.0.1/Share /mnt/winshare cifs credentials=/root/.cred,uid=1000,gid=1000 0 0
Все
—————————————————————————————
Задача заняла некоторое время, чего совсем не ожидал после работы с Gnome, там все делается намного проще через меню Places — Connect to Server. В XFCE такого меню, к сожалению, не оказалось….
Итак, ставим
sudo aptitude install samba-client
sudo aptitude install samba
sudo aptitude install smbfs
Далее
sudo vi /etc/samba/smb.conf
uncomment security=user
Рестартуем samba
sudo /etc/init.d/samba restart
Смотрим, что мы можем примонтировать
sudo smbclient -L ip -U user (ip — адрес ресурса, можно и имя, если остальное настроено, user — имя пользователя для подключения)
Создаем папку куда будем монтировать и на всякий случай даем права на запись
sudo mkdir /media/share/
sudo chmod a+w /media/share
Через fstab подключать сетевую папку нет необходимости, поэтому решил все сделать через скрипт. Т.е. сначала нужно запустить скрипт, а потом уже открыть подмонтированную папку. Тут есть проблема с sudo. Чтобы все сделать правильно, нужно :
Написать скрипт для монтирования папки (сначала создать файл и пометить его как исполняемый):
touch /home/user/script.sh
/home/user/script.sh
Сам скрипт:
#!/bin/bash
sudo /bin/mount -t cifs //x.x.x.x/folder/ -o credentials=/home/user/.cred,uid=1000,gid=1000 /media/share/
Здесь указываем сервер и папку, которую нужно примонтировать. Затем идут опции, в которых есть ссылка на данные о пользователе, под которым подключаемся к win-шарам. Эти данные для пущей безопасности поместим в файл, например, /home/user/.cred, синтаксис файла весьма прост:
username=
password=
domain=
Домен можно и опустить, если нет необходимости. Идем далее по строчке из скрипта. uid и gid — в моем случае нужны, чтобы иметь права на запись в примонтированные папки, а то только root может писать. Узнать эти параметры можно запустив под пользователем
sudo id user
Ну, и в конце куда монтируем. Все ничего, да вот sudo подкидывает еще забот — не монтируется под обычным пользователем папка, если только с вводом пароля из терминала. Чтож, открываем /etc/sudoers:
sudo visudo
И пишем в конец него
user ALL = NOPASSWD: /bin/mount, /bin/umount
Теперь не будет выдаваться запрос на ввод пароля при монтировании и размонтировании из-под пользователя.
Вроде, все. Кстати, скрипт можно сунуть куда надо и будет все монтироваться автоматом.
В операционных системах Linux и UNIX общий ресурс Windows можно смонтировать в определенной точке монтирования в дереве локальных каталогов, используя cifs
параметр mount
команды.
Общая файловая система Интернета (CIFS) — это сетевой протокол обмена файлами. CIFS является формой SMB.
Установка пакетов утилит CIFS
Чтобы смонтировать общий ресурс Windows в системе Linux, сначала необходимо установить пакет утилит CIFS.
-
Установка утилит CIFS в Ubuntu и Debian:
sudo apt update
sudo apt install cifs-utils
-
Установка утилит CIFS в CentOS и Fedora:
sudo dnf install cifs-utils
Имя пакета может отличаться в разных дистрибутивах Linux.
Монтирование удаленного общего ресурса Windows аналогично монтированию обычных файловых систем.
Сначала создайте каталог, который будет служить точкой монтирования для удаленного общего ресурса Windows:
sudo mkdir /mnt/win_share
Запустите следующую команду как пользователь root или пользователь с правами sudo для монтирования общего ресурса:
sudo mount -t cifs -o username=<win_share_user> //WIN_SHARE_IP/<share_name> /mnt/win_share
Вам будет предложено ввести пароль:
Password:
В случае успеха не выводится.
Чтобы убедиться, что удаленный общий ресурс Windows успешно смонтирован, используйте команду mount
или df -h
.
После монтирования общего ресурса точка монтирования становится корневым каталогом смонтированной файловой системы. Вы можете работать с удаленными файлами, как если бы они были локальными файлами.
Пароль также можно указать в командной строке:
sudo mount -t cifs -o username=<win_share_user>,password=<win_share_password> //WIN_SHARE_IP/<share_name> /mnt/win_share
Если пользователь находится в рабочей группе или домене Windows, вы можете установить его следующим образом:
sudo mount -t cifs -o username=<win_share_user>,domain=<win_domain> //WIN_SHARE_IP/<share_name> /mnt/win_share
Для большей безопасности рекомендуется использовать файл учетных данных, который содержит имя пользователя, пароль и домен общего ресурса.
Файл учетных данных имеет следующий формат:
/etc/win-credentials
username = user
password = password
domain = domain
Файл не должен быть доступен для чтения пользователям. Чтобы установить правильные разрешения и владельца , запустите:
sudo chown root: /etc/win-credentials
sudo chmod 600 /etc/win-credentials
Чтобы использовать файл учетных данных, определите его следующим образом:
sudo mount -t cifs -o credentials=/etc/win-credentials //WIN_SHARE_IP/<share_name> /mnt/win_share
По умолчанию подключенный общий ресурс принадлежит пользователю root, а разрешения установлены на 777.
Используйте dir_mode
опцию, чтобы установить разрешение каталога и file_mode
установить разрешение файла:
sudo mount -t cifs -o credentials=/etc/win-credentials,dir_mode=0755,file_mode=0755 //WIN_SHARE_IP/<share_name> /mnt/win_share
Пользователь по умолчанию и группа собственность могут быть изменены с uid
и gid
опциями:
sudo mount -t cifs -o credentials=/etc/win-credentials,uid=1000,gid=1000,dir_mode=0755,file_mode=0755 //WIN_SHARE_IP/<share_name> /mnt/win_share
Чтобы установить дополнительные параметры , добавьте их в виде списка через запятую после -o
параметра. Чтобы получить список всех опций монтирования, введите man mount
ваш терминал.
Авто монтаж
Когда общий ресурс монтируется вручную с помощью mount
команды, он не сохраняется после перезагрузки.
/etc/fstab
Файл содержит список записей , которые определяют , где , как и то , что файловая система будет смонтирована на старте системы.
Чтобы автоматически смонтировать общий ресурс Windows при запуске вашей системы Linux, определите монтирование в /etc/fstab
файле. Строка должна содержать имя хоста или IP-адрес ПК с Windows, имя общего ресурса и точку монтирования на локальном компьютере.
Откройте /etc/fstab
файл в текстовом редакторе :
sudo nano /etc/fstab
Добавьте следующую строку в файл:
/etc/fstab
# <file system> <dir> <type> <options> <dump> <pass>
//WIN_SHARE_IP/share_name /mnt/win_share cifs credentials=/etc/win-credentials,file_mode=0755,dir_mode=0755 0 0
Выполните следующую команду для монтирования общего ресурса:
sudo mount /mnt/win_share
Команда, будет читать содержание
mount /etc/fstab
и установить долю.
При следующей перезагрузке системы общий ресурс Windows будет смонтирован автоматически.
Команда umount
отсоединяет (размонтирует) смонтированную файловую систему от дерева каталогов.
Чтобы отсоединить подключенный общий ресурс Windows, используйте umount
команду с указанием либо каталога, в котором он был подключен, либо удаленного общего ресурса:
sudo umount /mnt/win_share
Если в fstab
файле CIFS есть запись в файле, удалите ее.
Команда umount
не сможет отсоединить общий ресурс, когда он используется. Чтобы узнать, какие процессы обращаются к общему ресурсу Windows, используйте fuser
команду:
fuser -m MOUNT_POINT
Найдя процессы, вы можете остановить их с помощью kill
команды и размонтировать общий ресурс.
Если у вас по-прежнему возникают проблемы с размонтированием общего ресурса, используйте параметр -l
( --lazy
), который позволяет размонтировать занятую файловую систему, как только она больше не будет занята.
sudo umount -l MOUNT_POINT
Вывод
В Linux вы можете смонтировать общий доступ к Windows, используя mount
команду с cifs
параметром.
Статья описывает настройку подключения к папкам общего доступа Windows Server в консоли Debian GNU/Linux.
Задача такая: на машине Windows Server с IP-адресом 192.168.1.251 есть общая папка backup1, к ней необходимо подключиться с помощью Debian, примонтировать её, а также монтировать каждый раз при загрузке системы.
Все действия выполняются пользователем с правами root
Устанавливаем samba-client и cifs-utils
# apt install samba-client cifs-utils
Утилита установки задаст вопрос:
Отвечаем <Да>
Пробуем подключиться к общей папке backup1 по протоколу smb:
# smbclient //192.168.1.251/backup1 -U gooduser
gooduser — имя пользователя машины с Windows Server
Вводим пароль и попадаем в консоль smb
Можно посмотреть что там командой ls
smb: > ls
Выходим
smb: > exit
Теперь примонтируем эту общую папку в /mnt/backup/backup1.
Для этого создадим каталоги /mnt/backup и /mnt/backup/backup1
# mkdir /mnt/backup # mkdir /mnt/backup/backup1
и вводим команду монтирования
# mount -t cifs -o username=gooduser,password=sOMePaS$woRD //192.168.1.251/backup1 /mnt/backup/backup1
и смотрим, появилось ли там что-нибудь
# ls /mnt/backup/backup1
Если видим файлы и папки, значит всё сделано правильно.
Теперь настроим монтирование при загрузке Debian
Для этого создадим файл /home/.smbcreds
# touch /home/.smbcreds
откроем его
# nano /home/.smbcreds
и впишем такое:
username=gooduser password=sOMePaS$woRD domain=WORKGROUP
Затем откроем файл /etc/fstab
# nano /etc/fstab
и добавим такую строчку:
//192.168.1.251/backup1 /mnt/backup/backup1 cifs credentials=/home/.smbcreds 0 0
Готово! Перезагрузим Debian
# shutdown -r now
и проверяем.
Всё должно работать!
Содержание
- Как смонтировать сетевую папку Windows/Samba в Linux
- Настройка автоматического монтирования сетевой папки в Linux
- Монтирование сетевой папки windows в debian
- Установка CIFS
- Монтируем Windows Share (сетевой ресурс)
- Безопасность учетных данных при монтировании через CIFS
- Как сделать автоматическое монтирование общей папки Windows
- Как размонтировать общую папку CIFS
- Автор
- Возможно Вам будет это инетересно
- Разворачиваем TFTP сервер на Debian/Ubuntu
- Как посмотреть логи VMware vSphere ESXi через браузер
- Как сделать загрузочную флешку Linux Mint
- 7 thoughts on “Как подключить общую папку (сетевой ресурс, шару) Windows к Linux”
- linux
- Как подключить сетевой диск Windows в Linux
- Как подключить сетевой диск Windows в Linux
- Монтирование сетевого диска windows (samba) в linux.
- Команда mount в Linux или все о монтировании разделов, дисков, образов ISO и SMB ресурсов.
- Содержание
- Как монтировать общие папки Windows в системах Linux
- How to Mount Windows Share on Linux using CIFS
- В этом руководстве мы расскажем, как вручную и автоматически монтировать общие папки Windows в системах Linux.
- Установка пакетов утилит CIFS
- Монтирование CIFS Windows Share
- Авто монтаж
- Размонтирование Windows Share
- Вывод
- Монтирование SMB
Как смонтировать сетевую папку 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 запишите следующее:
Источник
Монтирование сетевой папки windows в debian
CIFS (Common Internet File System) — это популярный протокол обмена файлами в Интернете. Этот протокол и позволит пользователям ОС Linux получить доступ к общей папке Windows.
CIFS — это реализация SMB (Server Message Block) — протокола, используемого для совместного использования сетевых файлов. Но он устарел.
В этой статье мы по шагам пройдем все этапы установки и настройки CIFS, чтобы подключиться к сетевому ресурсу Windows на ОС Linux.
Установка CIFS
Сейчас мы установим пакет cifs-utils на Ubuntu Linux (точно так же можно сделать на всех Debain-подобных ОС).
Сейчас мы разберем на примерах, как монтировать общую папку Windows вручную и автоматически.
Создадим на нашем Linux директорию, к которой мы будем монтировать сетевой ресурс. Назовем ее myshare и расположена она будет в каталоге /mnt
Сетевой ресурс (шара) Windows может быть примонтирован к ОС Ubuntu или Debian с помощью следующей команды:
WIN_HOST_IP — это IP адрес хоста Windows, на котором расположена общая папка
share — имя сетевого ресурса
user — наш пользователь и Passw0rd — пароль с которыми мы подключемся к шаре.
Если пользователь доменный, то необходимо в опциях (-o) указать домен.
По-умолчанию сетевой ресурс монтируется с полными правами (rwx или 777). Если Вы хотите установить иные права, используйте опции dir_mode и file_mode.
Так же Вы можете установить владельцев uid (id пользователя) и gid (id группы).
Безопасность учетных данных при монтировании через CIFS
В этом разделе опишем, как лучше всего передавать учетные данные (имя пользователя, пароль, домен) при монтировании сетевого ресурса к ОС на базе Линукс.
Создайте файл с учетными данными для cifs: /etc/cifs-credentials
Внутрь поместите следующее содержимое:
Задайте права для этого файла:
Теперь мы можем подключить общую папку такой командой:
Как сделать автоматическое монтирование общей папки Windows
В примерах выше, после того, как Вы перезагрузите свой ПК, сетевой ресурс не примонтируется. Поэтому сделаем так, чтобы шара подключалась автоматически. В Linux это делается через файл /etc/fstab. Откройте этот файл любимым редактором.
И добавьте такую строку:
Следующей командой запустим монтирование всех точек, описанных в /etc/fstab
Теперь наш удаленный сетевой ресурс будет доступен даже после перезагрузки.
Как размонтировать общую папку CIFS
Размонтирование производится таким же способом, как и обычно мы жто делаем с дисками:
Итак, в этой статье мы рассмотрели, как быстро примонтировать удаленную сетевую папку, которая находится на хосте с Windows, к нашему хосту на Linux с помощью CIFS. Если у Вас остались какие-либо вопросы, пожалуйста, пишите в комментариях.
Автор
Админ
Возможно Вам будет это инетересно
Разворачиваем TFTP сервер на Debian/Ubuntu
Как посмотреть логи VMware vSphere ESXi через браузер
Как сделать загрузочную флешку Linux Mint
7 thoughts on “Как подключить общую папку (сетевой ресурс, шару) Windows к Linux”
Все бы хорошо, но не успевает сетевуха поднять линк
[ 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 нормально отрабатывает, а системник с обычной сетевухой нет
Источник
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
Источник
Как монтировать общие папки Windows в системах Linux
В этом руководстве мы расскажем, как вручную и автоматически монтировать общие папки Windows в системах Linux.
В операционных системах Linux и UNIX общий ресурс Windows можно смонтировать в определенной точке монтирования в дереве локальных каталогов, используя cifs параметр mount команды.
Установка пакетов утилит CIFS
Чтобы смонтировать общий ресурс Windows в системе Linux, сначала необходимо установить пакет утилит CIFS.
Установка утилит CIFS в Ubuntu и Debian:
Установка утилит CIFS в CentOS и Fedora:
Имя пакета может отличаться в разных дистрибутивах Linux.
Монтирование удаленного общего ресурса 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 будет смонтирован автоматически.
Команда umount отсоединяет (размонтирует) смонтированную файловую систему от дерева каталогов.
Чтобы отсоединить подключенный общий ресурс Windows, используйте umount команду с указанием либо каталога, в котором он был подключен, либо удаленного общего ресурса:
Если в fstab файле CIFS есть запись в файле, удалите ее.
Команда umount не сможет отсоединить общий ресурс, когда он используется. Чтобы узнать, какие процессы обращаются к общему ресурсу Windows, используйте fuser команду:
Найдя процессы, вы можете остановить их с помощью kill команды и размонтировать общий ресурс.
Вывод
В Linux вы можете смонтировать общий доступ к Windows, используя mount команду с cifs параметром.
Источник
Монтирование SMB
Монтирование SMB не что иное как подключение сетевой папки WIndows в Linux. SMB (Server Message Block) — сетевой протокол удаленного доступа к сетевым ресурсам (файлы, папки, принтеры и т.п.). В первой версии протокола был известен также как CIFS (Common Internet File System). Протоком SMB повсеместно используется во всех ОС Microsoft Windows.
В современных дистрибутивах Linux уже можно совершенной спокойно путешествовать по сетевым дискам. Но куда удобнее если смонтировать сетевой диск сразу в папку, да еще и на рабочем столе, красота. Я создал папку с общим доступом на сервере Hyper-V, её и буду монтировать. Монтирование SMB буду делать под специально заведенным пользователем, дабы не светить пароль админа.
Монтируемая папка
Монтируемая директория доступна только администраторам и пользователю smb (создан специально для монтирования). Сделать общую папку на сервере Windows можно двумя способами: 1 — через свойства папки; 2 — через Powershell. Через свойства папки проще и быстрее как для новичка.
Но в моем случае с сервером HyperV 2019 сработал только второй способ, через Powershell.
Данной командой я сделал общей папку расположенную по пути F:smb_mount и присвоил ей имя smb_mount. Права на доступ к папке выдал пользователю Administrator и smb.
Общая папка у меня доступна по пути \hvs19smb_mount, но монтировать я буду ее по ip адресу. Принципиального вопроса как монтировать нет, просто не всегда есть возможность использовать имя.
С монтируемой папкой закончили, создадим папку куда будем монтировать. Я создал папку в /opt и назвал её F (по имени диска где лежит монтируемая папка) для удобства.
Установим набор утилит для монтирования SMB
Для Ubuntu (и прочих Debian`ов)
Для Centos 8 (и прочих RPM дистрибутивов на YUM)
Монтирование SMB
Все необходимые папки мы создали, теперь приступим к монтированию файловой системы.
Пройдемся по параметрам:
Посмотрим что все получилось, проверим свободное место в сетевой папке
Можно использовать дополнительные возможности при монтировании, используя ключи после параметра -o. Вот некоторые из них
Используя команду mount мы монтируем папку в ручном режиме и после перезагрузки монтирования не произойдет. Для автоматического монтирования папки читаем следующий раздел.
Автоматическое монтирование SMB
Для постоянного монтирования папке при старте системы необходимо внести изменения в файл /etc/fstab. При монтировании сетевого диска с SMB используется пароль. Для большей сохранности не будем указывать его в файле fstab, а сохраним в директории root.
Создадим файл с учетными данными
Добавим в файл строки: имя пользователя, пароль, домен (если используется). У меня домена нет, поэтому добавлю только имя и пароль
Откроем файл /etc/fstab для редактирования
Добавим новую строку в конец файла
Сохраним файл и перезагрузим компьютер. После этого сетевая папка будет монтироваться автоматически.
Разберем указанные параметры
Права на папки и файлы
Примонтированный диск по умолчанию монтируется от root и разрешает запись на диск только под ним. Рассмотрим опции позволяющие изменить доступ на примонтированные папки и файлы. Также рассмотрим настройки по смене владельца смонтированной папки.
Пример записи в файле /etc/fstab монтирования от моего пользователя (не root) с полным доступом ко всем файлам и папкам
Размонтирование SMB
Размонтировать сетевую папку SMB можно используя команду umount
В параметрах команды umount указываем директорию куда была смонтирована сетевая папка. В моем случае это /opt/F
Решение проблем монтирования
Если по какой либо причине после ваших попыток папка все же не монтируется, необходимо смотреть системный журнал.
В системном журнале будет указана причина ошибки монтирования. Как пример не верный логин/пароль, не установленные утилиты cifs и т.п.
Источник