- Linux: подключить общую сетевую папку Windows по SMB (CIFS)
- Смонтировать сетевую папку в Linux с помощью cifs-util
- Автоматическое монтирование сетевой папки в Linux
- Linux: подключиться к сетевой папке с помощью клиента samba
- Ubuntu 18.04 — настройка сети c Windows
- Подключение Ubuntu 18.04 к локальной сети Windows
- Ubuntu 18.04 share folder в локальную сеть Windows
- Сопутствующие статьи
- Другие статьи про Ubuntu 18.04
Linux: подключить общую сетевую папку Windows по SMB (CIFS)
В этой статье мы рассмотрим, как в Linux смонтировать общую сетевую папку, расположенную на хосте Windows. В Windows для доступа к общим сетевым папкам используется протокол SMB (Server Message Block), который ранее назывался CIFS (Сommon Internet File System). В Linux для доступа к сетевым папкам Windows по протоколу SMB можно использовать клиент cifs-utils или Samba.
Совет. Для доступа к сетевым папкам по SMB/CIFS используется порт TCP/445. Для разрешения имени используются порты UDP 137, 138 и TCP 139. Если эти порты закрыты, вы сможете подключиться к сетевой папке Windows только по IP адресу.
Смонтировать сетевую папку в Linux с помощью cifs-util
Вы можете смонтировать сетевую папку, находящуюся на Windows хосте, с помощью утилит из пакета cifs-util. Для установки пакета выполните команду:
- В Ubuntu/Debian: $ sudo apt-get install cifs-utils
- В CentOS/Oracle/RHEL: $ sudo dnf install cifs-utils
Создайте точку монтирования:
Теперь вы можете смонтировать сетевую папку с компьютера Windows под пользователем User03с помощью команды:
$ sudo mount.cifs //192.168.31.33/backup /mnt/share -o user=User03
Укажите пароль пользователя Windows для подключения к сетевой папке.
При подключении сетевой SMB папки можно задать дополнительные параметры:
$ sudo mount -t cifs -o username=User03,password=PasswOrd1,uid=1000,iocharset=utf8 //192.168.31.33/backup /mnt/share
- //192.168.31.33/backup – сетевая папка Windows
- /mnt/share – точка монтирования
- -t cifs – указать файловую систему для монтирования
- -o опции монтирования (эту опцию можно использовать только с правами root, поэтому в команде используется sudo)
- username=User03,password=PasswOrd1 – имя и пароль пользователя Windows, у которого есть права доступа к сетевой папке. Можно указать имя пользователя guest, если разрешен анонимный доступ к сетевой папке
- iocharset=utf8 – включить поддержку кодировки UTF8 для отображения имен файлов
- uid=1000 – использовать этого пользователя Linux в качестве владельца файлов в папке
По умолчанию шары Windows монтируются в Linux с полными правами (0755). Если вы хотите изменить права по-умолчанию при монтировании, добавьте в команду опции:
dir_mode=0755,file_mode=0755
Если вы хотите использовать имя компьютера при подключении сетевого каталога Windows, добавьте в файл /etc/hosts строку:
Чтобы не указывать учетные данные пользователя Windows в команде монтирования сетевой папки, их можно сохранить в файле.
username=User03 password=PasswOrd1
Для подключения к папке под анонимным пользователем:
Если нужно указать учетную запись пользователя из определенного домена Active Directory, добавьте в файл третью строку:
$ chmod 600 ~/.windowscredentials
Теперь при подключении сетевой папки вместо явного указания имени пользователя и пароля можно указать путь к файлу:
$ sudo mount -t cifs -o credentials=/home/sysops/.windowscredentials,uid=1000,iocharset=utf8 //192.168.31.33/backup /mnt/share
Отмонтировать сетевую SMB папку:
Автоматическое монтирование сетевой папки в Linux
Можно настроить автоматическое монтирование сетевой папки Windows через /etc/fstab.
Добавьте в файл следующую строку подключения SMB каталога:
//192.168.31.33/backup /mnt/share cifs user,rw,credentials=/home/sysops/.windowscredentials,iocharset=utf8,nofail,_netdev 0 0
- rw – смонтировать SBM папку на чтение и запись
- nofail – продолжить загрузку ОС если не удается смонтировать файловую систему
- _netdev – указывает что подключается файловая система по сети. Linux не будет монтировать такие файловые системы пока на хосте не будет инициализирована сеть.
Вы можете указать версию протокола SMB, которую нужно использовать для подключения (версия SMB 1.0 считается небезопасной и отключена по-умолчанию в современных версиях Windows). Добавьте в конец строки с настройками подключения параметр vers=3.0 .
//192.168.31.33/backup /mnt/share cifs user,rw,credentials=/home/sysops/.windowscredentials,iocharset=utf8,nofail,_netdev,vers=3.0 0 0
Если на стороне хоста Windows используется несовместимая (старая версия) SMB, при подключении появится ошибка:
mount error(112): Host is downилиmount error(95): Operation not supported
Чтобы сразу смонтировать сетевую папку, выполните:
Linux: подключиться к сетевой папке с помощью клиента samba
Установите в Linux клиент samba:
- В Ubuntu/Debian: $ sudo apt-get install smbclient
- В CentOS/Oracle/RHEL: # dnf install smbclient
Для вывода всех SMB ресурсов в локальной сети:
Вывести список доступных SMB папок на удаленном хосте Windows:
Если в Windows запрещен анонимный доступ, появится ошибка:
session setup failed: NT_STATUS_ACCESS_DENIED
В этом случае нужно указать учетную запись пользователя Windows, которую нужно использовать для подключения:
smbclient -L //192.168.31.33 -U User03
Если нужно использовать учетную запись пользователя домена, добавьте опцию –W:
smbclient -L //192.168.31.33 -U User03 –W Domain
Для интерактивного подключения к сетевой папке Windows используется команда:
smbclient //192.168.31.33/backup -U User03 -W Domain
smbclient //192.168.31.33/backup -U User03
smbclient //192.168.31.33/backup -U Everyone
После успешного входа появится приглашение:
Вывести список файлов в сетевой папке:
Скачать файл из сетевой папки Windows:
get remotefile.txt /home/sysops/localfile.txt
Сохранить локальный файл из Linux в SMB каталог:
put /home/sysops/localfile.txt remotefile.txt
Можно последовательно выполнить несколько команд smbclient:
$ smbclient //192.168.31.33/backup -U User03 -c «cd MyFolder; get arcive.zip /mnt/backup/archive.zip»
Полный список команд в smbclient можно вывести с помощью команды help. Команды smbclient схожи с командами ftp клиента.
При использовании команды smbclient может появиться ошибка:
Unable to initialize messaging contextsmbclient: Can't load /etc/samba/smb.conf - run testparm to debug it.
Чтобы исправить ошибку, создайте файл /etc/samba/smb.conf.
Если на хосте Windows отключен протокол SMB 1.0, то при подключении с помощью smbclient появится ошибка:
Reconnecting with SMB1 for workgroup listing. protocol negotiation failed: NT_STATUS_CONNECTION_RESET Unable to connect with SMB1 -- no workgroup available.
Ubuntu 18.04 — настройка сети c Windows
Если вам оказалась полезна или просто понравилась эта статья, тогда не стесняйтесь — поддержите материально автора. Это легко сделать закинув денежек на Яндекс Кошелек № 410011416229354. Или на телефон +7 918-16-26-331.
Даже небольшая сумма может помочь написанию новых статей 🙂
Или поделитесь ссылкой на эту статью со своими друзьями.
Опубликовано: 02.06.2018 Последнее обновление этой статьи: 02.06.2018
Инструкция по настройке локальной сети между Ubuntu 18.04 и Windows.
Ранее я уже написал несколько статей на тему настройки гетерогенной локальной сети (гетерогенная это сеть между разными ОС).
В этой статье будет в основном повторение того, что уже было написано ранее, но без такой детализации как в этих статьях и с привязкой к версии Ubuntu 18.04.
Подключение Ubuntu 18.04 к локальной сети Windows
Уже несколько лет, с тех пор как в Ubuntu используется файловый менеджер Наутилус 3 версии (сейчас он называется «Файлы»), существует косяк в браузере локальной сети Наутилуса. Если открыть Наутилус и в нем открыть вкладку «Другие места» и затем «Сеть Windows», то будет пустая страница:
То есть Наутилус не выполняет автоматическое подключение в рабочей группе Windows. Удивительно, но этот косяк переходит из версии в версию и до сих пор не исправлен.
Тем не менее, Наутилус может подключаться к компьютерам Windows в локальной сети. Для этого нужно вручную, в адресной строке Наутилуса, вписать имя рабочей группы Windows или имя компьютера Windows. Для ввода текста, в адресной строке Наутилуса, нужно нажать клавиши Ctrl + L.
Адрес с именем рабочей группы (smb://workgroup):
После ввода адреса и нажатия Enter, Наутилус подключится к локальной сети Windows и выдаст запрос на авторизацию:
Запрос на авторизацию будет в любом случае, даже если на компьютере Windows настроен вход без пароля. В этом случае нужно вписать произвольные имя пользователя и пароль (например 1 и 1). Но если на компьютере Windows настроен вход по паролю, тогда конечно нужно вводить имя и пароль, которые существуют на компьютере Windows.
Примечание. Если на компьютере Windows настроен вход без пароля, а в окне авторизации Наутилус вы напишите такое имя пользователя которое существует на компьютере Windows, тогда и пароль нужно будет указывать тот, который есть для этого пользователя. Есть такая особенность в авторизации Windows через локальную сеть — несмотря на настройку входа без пароля, Windows не дает сетевой вход с таким именем пользователя, которое существует на этом компьютере, если указан неверный пароль.
И после авторизации, Наутилус покажет список компьютеров в этой рабочей группе.
Вместо адреса рабочей группы, можно сразу написать адрес компьютера в этой группе (например smb://home):
После подключения к компьютеру Windows, этот адрес можно добавить в закладки Избранное:
И впоследствии подключаться через закладку в Избранном.
Подключиться к компьютеру Windows можно не только по его имени, но и по его IP-адресу (smb://192.168.1.3).
Конечно это неудобно, потому, что нужно узнавать имя рабочей группы или имя (или IP-адрес) компьютера в локальной сети.
Ubuntu 18.04 share folder в локальную сеть Windows
Раздача собственных ресурсов Ubuntu 18.04 (файлов и принтеров) в локальную сеть Windows выполняется так же как в предыдущих версиях.
Нужно открыть свойства папки в Наутилус (Файлы), и там открыть вкладку «Общедоступная папка локальной сети»:
И на этой вкладке включить опцию «Опубликовать эту папку».
Из коробки, в Ubuntu 18.04, Samba не установлена. И при расшаривании самой первой папки будет запрос на установку Samba:
После установки Samba можно расшаривать папки:
Поле «Наименование» — здесь можно вписать имя, под которым папка будет видна в локальной сети. По умолчанию используется имя самой папки. Но если имя папки на кириллице, то для сети лучше вписать имя латиницей.
И две опции, которые дают удаленным пользователям полный доступ к файлам в этой папке.
После установки опций, нужно нажать кнопку «Применить».
Если вы хотите дать полный доступ к файлам в этой папке, тогда нужно еще изменить права доступа к этой папке. Это вкладка «Права»:
Для группы «Остальные» нужно дать права «Создание и удаление». А также нажать кнопку «Изменить права на вложенные файлы» и там тоже дать права полного доступа:
После этого, с других компьютеров (как Windows так и Linux), можно будет через сеть войти в эту папку и получить полный доступ к файлам.
Все расшаренные через Наутилус папки перечислены в папке /var/lib/samba/usershares.
Однако останется еще одна проблема. Если в этой папке будет создан файл с другого компьютера (через сеть), тогда этот файл получит владельца nobody и группу nogroup:
А это значит, что локальный пользователь Ubuntu не сможет редактировать или удалить этот файл!
Для предотвращения такой проблемы нужно вручную редактировать файл глобальных настроек Samba /etc/samba/smb.conf, например в терминале можно написать команду «sudo gedit /etc/samba/smb.conf«.
В этом файле, в конце, нужно создать секцию для расшаренной папки:
[pictures]
path = /home/user/Изображения
guest ok = yes
read only = no
И нужно выбрать вариант настроек для создания файлов и папок через сеть.
В этом случае файл (папка) получат владельца nobody и группу nogroup, но для группы «Остальные» будут даны полные права доступа. То есть любой локальный пользователь Ubuntu будет иметь доступ к этому файлу.
В этом случае файл (папка) получат владельца и группу указанного локального пользователя. То есть иметь доступ к этому файлу будет только тот локальный пользователь Ubuntu в домашней папке которого расположена сетевая (расшаренная) папка.
Выбор варианта зависит от конфигурации Ubuntu. Если есть лишь один локальный пользователь, тогда можно использовать второй вариант.
Если же несколько локальных пользователей и эта сетевая папка должна быть доступна для всех, тогда первый вариант.
Сопутствующие статьи
- Samba — как расшарить папку — в этой статье более подробно рассмотрен вопрос настройки Samba.
- Настройка LAN между Ubuntu Linux и Windows — в этой статье, описана настройка сети Ubuntu и Windows с «обоих сторон».
- Установка расширений GNOME Shell
- Описание Gnome Shell
Другие статьи про Ubuntu 18.04
Если вы живете в г. Краснодар и вам необходимо настроить локальную сеть в Linux
Иван Сухов, 2018, 2019 г.
Если вам оказалась полезна или просто понравилась эта статья, тогда не стесняйтесь — поддержите материально автора. Это легко сделать закинув денежек на Яндекс Кошелек № 410011416229354. Или на телефон +7 918-16-26-331.
Даже небольшая сумма может помочь написанию новых статей 🙂
Или поделитесь ссылкой на эту статью со своими друзьями.
Copyright digital.workshop 1999 — 2021. Это произведение доступно по лицензии Creative Commons Attribution-NoDerivs 3.0. | Developed by digital.workshop |