- Как создать общую сетевую папку на Windows
- Как настроить общую сетевую папку на Windows (SMB) без пароля
- 1. Компьютеры должны быть в одной локальной сети
- 2. Статичный IP
- 3. У компьютеров должна быть одинаковая рабочая группа
- 4. Настройки сетевых папок в Windows
- 5. Как создать сетевую папку SMB
- Как настроить совместную папку на Windows с паролем
- Как смонтировать сетевую папку Windows/Samba в Linux
- Настройка автоматического монтирования сетевой папки в Linux
Как создать общую сетевую папку на Windows
Как настроить общую сетевую папку на Windows (SMB) без пароля
1. Компьютеры должны быть в одной локальной сети
То есть если ваши устройства подключены к одному роутеру, то у них всех будет доступ к общей папке.
Если вы делаете настройку в виртуальных машинах, то во вкладке «Сеть» в качестве «Тип подключения» выберите «Сетевой мост»:
2. Статичный IP
Для настройки общей папки SMB статичный IP адрес компьютера, где будет располагаться папка, не является обязательным. К общей сетевой папке (шаре) можно обращаться по имени компьютера. Тем не менее если вам привычнее использовать IP, то нужно настроить статичный IP адрес для компьютера, который будет выполнять роль файлового сервера.
3. У компьютеров должна быть одинаковая рабочая группа
Компьютер с общей папкой, а также все другие компьютеры, которые будут иметь доступ к совместной папке по SMB, должны находится в одной рабочей группе.
По умолчанию в операционной системе Windows у всех компьютеров одинаковая рабочая группа с именем WORKGROUP.
Чтобы проверить текущую группу у вашего компьютера, откройте проводник, в нём найдите вкладку «Этот компьютер», вверху нажмите кнопку «Компьютер» и в открывшемся меню нажмите кнопку «Свойства»:
В новом открывшемся окне вы увидите «Имя компьютера» и «Рабочую группу»:
Если вы хотите изменить эти значения, то нажмите «Изменить параметры».
Нажмите кнопку «Изменить» чтобы назначить компьютеру новое имя:
4. Настройки сетевых папок в Windows
Протокол SMB в Windows обеспечивает работу не только сетевых папок, но и совместное использование принтеров и других ресурсов. Поэтому настройки совместно используемых папок (сетевых шар) называются «общим доступом».
В Windows при подключении к новой сети у вас может появится такой запрос:
Вы хотите разрешить другим компьютерам и устройствам в этой сети обнаруживать ваш ПК? Рекомендуется делать это в домашней или рабочей сети, а не в общедоступных.
Если вы ответите «Да», то при создании папки с сетевым доступом на этом компьютере, она будет видна на других устройствах в локальной сети.
Если вы уже давно ответили на этот вопрос и не помните как именно, то это не проблема — можно найти эти настройки в другом месте.
Следующий вариант для тех, у кого проводное соединение: рядом с часами нажмите на значок сетевых подключений и нажмите на имя сети:
В открывшемся окне нажмите на «Изменение расширенных параметров общего доступа»:
Универсальный вариант, подходит для тех, у кого проводное соединение или Wi-Fi: нажмите правой кнопкой мыши на значок сетевого соединения и нажмите «Открыть параметры сети и Интернет»:
В открывшемся окне нажмите на «Параметры общего доступа»:
Если вы хотите перейти к этим настройкам через «Панель управления», то путь такой: Панель управления\Сеть и Интернет\Центр управления сетями и общим доступом\Дополнительные параметры общего доступа
В новом окне настройки разбиты на три раздела:
- Частная
- Гостевая или общедоступная
- Все сети
Пометка «(текущий профиль)» означает, что в данный момент используется именно этот профиль.
Нам нужно изменить настройки для той сети, которая отмечена как «(текущий профиль)», а также в разделе «Все сети».
Переходим в Частная (текущий профиль):
Первая настройка: Сетевой обнаружение (Если включено сетевое обнаружение, этот компьютер может видеть другие компьютеры и устройства в сети и виден другим компьютерам). В ней выберите «Включить сетевое обнаружение» и поставьте галочку «Включить автоматическую настройку на сетевых устройствах».
Вторая настройка: Общий доступ к файлам и принтерам (Если общий доступ к файлам и принтерам включён, то файлы и принтеры, к которым разрешён общий доступ на этом компьютере, будут доступны другим пользователям в сети). Здесь выберите «Включить общий доступ к файлам и принтерам».
Далее в разделе «Все сети» нас интересуют одна последняя настройка:
- Общий доступ с парольной защитой
В описании сказано: Если включена парольная защита общего доступа, только пользователи с учётной записью и паролем на этом компьютере могут получить доступ к общим файлам, принтерам, подключённым к этому компьютеру, и общим папкам. Чтобы открыть доступ другим пользователям, нужно отключить парольную защиту общего доступа.
Суть её в том, что для подключения к сетевой папке нужно ввести логин и пароль пользователя, существующего на компьютере с этой папкой. У меня ни разу не получилось подключиться если эта опция включена (возможно дело в том, что я не устанавливаю пароли для пользователей, а вход пользователей по сети без пароля запрещён).
Поэтому выберите вариант «Отключить общий доступ с парольной защитой»:
Опционально: имеется несколько версий протокола SMB и по умолчанию первая версия отключена в современных системах Windows. Samba для некоторых функций использует первую версию, поэтому если у вас смешенная сеть с Linux, либо имеется устаревшее оборудование, которое поддерживает только SMB 1, то вы можете включить поддержку этой версии протокола. Для этого запустите cmd с правами администратора. Проверьте:
Для включения SMB 1 выполните:
Если вы захотите отключить их, то выполните:
Если вы предпочитаете графический интерфейс, то в поиске наберите «Включение или отключение компонентов Windows»:
5. Как создать сетевую папку SMB
Создайте новую папку или используйте уже существующую. К примеру, я создал в корне диска C папку с именем Share.
Открываем контекстное меню:
Во вкладке «Доступ» нажимаем кнопку «Общий доступ». В выпадающем меню выбираем «Все», нажимаем кнопку «Добавить», переключите «Чтение» на «Чтение и запись» и нажимаем кнопку «Поделиться»:
Будет открыто окно, в котором можно скопировать ссылку на сетевую папку, скопируется ссылка вида Share (file://HACKWARE-MIAL/Share). Эта ссылка является НЕПРАВИЛЬНОЙ, правильная ссылка имеет вид file://ИМЯ-КОМПЬЮТЕРА/Папка или \\ИМЯ-КОМПЬЮТЕРА\Папка, например, file://HACKWARE-MIAL/Share или \\HACKWARE-MIAL\Share.
Как настроить совместную папку на Windows с паролем
В домашних сетях удобно использовать совместные папки с доступом без пароля. Но в корпоративных сетях, либо в других случаях, когда не все пользователи должны иметь доступ к общей папке, можно настроить вход на совместную шару по паролю.
Настройка сетевой папки по паролю почти полностью повторяет процесс описанный в предыдущем разделе. Отличия следующие:
- Необязательно менять настройку «Общий доступ с парольной защитой» — вы можете оставить значение по умолчанию, когда запрещён доступ к совместным ресурсам без пароля.
- При открытии общего доступа к шаре в качестве владельца укажите пользователя с паролем. Можно специально создать нового пользователя с паролем, который будет использоваться в качестве владельца общей папки. И Windows 10 создать локальную учётную запись как при установке системы, так и уже после стало реально непросто. Если у вас схожие проблемы, то смотрите, статьи:
- Как создать локальный аккаунт при установке Windows 10
- Как создать новую учётную запись локального пользователя в Windows 10
Теперь нужно создать папку, владельцем которой будет только что созданный пользователь (ShareOverlord). Можно перезагрузить компьютер, выполнить вход под этим пользователем и создать папку, но я предполагаю, что возникнет несколько проблем:
- У этого пользователя ограниченные права (я не стал повышать его аккаунт до административного), поэтому он наверняка не сможет создать папку в корне диска C: и придётся затем искать эту папку
- Опять же из-за ограниченных прав нового пользователя могут возникнуть проблемы с открытием доступа по сети для созданной папки. То есть придётся вновь перезагружаться под административной учётной записью, искать в недрах пользовательских папок нужную. Причём могут возникнуть проблемы с правами доступа к папкам другого пользователя…
В общем, я создам папку под текущим аккаунтом администратора. Чтобы у пользователя, под которым будет выполняться вход для доступа к этой папке, были права на эту папку, можно поступить двумя способами:
- Сделать созданного для этих целей пользователя владельцем этой папки
- Добавить этому пользователю права доступа к этой папке
Поскольку в Windows администраторы по умолчанию всё равно имеют полный доступ к папке любого пользователя, то эти способы весьма схожи по результатам.
Допустим, вы решили поменять владельца папки, тогда смотрите статью «Как поменять владельца папки в Windows 10».
Теперь вновь кликаем правой кнопкой мыши по папке, выбираем вкладку «Доступ» → «Общий доступ». При желании вы можете удалить права доступа текущего администратора. Нажмите кнопку «Поделиться».
Обратите внимание, что общий доступ убран для текущего администратора только когда он будет пытаться просмотреть папку по сети. При локальном доступе, администратор всё равно может просматривать и менять содержимое этой папки — это можно поменять во вкладке «Безопасность» в свойствах папки.
Имеется нюанс если мы вместо смены владельца добавляем права доступа для определённого пользователя, поэтому рассмотрим второй вариант. Я удалил и заново создал папку C:\ShareRestricted\, поэтому текущий администратор вновь является её владельцем. Вновь кликаем правой кнопкой мыши по папке, выбираем вкладку «Доступ» → «Общий доступ» и добавляем права чтения и записи для пользователя ShareOverlord:
Нажимаем кнопку «Поделиться».
Теперь нажимаем «Расширенная настройка»:
Там нажимаем кнопку «Разрешения»:
В открывшемся окне нажимаем «Добавить»:
Вводим имя пользователя под которым должен выполнятся вход для доступа к папке (у меня это пользователь ShareOverlord) и нажимаем кнопку «Проверить имена»:
Теперь нажимаем «ОК» и возвращаемся в предыдущее окно:
Если вы хотите, чтобы у этого пользователя было не только право просматривать содержимое папки, но и её менять, то поставьте соответствующие галочки:
Теперь во всех открытых окнах настроек и свойств нажмите «ОК» для их закрытия.
Смотрите такжке полное Руководство по SMB и Samba.
Как смонтировать сетевую папку Windows/Samba в Linux
Сетевая папка Windows может быть доступна в файловых менеджерах Linux как любая другая локальная папка. Для этого её нужно смонтировать. После монтирования не придётся использовать консоль для просмотра списка файлов и скачивания или закачивания файлов.
Начните с установки пакета cifs-utils.
В Debian, Linux Mint, Ubuntu, Kali Linux и производных выполните:
В Arch Linux, BlackArch и производных выполните:
Предыдущие команды smbtree и smbclient понимали имена компьютеров Windows, такие имена как HACKWARE-MIAL. Монтирование выполняется с помощью команды mount, которая такие имена не умеет обрабатывать без помощи преобразования имён DNS. Поэтому при монтировании можно либо:
- Использовать вместо имён компьютеров IP адрес. В этом случае у компьютера с сетевой папкой должен быть постоянный (статичный) IP адрес
- Либо настроить преобразование имён для компьютеров Windows. Это можно сделать, например, с помощью файла /etc/hosts. Кстати, в этом случае у компьютера с общей папкой также должен быть постоянный IP адрес (смотрите Как настроить локальный DNS используя файл /etc/hosts в Linux)
В общем, в любом случае настройте в роутере или в самой Windows постоянный локальный IP.
Если вы хотите настроить преобразование имён с помощью файла /etc/hosts, то откройте его:
И добавьте туда запись вида
Например, у меня IP_АДРЕС это 192.168.0.101, а именем компьютера является HACKWARE-MIAL, тогда я добавляю следующую запись:
Пингуем по имени компьютера Windows, чтобы убедиться, что всё сработало:
Теперь нам нужно создать точку монтирования — папку, где появятся файлы из шары. Я создаю папку /mnt/share:
Чтобы не возникало проблем с правами доступа, папка, куда монтируется шара (например, /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 запишите следующее: