Перейти к содержимому

Как соединить linux с windows по сети

  • автор:

6.3. Подключение к Windows-сети

Вам удалось достучаться (ping) до всех компьютеров своей локальной сети, работающих под управлением ОС Windows, но хотелось бы большего? Например, обмениваться с ними файлами? Если в вашей сети есть папки, к которым открыт общий сетевой доступ, то это возможно. Поможет вам пакет Samba.

Название Samba происходит от названия протокола SMB (Server Message Block), он же NetBIOS, на котором основана работа Windows-сети. Пакет Samba содержит набор приложений, позволяющих Linux-машине включиться в работу такой сети — как в роли клиента, так и в роли сервера.

В роли обычного пользователя вам достаточно уметь подключаться к Windows-сети как клиенту. Для этого вам понадобятся пакеты samba-common и samba-client, входящие в большинство современных дистрибутивов. Если их у вас нет, то загляните на http://www.samba.org.

Пусть сетевой доступ к папке открыт на компьютере, имя которого в сети Windows USER5. Посмотрим сначала на список всех доступных ресурсов на этом компьютере:

$ smbclient -L user5 -U

Имя пользователя — это не ваше регистрационное имя на Linux-машине, а имя того пользователя машины Windows, кто имеет доступ к ее ресурсам. После ввода пароля вы увидите что-то вроде:

Domain=[USER5] OS=[Windows 5.1]

Server=[Windows 2000 LAN Manager]

Sharename Type Comment

ADMIN$ Disk Remote Admin

Public — это та папка, которая вас интересует. Для приема-передачи файлов предназначена программа smbclient. Чтобы ускорить (или автоматизировать) ввод пароля, введите ее в таком виде:

Вы увидите приглашение программы:

и сможете вводить ее команды. Первым делом введите команду help для получения списка всех доступных команд. В таблице 6.3 перечислено несколько самых полезных из них.

Команды программы smbclient Таблица 6.3

Команда Описание ls Выводит список файлов в папке cd [папка] Выполняет переход в заданный каталог на сервере (учтите, что именно на сервере, а не на клиентском компьютере). В том случаи, если каталог не указан, то smbclient просто выдаст имя текущего каталога get [файл] [локальное имя] Получает указанный файл из общего ресурса и сохраняет его на локальном компьютере. Если указано локальное имя, то полученный с сервера файл будет сохранен на клиентском компьютере под этим именем put [файл] [удаленное имя] Копирует файл на сервер и сохраняет его там под указанным именем. Если это имя не указано, то файл при сохранении переименовываться не будет mget [файлы] Получает все указанные файлы с сервера mput [файлы] Копирует все указанные файлы на сервер del [файлы] Удаляет на сервере указанные файлы, если, конечно, пользователь обладает на это правами ! Позволяет временно выйти из smbclient, чтобы выполнить команду на локальном компьютере. Например, ! ls — это просмотр текущего каталога на локальной машине exit или quit Завершение сеанса работы программы smbclient

Использовать программу smbclient не очень удобно. Если вы собираетесь обмениваться файлами часто, то лучше использовать программу smbmount, которая умеет монтировать удаленный общий ресурс как обычную файловую систему. Ниже приведен пример команды, которая монтирует папку customers компьютера USER5, используя имя пользователя den. Точка монтирования — каталог /mnt/customers:

$ smbmount //user5/customers -U den /mnt/customers -U 500 -G 100

В этом примере владельцем смонтированного каталога объявляется пользователь с идентификатором (UID) 500 и идентификатором группы 100.

Закончив работу с обшей папкой, размонтируйте ее командой

Если вместо русских имен файлов вы видите непонятные символы, значит, кодировки кириллицы на вашем компьютере и на Windows-машине различны и вам нужно указать дополнительные опции монтирования: codepage= — для кодовой страницы, применяемой на удаленной машине (обычно для кириллицы это cp866), и iocharset= — для кодовой страницы на стороне Linux. Значение iocharset зависит от установленной локали, и узнать его можно по команде locale:

В моем примере на стороне Linux используется Юникод (а могло бы быть, например, KOI8-R), и команда монтирования будет выглядеть так:

$ smbmount //user5/customers /mnt/customers

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

Обратный слэш — это конструкция, позволяющая записать одну длинную команду на нескольких строках. Я использовал ее для наглядности, а вы пишите в одну строку.

Обратите внимание, что при монтировании внешних файловых систем значение кодовой страницы пишется как «cp866», а для локальных файловых систем (раздела FAT32 на вашем жестком диске, где установлена Windows) — просто «866».

Запускать программу smbmount имеет право только суперпользователь. Чтобы обычный пользователь мог ее запустить, следует установить для нее атрибут SUID, однако такое решение является небезопасным. Выходом из этого положения может послужить запуск программы smbmount при загрузке системы. Добавьте в сценарии автозагрузки (советую — в /etc/rc.local, см. п.9.1.2) вызов программы smbmount для монтирования файловых систем совместного использования, с которыми вы работаете чаще всего. После этого обычные пользователи смогут работать с удаленными ресурсами как с обычной локальной файловой системой.

Данный текст является ознакомительным фрагментом.

Продолжение на ЛитРес

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

Подключение к Сети

Подключение к Сети Подключиться к Интернету несложно. Однако при этом нужно учесть некоторые моменты. Прежде всего, необходимо иметь следующие вещи.• Компьютер – подразумевается, что если вы читаете эту книгу и у вас есть интерес к Интернету, то и компьютер у вас

3.7. Подключение к сети Интернет

3.7. Подключение к сети Интернет К первоначальным настройкам системы я отношу и подключение к Интернету. Если лет 10 назад это было диковинкой и дорогим удовольствием, то сейчас Интернет стал неотъемлемой частью любого компьютера. Трудно себе представить жизнь без общения

13.5. Подключение к Windows-сети

13.5. Подключение к Windows-сети Я наверняка не ошибусь, если буду утверждать, что большинство компьютеров в вашей локальной сети работают под управлением ОС Windows. В таком случае к тем ресурсам этих компьютеров, которые «отданы» в общее пользование, проще всего подключаться,

Подключение по локальной сети

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

Подключение к беспроводной сети

Подключение к беспроводной сети Если вы при выборе компьютера предпочли ноутбук обычной «персоналке», то самым предпочтительным для вас видом доступа станет подключение по беспроводной сети Wi-Fi. Да и в домашних условиях беспроводная сеть чаще всего куда проще и удобнее,

6.2. Подключение к локальной сети

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

6.2 Прямое подключение к сети

6.2 Прямое подключение к сети Итак, откройте редактор соединений на вкладке «Wired»: Рис. 6.6: Вкладка проводных соединений. Рис. 6.6: Вкладка проводных соединений.В списке по умолчанию содержаться автоматически созданные подключения, по одному для каждого сетевого адаптера.

Глава 13 Подключение к сети

Глава 13 Подключение к сети 13.1. Работа в домашней группе13.2. Работа в сети предприятия13.3. Работа в беспроводной сетиВ этой главе мы рассмотрим очень важный вопрос – подключение компьютера с установленной операционной системой Windows 7 к сети. Зачем подключать компьютер к

Подключение к сети. Статусы

Подключение к сети. Статусы Svin2406: По работе, надо было провести лекцию у шестиклассников о вредных привычках. Зашел разговор о недосыпании. Читаю: «недосыпание ведет к хронической усталости, депрессиям…» Тут меня перебивает девочка с первой парты и спрашивает: «А что

Подключение к Сети

Подключение к Сети Подключиться к Интернету вообще-то несложно. Но тут нужно учесть некоторые моменты. Прежде всего необходимо иметь следующие вещи.• Компьютер – подразумевается, что если вы читаете эту книгу и у вас есть интерес к Интернету, то и компьютер у вас

14.1. Подключение к проводной сети

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

14.2. Подключение к беспроводной сети

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

Глава 24 Подключение к локальной сети

Глава 24 Подключение к локальной сети • Проводная локальная сеть• Настройка сетевого соединения1 сентября 1969 года считается датой рождения Интернета. Впервые с помощью специального кабеля были объединены два компьютера, которые могли обмениваться данными друг с

Подключение по беспроводной локальной сети

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

3.11.1. Подключение с помощью сети Ethernet

3.11.1. Подключение с помощью сети Ethernet Для подключения по проводной сети Ethernet необходимо настроить параметры сетевого интерфейса. Для этого в окне Сеть (Network) следует:1. Активизировать опцию Встроенный Ethernet (Ethernet).2. В списке Конфигурация (Configure) выбрать способ подключения.

3.11.2. Подключение с помощью сети AirPort

3.11.2. Подключение с помощью сети AirPort AirPort — это беспроводная сеть, которую образуют базовая станция AirPort и компьютеры Макинтош со встроенной сетевой картой AirPort. Допускается удаление локальных компьютеров от базовой станции до 50 метров. Станция AirPort приобретается

Как соединить linux с windows по сети

21 окт 2018, 15:13

Добрый день.
Сразу хочу предупредить в Linux я как «чайник», так что сильно не бейте. Есть небольшая сетка из двух компов и ноута. Ноут с Linux mint 19, один комп с Windows 7, второй с Windows 10 оба с расшаренными папками. Решил настроить локальную сеть на ноуте для обмена файлами. Скачал Sambu, установил, перезагрузил ноут и попробовал зайти на комп с Windows 10, через smb://192.168.1.3, все ОК. А вот зайти на комп с Windows 7, через smb://192.168.1.5, не получилось. В ответ получил ошибку «Failed to retrieve share list from server: invalid argument».

Подключение к Windows 7:

Подключение к Windows 10:
Железо ноута:

System: Host: ACER-5235 Kernel: 4.15.0-36-generic x86_64
bits: 64 gcc: 7.3.0
Desktop: Cinnamon 3.8.9 (Gtk 3.22.30-1ubuntu1)
Distro: Linux Mint 19 Tara
Machine: Device: laptop System: Acer product: Extensa 5235 serial: N/A
Mobo: Acer model: BA50-MV serial: N/A
BIOS: Phoenix v: V1.3311 date: 12/21/2009
CPU: Single core Intel Celeron 900 (-UP-)
arch: Penryn rev.10 cache: 1024 KB
flags: (lm nx sse sse2 sse3 ssse3) bmips: 4389 speed: 2194 MHz (max)
Graphics: Card: Intel Mobile 4 Series Integrated Graphics Controller
bus-ID: 00:02.0
Display Server: x11 (X.Org 1.19.6 )
drivers: modesetting (unloaded: fbdev,vesa)
Resolution: 1280×1024@60.02hz
OpenGL: renderer: Mesa DRI Mobile Intel GM45 Express
version: 2.1 Mesa 18.0.5 Direct Render: Yes
Audio: Card Intel 82801I (ICH9 Family) HD Audio Controller
driver: snd_hda_intel bus-ID: 00:1b.0
Sound: Advanced Linux Sound Architecture v: k4.15.0-36-generic
Network: Card-1: Qualcomm Atheros AR928X Wireless Network Adapter (PCI-Express)
driver: ath9k bus-ID: 07:00.0
IF: wlp7s0 state: up mac:
Card-2: Qualcomm Atheros AR8131 Gigabit Ethernet
driver: atl1c v: 1.0.1.1-NAPI port: 4000 bus-ID: 09:00.0
IF: enp9s0 state: down mac:
Drives: HDD Total Size: 201.1GB (65.0% used)
ID-1: /dev/sda model: TOSHIBA_MK1237GS size: 120.0GB
ID-2: USB /dev/sdb model: TS80GSJ25S size: 80.0GB
ID-3: USB /dev/sdc model: Multi size: 1.0GB
Partition: ID-1: / size: 17G used: 8.2G (53%) fs: ext4 dev: /dev/sda5
ID-2: /home size: 11G used: 5.6G (58%) fs: ext4 dev: /dev/sda7
ID-3: swap-1 size: 3.10GB used: 0.06GB (2%)
fs: swap dev: /dev/sda6
RAID: No RAID devices: /proc/mdstat, md_mod kernel module present
Sensors: System Temperatures: cpu: 64.0C mobo: N/A
Fan Speeds (in rpm): cpu: N/A
Info: Processes: 213 Uptime: 4:56 Memory: 1955.5/2869.4MB
Init: systemd runlevel: 5 Gcc sys: 7.3.0
Client: Shell (bash 4.4.191) inxi: 2.3.56

С этого же ноута, из под Windows 7, расшаренные папки видно Что делаю не правильно. Спасибо за помощь.

Блог начинающего линуксоида.

Для создания общих сетевых ресурсов в среде Windows, применяется протокол CIFS (ранее известный как SMB), поддержка которого в UNIX-подобных системах обеспечивается программным обеспечением Samba. Samba работает по протоколам TCP и UDP, соединение шифруется. С помощью Samba возможно обеспечить не только общий доступ к файлам и принтерам, но и, например, построить контроллер домена с поддержкой Active Directory (об этом в следующий раз). С помощью Samba можно открыть общий доступ не только между Windows и Linux, но и между Linux и Linux. Однако есть некоторые ограничения. Во первых, SMB — это «виндовый» протокол, со всеми вытекающими. Он не слишком хорошо интегрируется с UNIX-системами. Не вдаваясь в сложные технические описания, скажу лишь что скорость передачи данных по Samba медленнее, зачастую значительно, она нестабильна, как и загрузка сетевого канала, а также даёт весьма ощутимую нагрузку на процессор. Поэтому если в вашей домашней сети нет Windows-машин, то предпочтительнее использовать протокол сетевой файловой системы — NFS.

Суть работы NFS весьма проста. Удалённый ресурс встраивается в общее дерево файловой системы, и в результате каталог, который находится на файловом сервере или другом компьютере, отображается в вашей системе как локальный, будто находится на диске. NFS работает по протоколу TCP. NFS весьма полезна при создании так называемых тонких клиентов (бездисковые рабочие станции, в которых система загружается по сети). Скорость передачи данных по NFS в 2 раза выше, чем через Samba, загрузка сети равномерная, а нагрузка на центральный процессор минимальная. Однако у NFS есть два недостатка. Первый — довольно фиговая поддержка в Windows (реализуется через подсистему UNIX и отдельное приложение). Второй — отсутствие шифрования (c версии NFSv4, для шифрования может использоваться протокол Kerberos). Тем не менее, для Линуксовой сети, NFS — идеальный вариант.

Внимание: на обеих системах должны быть настроены статические IP адреса.В Windows кликнете правой кнопкой на значке сетевых подключений и выберите «Центр управления сетями и общим доступом», далее «Изменение параметров адаптера», выберите нужный адаптер (вашу сетевую карту) и зайдите в её свойства. Перейдите в пункт «Протокол Интернета версии 4» и выберите «Использовать следующий IP адрес»:

Если ваши компьютеры соединены напрямую, поле «Основной шлюз» можете оставить пустым. Если через роутер — укажите IP адрес роутера (тот, через который осуществляется доступ к его вэб-интерфейсу, обычно 192.168.0.1). В Linux аналогичную операцию можно провести в Network Manager (настройка сетевых подключений, вкладка IPv4):

Если вы используете фаерволл (брандмауэр Windows либо другое аналогичное ПО, а также iptables в Linux или фаерволл в вашем роутере), убедитесь что открыты нужные порты (Для SAMBA: 135, 139, 445/TCP; 137, 138/UDP. Для NFS: 2049/TCP).

Linux => Windows

Представим ситуацию: у вас есть второй компьютер (или файловый сервер), под управлением Ubuntu 14.04, на котором находится большая коллекция ваших видео, фото и так далее, расположенная на отдельном диске, который монтируется в /media/MyDATA. Этот диск нужно расшарить на компьютер под управлением Windows 8.1. Первым делом, установим необходимые пакеты:

sudo apt install samba samba-common smbclient

Теперь необходимо сконфигурировать Самбу. У вас есть два пути: консольный и графический.

Консольный.

Открываем файл /etc/samba/smb.conf:

sudo nano /etc/samba/smb.conf

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

[global]
workgroup = WORKGROUP
netbios name = Ubuntu-PC
server string = Ubuntu PC
map to guest = bad user
guest account = nobody
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192

#Следовать по симлинкам
unix extensions = no
wide links = yes
follow symlinks = yes

log level = 1

# UTF кодировка
unix charset = UTF-8
dos charset = cp1251
store dos attributes = yes

max log size = 10

[MyDATA]
path = /media/MyDATA
writeable = yes
available = yes
public = yes
guest ok = yes
force user = nobody
force group = nobody

В секции global описываются общие параметры: WORKGROUP — имя рабочей группы (должно быть одинаково для всех машин в локальной сети), Ubuntu-PC — имя компьютера, с которого расшариваются каталоги (укажите своё), вход без пароля, гостевой доступ и оптимизации для соединения. В секции MyDATA описывается доступ к диску, смонтированному в /media/MyDATA. При желании вы можете указать доступ к отдельным каталогам на этом диске, аналогичным способом. Сохраните файл и выполните команду:

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

Теперь запустите сервер Samba:

sudo service start smbd

Графический.

Для настройки параметров Samba в графическом интерфейсе, существует 2 замечательные утилиты — system-config-samba (есть только в Ubuntu и производных) и gadmin-samba (есть везде). Эти утилиты представляют собой весь конфиг Самбы, выполненный в графическом режиме. Для Ubuntu установим первую утилиту:

sudo apt install syste-config-samba

Здесь всё предельно понятно и в настройках разберётся любой 🙂

Для других дистрибутивов (например Debian), установите пакет gadmin-samba:

sudo apt install gadmin-samba

После настройки, перезапустите демон Samba. Для Ubuntu:

sudo service restart smbd

sudo systemctl restart smbd.service

Также можно открыть доступ к нужному каталогу из файлового менеджера, открыв свойства каталога:

В Windows необходимо включить сетевое обнаружение. Для этого в центре управления сетями, зайдите в «Изменить дополнительные параметры общего доступа»

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

Linux => Linux

А теперь представим, что у нас есть компьютер с Debian 8 (IP адрес 192.168.0.2), и ноутбук с Ubuntu 14.04 (IP адрес 192.168.0.3). С ноутбука нужно расшарить раздел диска, который смонтирован в /media/DATA (это раздел для торрентов и прочей файлопомойки). Для этого мы используем NFS:

sudo apt install nfs-kernel-server nfs-common rpcbind

Укажем что нужно расшаривать:

sudo nano /etc/exports

/media/DATA — то, что нужно расшарить.
192.168.0.0/255.255.255.0 — только компьютерам в этой подсети будет обеспечен доступ к общему ресурсу (можете указать конкретный IP адрес).
rw — поддержка чтения и записи.
no_root_squash — Позволяет пользователю root (на стороне клиента) иметь доверенный полный доступ к разделу.
no_subtree_check — Если монтируется только часть тома, то сервер будет выполнять проверку принадлежности файла запрошенного клиентом, именно к той части тома, которая примонтирована. Это замедляет передачу данных, по этому зачастую данная опция включена в список параметров.
crossmnt — Этот параметр похож на nohide он дает возможности видеть каталоги смонтированные на основной системе. Таким образом, когда дочерняя файловая система «B» установлена на основной «А», установив crossmnt на «А» имеет тот же эффект, что и установка «nohide» на B.
fsid=0 — NFS-сервер должен быть в состоянии идентифицировать каждую файловую систему, которую экспортирует. Для сервера NFSv4, существует выделенная файловая система, которая является корнем всей экспортируемой файловой системе. fsid = root или fsid = 0 означают одно и то же.

sudo exportfs -a

Далее нужно указать, каким хостам в сети разрешено иметь доступ к серверу:

sudo nano /etc/hosts.allow

Указываем доступ для всех машин, находящихся в подсети 192.168.0.0/255.255.255.0:

nfsd: 192.168.0.0/255.255.255.0
rpcbind: 192.168.0.0/255.255.255.0
mountd: 192.168.0.0/255.255.255.0

Если вы указали в файле exports только IP адрес нужной машины, то соответственно, указывайте его.

Теперь запустите сервис:

sudo service nfs-kernel-server start

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

sudo apt install nfs-common rpcbind

Создайте директорию для монтирования общего ресурса:

sudo mkdir /media/Share

Монтирование вручную.

sudo mount -t nfs4 192.168.0.3:/ /media/Share

В результате всё содержимое диска /media/DATA (на ноутбуке) окажется доступным на компьютере в каталоге /media/Share, как если бы эти данные хранились на нём. Для того чтобы ресурс монтировался автоматически после загрузки системы, есть два способа.

Монтирование через fstab.

Файл /etc/fstab содержит в себе информацию о присутствующих файловых системах, точках монтирования и параметрах монтирования. Чтобы ресурс /media/DATA монтировался на ваш компьютер автоматически, добавьте в конец файла /etc/fstab следуюущую строку:

192.168.0.3:/ /media/Share nfs user,rw,noauto 0 0

Опция noauto запрещает автоматическое монтирование во время загрузки, так как сеть может быть недоступна в этот момент. Вместо этого, в файловом менеджере, в левой колонке появится пункт Share, кликнув на который, сетевой ресурс автоматически смонтируется. Однако при таком способе монтирования, есть пара существенных недостатков. Во первых, если в момент выключения компьютера, был открыт какой-либо файл, расположенный на сетевом ресурсе, компьютер откажется выключаться. Во-вторых, такая же ситуация произойдёт в случае пропажи связи между клиентом (компьютером) и сервером (ноутбуком). Для того, чтобы этих проблем не было, существует второй способ монтирования.

Монтирование с помощью AutoFS.

AutoFS — это пакет для обеспечения монтирования съёмных и сетевых накопителей, только при обращении к ним. При отсутствии обращения к сетевому ресурсу или съёмному устройству в течении определённого времени, он автоматически размонтируется, и мгновенно монтируется при первом же обращении к нему. Устанавливаем:

sudo apt install autofs

sudo nano /etc/auto.master

В конец файла добавляем строку:

/mnt /etc/auto.nfs —timeout=60

/mnt — каталог для монтирования сетевого ресурса.
/etc/auto.nfs — путь к файлу, в котором описаны параметры монтирования.
—timeout=60 — время в секундах, после которого произойдёт размонтирование ресурса (можете указать своё).

Сохраняем и переходим к следующему файлу:

sudo nano /etc/auto.nfs

Share -fstype=nfs,rw,noatime,noexec,nosuid,tcp,async,rsize=32768,wsize=32768,intr,nolock,soft,noauto 192.168.0.3:/

Создадим директорию Share в каталоге /mnt, куда будет монтироваться ресурс:

sudo mkdir /mnt/Share

Вот и всё. Теперь в каталоге /mnt/Share, при первом же обращении к нему, будет появляться содержимое удалённого ресурса /media/DATA. Кнопка подключения сетевого диска появится в файловом менеджере.

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

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