Ubuntu connect to windows share

В этой статье мы рассмотрим, как в Linux смонтировать общую сетевую папку, расположенную на хосте Windows. В Windows для доступа к общим сетевым папкам используется протокол SMB (Server Message Block), который ранее назывался CIFS (Сommon Internet File System). В Linux для доступа к сетевым папкам Windows по протоколу SMB можно использовать клиент cifs-utils или Samba.

    Содержание:

  • Смонтировать сетевую папку в Linux с помощью cifs-util
  • Автоматическое монтирование сетевой папки в Linux
  • Linux: подключиться к сетевой папке с помощью клиента 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

Создайте точку монтирования:

$ sudo mkdir /mnt/share

Теперь вы можете смонтировать сетевую папку с компьютера Windows под пользователем User03с помощью команды:

$ sudo mount.cifs //192.168.31.33/backup /mnt/share -o user=User03

Укажите пароль пользователя Windows для подключения к сетевой папке.

mount.cifs подключить сетевую папку smb в linux

При подключении сетевой 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 в качестве владельца файлов в папке

команда mount cifs в linux

По умолчанию шары Windows монтируются в Linux с полными правами (0755). Если вы хотите изменить права по-умолчанию при монтировании, добавьте в команду опции:

dir_mode=0755,file_mode=0755

Если вы хотите использовать имя компьютера при подключении сетевого каталога Windows, добавьте в файл /etc/hosts строку:

IP_АДРЕС    ИМЯ_КОМПЬЮТЕРА

Чтобы не указывать учетные данные пользователя Windows в команде монтирования сетевой папки, их можно сохранить в файле.

Например:

$ mcedit ~/.windowscredentials

Добавьте в файл:

username=User03
password=PasswOrd1

сохранить пароль для подключения к сетевой папке в windows

Для подключения к папке под анонимным пользователем:

username=guest
password=

Если нужно указать учетную запись пользователя из определенного домена Active Directory, добавьте в файл третью строку:

domain = vmblog.ru

Измените права на файл:

$ chmod 600 ~/.windowscredentials

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

$ sudo mount -t cifs -o credentials=/home/sysops/.windowscredentials,uid=1000,iocharset=utf8 //192.168.31.33/backup /mnt/share

Отмонтировать сетевую SMB папку:

$ sudo umount /mnt/share

Автоматическое монтирование сетевой папки в Linux

Можно настроить автоматическое монтирование сетевой папки Windows через /etc/fstab.

$ sudo mcedit /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

Чтобы сразу смонтировать сетевую папку, выполните:

$ mount -a

Linux: подключиться к сетевой папке с помощью клиента samba

Установите в Linux клиент samba:

  • В Ubuntu/Debian: $ sudo apt-get install smbclient
  • В CentOS/Oracle/RHEL: # dnf install smbclient

Для вывода всех SMB ресурсов в локальной сети:

$ smbtree -N

Вывести список доступных SMB папок на удаленном хосте Windows:

smbclient -L //192.168.31.33 -N

Если в 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

smbclient вывести список общих папок на компьютере windows

Для интерактивного подключения к сетевой папке 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

После успешного входа появится приглашение:

smb: \>

Вывести список файлов в сетевой папке:

dir

smbclient вывести список файлов в сетевой папке linux

Скачать файл из сетевой папки 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.

Learn how to access Windows SMB shares on Ubuntu 22.04 in this comprehensive guide. With step-by-step instructions and clear explanations, this guide is perfect for beginners and experts alike.

Are you struggling to access Windows SMB shares on your Ubuntu 22.04 machine? Do you feel lost in the sea of technical jargon and complicated instructions? Fear not, as this comprehensive guide will walk you through the process step-by-step and make it as easy as possible for you to access Windows SMB shares on Ubuntu 22.04.

Introduction

Ubuntu 22.04 is a popular open-source operating system that has gained a lot of popularity in recent years. Many users are switching to Ubuntu from other operating systems like Windows and macOS. One of the common issues that Ubuntu users face is accessing Windows SMB shares on Ubuntu. This is especially important for those who work in a mixed environment where some machines are running Windows and others are running Ubuntu. In this guide, we will explore how to access Windows SMB shares on Ubuntu 22.04.

To access Windows SMB shares on Ubuntu 22.04, follow the steps below:

1. You can either SSH to your Ubuntu 22.04 Server or if you have a GUI version you can open the Terminal on your Ubuntu machine by pressing the Ctrl+Alt+T keys.

2. Install the cifs-utils package by running the following command:

sudo apt-get install cifs-utils

3. Create a folder where you want to mount the Windows SMB share. For example, you can create a folder named win_share in your home directory by running the following command:

4. Mount the Windows SMB share by running the following command:

sudo mount -t cifs //windows-machine-name/share-name ~/win_share -o username=windows-username,password=windows-password,domain=windows-domain

Replace windows-machine-name, share-name, windows-username, windows-password, and windows-domain with the appropriate values. You may also use the IP address of the Windows machine instead of the machine name.

For example, if the Windows machine name is mywinpc, the share name is myshare, the Windows username is myuser, the password is mypassword, and the domain is mydomain, the command will look like this:

sudo mount -t cifs //mywinpc/myshare ~/win_share -o username=myuser,password=mypassword,domain=mydomain

5. Once you have successfully mounted the Windows SMB share, you can access it like any other folder on your Ubuntu machine. You can copy files to and from the Windows SMB share and perform other file operations.

Why Can’t I Access Windows SMB Shares on Ubuntu 22.04?

If you are unable to access Windows SMB shares on Ubuntu 22.04, there could be several reasons for it. Here are some common reasons:

  • Incorrect credentials: Make sure you are using the correct Windows username, password, and domain in the mount command.
  • Firewall settings: Check if the firewall on the Windows machine is blocking access to the SMB share.
  • Network connectivity: Ensure that both the Ubuntu and Windows machines are on the same network and can communicate with each other.
  • SMB version: Make sure that the Windows SMB share is using a version of SMB that is supported by your Ubuntu machine.

FAQs

Q1. What is SMB?

SMB stands for Server Message Block and is a protocol used for sharing files, printers, and other resources of a network. It is commonly used in Windows-based networks.

Q2. What is cifs-utils?

cifs-utils is a package in Ubuntu that provides utilities for mounting and managing SMB shares.

Q3. Can I mount multiple SMB shares on Ubuntu 22.04?

Yes, you can mount multiple SMB shares on Ubuntu 22.04. You just need to create different folders for each share and use a different mount command for each share.

Q4. Can I access Windows SMB shares without using the Terminal?

Yes, you can access Windows SMB shares without using the Terminal by using the Files application. Open the Files application and click on Other Locations. In the Connect to Server dialog, enter the address of the SMB share in the format smb://windows-machine-name/share-name and click Connect.

Q5. How do I unmount a Windows SMB share in Ubuntu 22.04?

To unmount a Windows SMB share in Ubuntu 22.04, use the following command:

sudo umount /path/to/mount/folder

Replace /path/to/mount/folder with the actual path to the folder where the Windows SMB share is mounted.

Q6. How do I make the Windows SMB share mount automatically on startup?

To make the Windows SMB share mount automatically on startup, you need to add an entry to the /etc/fstab file. Open the /etc/fstab file in a text editor and add the following line at the end of the file:

//windows-machine-name/share-name /path/to/mount/folder cifs username=windows-username,password=windows-password,domain=windows-domain 0 0

Replace windows-machine-name, share-name, windows-username, windows-password, windows-domain, and /path/to/mount/folder with the appropriate values. Save the file and reboot your Ubuntu machine.

Conclusion

Accessing Windows SMB shares on Ubuntu 22.04 may seem daunting at first, but with the right instructions and a little patience, it can be a breeze. In this guide, we have walked you through the steps required to access Windows SMB shares on Ubuntu 22.04, as well as provided some common troubleshooting tips. With this knowledge, you can now work seamlessly in a mixed environment with both Windows and Ubuntu machines.

Remember, the key to success is to take it one step at a time, and don’t be afraid to ask for help if you need it. Now, go ahead and access those Windows SMB shares on your Ubuntu 22.04 machine!

I hope this article was helpful, if you have any questions, please feel free to contact me. If you would like to be notified of when I create a new post you can subscribe to my blog alert.

On 18.04, I have just had success with the following:

On Ubuntu:
Install smbclient and add client max protocol = NT1 to /etc/samba/smb.conf as per L.D. James’ answer (see this post for more info).

On Windows: Create a folder in Windows to share, e.g. named shared.
Make sure the folder is shared: I created a new user on Windows, keeping the NewUser name and selected a simple password (I first tried changing the name, but found that change was apparently only skin deep. Perhaps if I had rebooted…). I logged in with NewUser, then logged back in with my admin account. I activated network sharing on my private network and for the folder specifically (see e.g. this post). Then I right clicked the folder and chose Give access to..., choosing NewUser (you may want additional permissions: see the just linked to post). Under the Sharing tab, the folder now has a network path: //COMPUTERNAME/shared.

Still on Windows:
To gain access to the shared folder, I used the IP of the Windows machine instead of the COMPUTERNAME, cf. this.

To find the IP of your Windows machine, right click the network logo, open Network and Sharing Settings and choose Change connection properties. Take note of the IPv4 near the bottom.

In Ubuntu:
Finally, open a terminal on you Ubuntu machine and execute

sudo mount -t cifs -o username=NewUser //[insert IPv4 here]/shared /home/your_ubuntu_username/shared

and provide the password for NewUser when prompted.

This mounts the shared Windows shared folder as a folder shared in your Ubuntu user’s home directory.

The command is based on suggestions from here, where there are also suggestions for storing login credentials.

I hope it works. Good luck!

У вас дома есть несколько устройств? Нужно ли использовать флэш-диск или SD-карту для переноса данных с Ubuntu на другой компьютер? Находите ли вы это раздражающим? Мы знаем, что это так. Поэтому мы не хотим, чтобы вы тратили свое драгоценное время, в то время как вы можете передавать свои файлы, документы и другие большие вещи быстро и легко, по локальной сети. Это одноразовая настройка, а затем с помощью нескольких щелчков мыши вы сможете обмениваться файлами между Ubuntu и Windows или любой другой системой Linux. И не волнуйтесь, это легко и займет всего немного времени.

Также стоит добавить, что это руководство должно быть полезно для любой версии ОС Linux.

Если вы используете Ubuntu, есть два способа поделиться своими локальными файлами по локальной сети, чтобы получить доступ к ним с Windows или других компьютеров с Linux.

  1. Для всех, кто имеет доступ к локальной сети, без пароля. Не совсем безопасный способ, но некоторым он действительно нужен, например, если необходимо очень быстро открыть доступ и времени на настройку ограниченного доступа нет.
  2. С паролем, защищающим папки для ограниченного доступа. Этот способ наиболее рекомендуем для всех, кто предпочитает конфиденциальность при передаче данных в локальной сети, поскольку доступ будет открыт только для ограниченного круга людей.

Мы рассмотрим оба метода в этой статье и дадим вам возможность решить, какой из них вы предпочитаете использовать.

Метод 1. Общий доступ к папкам в локальной сети без пароля

Вам придется выполнить некоторые настройки как в Windows, так и в Ubuntu.

Разрешение на совместное использование в Убунту

Чтобы предоставить общий доступ к папке в локальной сети в Ubuntu, щелкните правой кнопкой мыши нужную папку и выберите Локальный сетевой ресурс:

Share folder over LAN in ubuntu 14.04

Не видите опцию локального сетевого ресурса?

Когда вы нажимаете на Локальный сетевой ресурс, вы увидите опцию общего доступа к папке. Просто отметьте опцию Общий доступ к этой папке:

Share folders in Ubuntu and Windows

Поиск и устранение неисправностей: Если у вас появится сообщение о том, что служба Sharing service не устанавливается, как показано на скриншоте ниже, просто нажмите кнопку Установить службу и следуйте инструкциям.

Sharing service in Ubuntu

Когда вы отметите опцию Общий доступ к этой папке, вы увидите опцию Создать общий доступ, доступную для вас. Вы также можете разрешить другим пользователям редактировать файлы в общей папке. Также можно отметить опцию гостевого доступа.

sharing the folders in Ubuntu

Вы увидите, что значок папки был изменен, чтобы показать, что она была совместно использована. Чтобы остановить общий доступ к папке, просто снимите флажок Общий доступ к этой папке.

Теперь нужно получить доступ к общей папке на машине Windows.

Шаг 2: Включение совместного доступа в Windows

В Windows щелкните правой кнопкой мыши на «Этот Компьютер» или «Мой компьютер» и выберите «Добавить новое соединение».

Adding New Connection

Добавление нового соединения

Нажмите на кнопку «Далее».

Adding New Connection

Добавление нового соединения

Теперь пришло время ввести адрес сервера и имя папки, к которой мы предоставили общий доступ. Пожалуйста, введите в следующем формате.

Вы можете найти адрес вашего сервера, т.е. IP-адрес машины с Linux, введя команду ip a.

В моем случае IP-адрес машины с Linux равен 192.168.0.102, а папка, к которой я предоставил общий доступ, является общей.

Ip Address

Ip-адрес

Теперь добавьте местоположение следующим образом:

Entering Server Address

Ввод адреса сервера

Теперь вы увидите этот экран, просто щелкните дальше.

Adding New Connection

Добавление нового соединения

Теперь вы можете получить доступ к общей папке в разделе «Этот ПК» или «Мой компьютер» в разделе «Сетевое расположение».

New Shared Folder

Новая общая папка

Это был простой способ. Он обеспечивает доступ к этим файлам любому человеку в вашей локальной сети.

По-хорошему вы должны предусмотреть это. Устройства в домашней сети должны быть общеизвестными. Но так может быть не всегда. Что, если вы хотите, чтобы к ним имели доступ только определенные люди?

Вот здесь и появляется Samba-сервер. Рассмотрим его во второй части урока.

2. Общий доступ к папкам в локальной сети в Ubuntu с помощью парольной защиты

Для этого нам необходимо настроить сервер Samba. На самом деле, мы использовали Samba в предыдущей части этого руководства. Мы просто не делали на этом акцент. Прежде чем мы перейдем к рассмотрению вопроса о том, как настроить Samba-сервер для совместного использования локальной сети в Ubuntu, давайте сначала посмотрим, чем на самом деле является Samba.

Что такое Самба?

Samba — это пакет программного обеспечения, позволяющий обмениваться файлами, документами и принтерами по сети, независимо от того, используете ли вы Linux, Windows и Mac. Он доступен для всех основных платформ и может отлично работать на них всех. Цитирование из Википедии:

Samba — пакет программ, которые позволяют обращаться к сетевым дискам и принтерам на различных операционных системах по протоколуSMB/CIFS. Имеет клиентскую и серверную части. Является свободным программным обеспечением, выпущена под лицензией GPL.

Инсталляция сервера Samba на Ubuntu

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

sudo apt-get update && sudo apt-get upgrade

Теперь установите Samba server и несколько других необходимых вещей с помощью следующей команды:

sudo apt-get install samba samba-common system-config-samba python-glade2

После установки сервера Samba пришло время настроить Samba из окна графического интерфейса на общий доступ к файлам.

Настройка сервера Samba в Ubuntu

Откройте инструмент Samba Configuration из тире:

Setup Samba in Linux/Ubuntu

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

В Параметрах сервера у вас есть две вкладки, ‘Basic’ и ‘Security’. В закладке Basic у вас есть следующие опции:

  • Рабочая группа — это название рабочей группы компьютера, к которому вы хотите подключиться. Например, если вы хотите подключиться к компьютеру с Windows, то введете имя рабочей группы компьютера с Windows, а в Windows у вас уже есть то же имя рабочей группы, которое установлено по умолчанию в Настройках сервера Samba. Но если у вас другое имя рабочей группы в Windows, то вы введете его в это поле. (В Windows 7, чтобы получить имя рабочей группы, щелкните правой кнопкой мыши значок Этот компьютер и перейдите в Свойства, там вы увидите имя рабочей группы Windows).
  • Описание — Это название вашего компьютера, как его видят другие. Не используйте пробелы или неинтернет-доброжелательные символы.

setting up samba server

Разрешение ‘Гости’ не рекомендуется, поэтому нет причин изменять настройки безопасности. Оставьте все как есть.

Samba Security security settings

Готово! Вы установили Samba-сервер. Мы недалеко от того, чтобы поделиться нашей первой папкой в сети.

Создание системного пользователя для совместного использования файлов в сети

Теперь мы создадим системного пользователя для совместного использования файлов в сети. Это очень просто.

  • Перейдите в раздел «Системные настройки».
  • В разделе Системные настройки нажмите Учетные записи пользователей.
  • Нажмите кнопку разблокировки, чтобы включить значок +.
  • Нажмите значок + (плюс), чтобы создать нового пользователя системы.

create system user account in Ubuntu/Linux

Теперь, как вы видите на изображении выше, вы можете ввести «Полное имя». При вводе ‘Полное имя’ Имя пользователя будет автоматически воспринято как ‘Полное имя’. Потому что мы создаем этого пользователя для совместного использования файлов, поэтому мы назначим тип аккаунта ‘Стандартный’.

Выполнили шаги, описанные выше? Идем дальше. Нажмите «Добавить».

Вы создали пользователя системы. Пользователь еще не активирован, поэтому мы активируем его, установив пароль для этой учетной записи. Убедитесь, что панель учетных записей пользователей разблокирована. Нажмите Аккаунт отключен и введите новый пароль, затем подтвердите пароль и нажмите Изменить.

activate system user in Ubuntu/Linux

Отлично! Мы установили и настроили Samba, мы создали системного пользователя для обмена файлами в сети с этой учетной записи, и мы активировали нашу только что созданную учетную запись. Теперь мы перейдем на Samba для последнего шага настройки общего доступа, затем мы предоставим общий доступ к папке.

Добавление нового пользователя Samba

Откройте Samba и нажмите Samba Users в разделе Preferences (Предпочтения). Заполните простую форму. Вот пара подробностей о полях формы:

Unix Username — В данном случае я выбираю пользователя, которого только что создал.

Имя пользователя Windows — Вы вводите это имя пользователя при доступе из компьютера на Windows

Samba Password — Вы введете этот пароль, когда захотите иметь доступ из компьютера на Windows.

samba user setting

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

sudo restart smbd && sudo restart nmbd

Общий доступ к папкам или файлам по сети

Обмениваться файлами с Samba очень просто с помощью графического интерфейса пользователя. Нажмите на иконку «Плюс» в Samba и вы получите такой диалог:

share files and folders over network with samba

Заполните поля. В ‘Directory’ выберите папку, к которой вы хотите предоставить общий доступ. Здесь вы найдете подробную информацию о полях, которые увидите:

  • Share name — это имя папки, которую увидит другой пользователь.
  • Description простое описание содержимого, к которому вы предоставляете общий доступ в сети.
  • Writable. Общие папки по умолчанию ‘только для чтения’. Вы можете установить их в режим «writable», если хотите, чтобы другие пользователи в сети изменили их.
  • Visible. Как следует из названия, когда вы нажимаете Visible, общая папка будет видна людям в сети.

Теперь вы можете установить разрешения для папки, к которой вы предоставляете общий доступ. Для этого перейдите на вкладку «Доступ» и отметьте пользователей, которым вы хотите предоставить общий доступ к папке. Когда вы выберете Разрешить доступ всем, папка будет доступна всем в сети.

setting up permissions for sharing folder on network

Наконец, нажмите OK для завершения обмена. Теперь папка открыта всем желающим. Вы завершили предоставление общего доступа к папке в сети. И все? Да! А как удалить папки из сети?

Удаление общих папок

Нам также иногда нужно будет удалить некоторые папки через некоторое время из сети. Это очень просто, и вот как мы можем это сделать.

remove shared folder from network

Готово! Мы также можем обмениваться файлами по сети с помощью терминала, но это настраивается не так просто, как это было в графическом интерфейсе. Если вы зададите вопросы по доступу к файлам из командной строки, то я напишу учебное пособие о том, как обмениваться файлами по сети с помощью терминала в Linux.

Итак, как вам небольшое руководство о том, как делиться файлами по локальной сети в Linux? Я надеюсь, что с помощью него вы сможете легко обмениваться файлами между Ubuntu и Windows. Если у вас есть вопросы или предложения, не стесняйтесь задавать их в поле для комментариев ниже.

The ability to access shared folders with Ubuntu enables you to interact with files and folders stored on a remote machine. Ubuntu offers you different methods to retrieve files, transfer data or collaborate with another operating system such as Windows. In this article, I will explore different approaches on how to access shared folder in Ubuntu and have a seamless sharing experience.

Key Takeaways

  • Learning how to use a graphical interface for accessing folders.
  • Knowing how to use commands to access shared folders.
  • Understanding the difference between cifs-utils and smbclient.

Requirements

  • User must have sudo/root privilege.
  • User must have a text editor.

Process Flow Chart

[Distro Used Throughout the Tutorial: Ubuntu 22.04.02 LTS]General Process to access shared folder in Ubuntu

Watch 2 Methods to Access Shared Folder in Ubuntu

With the help of a graphical interface or command line tools, accessing shared files has become incredibly convenient. I have shown here two different approaches to accomplish this task. So, regardless of your expertise in Ubuntu, you can now easily manage files with Ubuntu.

You can read our Comparative Analysis of Methods to distinguish among these three methods and choose the best one according to your need.

Method 01: Using Graphical Interface (Nautilus) to Access Shared Folder in Ubuntu

Nautilus is regarded as the official file manager for GNOME desktop environment or default desktop environment. It provides a graphical user interface (GUI) to navigate and manage files and folders in Ubuntu. In this method, my primary goal is to show you how to enable sharing of a folder created in Ubuntu and access it from both Ubuntu and Windows.

Steps to Follow >

➊ Power on Ubuntu.

➋ Choose a folder you want to share with other operating systems such as Windows. I have chosen the folder called Share in my Desktop for this purpose.

➌ Afterwards, right-click on Share folder and a popup menu will appear and click on Local Network Share.Open Local Network hare option of a folder➍ A dialogue box will appear on the screen as in the image below. Select Share this folder, Allow others to create and delete files in this folder, and then press Create Share.Folder Sharing settings in Ubuntu➎ Now Nautilus will require you to press Add the permissions automatically to finally prepare the folder for sharing.Add permissions to share folder➏ You will see that the folder Share is ready to access. The green share icon at the bottom-right corner of the folder indicates that you can share this folder’s contents.

➐ Now you can create files in this folder. I have saved an image, Photos.jpeg and created a folder, Files to share within the Share directory.Files in shared folder➑ Now go to the Ubuntu terminal and run the following command.

hostname -I

EXPLANATION

  • hostname -I: Obtains IP address of the current Linux system.

IP address of UbuntuIt is visible that 192.168.153.128 is the IP address of my Ubuntu system.

➒ Now go to This PC in Windows and type IP of your Linux system and name of folder, Share in the address box.

\\192.168.153.128\Share

EXPLANATION

  • 168.153.128: IP address of Linux system.
  • Share: Name of folder which needs to be accessed.

Access shared folder in Windows

From the above image, it is clear that I can view the contents of the “Share” folder from Windows and have full control over these files.

Read More: Install, Configure and Connect Samba on Ubuntu Using GUI

Method 02: Using Ubuntu Command-line Tools to Access Shared Folder

If you want to have remote access over a network or customize command scripts according to your sharing requirements, command-line tools will be a perfect choice. The cifs-utils and smbclient packages are prominent command-line tools for this purpose. In this method, I will demonstrate to you how to handle folders that were originally created on Windows but are being accessed from Ubuntu.

Step 1: Enable Sharing Options in Windows

Before a folder can be accessed from a remote environment, it is necessary to enable sharing options in Windows.

Steps to Follow >

➊ Open Control Panel and go to Network and Internet > Network and Sharing Center.

➋ Click on Change advanced sharing settings at the left side of the page.Open control panel to enable share options➌ Then, turn on network discovery, file and print sharing, and click Save changes.Turn on network discovery & file and printer sharing

Read More: How to Share Files between Linux and Windows Dual Boot [3 Methods]

Step 2: Enable Sharing Options for a Folder in Windows

Subsequently, you have to activate the sharing settings of a folder in Windows. For this purpose, I used Windows_Share folder created on Windows. You can either create a fresh folder similar to mine or use a preexisting one.

Steps to Follow >

➊ I have created a folder called Windows_Share on Windows and saved a file named Document in it.Create file in shared folder➋ Afterwards, right-click on Windows_Share and go to Properties.Open Properties of shared folder➌ Navigate to Sharing > Advanced Sharing.Open Advanced Sharing of shared folder➍ Select Share this folder and then click on Permissions.Set Permissions for shared folder➎ Here, I clicked on Add since I prefer only the account, User, to be able to share the Windows_Share folder. Otherwise, you can select Everyone to give anyone access to your folder.Add User for shared folder➏ Then put in the name of your desired user account. I enlisted my account, User, and clicked OK.Type User name for shared folder➐ You will be redirected to Permissions for Windows_Share. Enable Full Control, Change, and Read permissions for your desired account. You can enable these options for anyone by selecting Everyone. Click OK to save these changes.Allow Permissions for User of shared folder As you can see, User is my Windows user account which has all three permissions of the shared folder, Windows_Share.

➑ Now go to Security and check the recent changes for your specified account for sharing the folder. Press Close to close Windows_Share Properties.Verify Permissions of shared folder

Read More: How to Share Files between Linux and Windows

Step 3: Access Windows Shared folders in Ubuntu

Two prominent command line tools for accessing shared folders are cifs-utils package and smbclient package. The cifs-utils package has more comprehensive features for managing shared folders. On the other hand, the smbclient tool is a lightweight utility for basic sharing operations with folders.

Case 1: Using cifs-utils to Access Windows Shared Folder in Ubuntu

CIFS or Common Internet File System contains tools and utilities that help to mount and manage SMB/CIFS share files, printers, or serial ports over a network. The cifs-utils package helps to mount SMB shares to local directories. Therefore, this package will build a bridge between Windows and Ubuntu for the shared folder, Windows_Share.

Steps to Follow >

➊ Open your Ubuntu terminal.

➋ Execute the following command to install the cifs-utils package.

sudo apt install cifs-utils

EXPLANATION

  • sudo: Permits a user with administrative privileges to execute commands.
  • apt install: Installs a specific package.
  • cifs-utils: Package that supports mounting CIFS/SMB file system. CIFS is the core file-sharing protocol used by Samba.

Install cifs-utils in Ubuntu➌ Now you need to create a directory that will serve as a mount point or be linked to the shared folder, Windows_Share on a Windows machine.

mkdir /home/ayesha/Desktop/cifs_share

EXPLANATION

  • mkdir: Creates a new directory or folder.
  • /home/ayesha/Desktop/cifs_share: Absolute path of cifs_share folder in Desktop.

My newly created cifs_share directory in Desktop will now be able to mount the shared folder, Windows_Share.

➍ Lastly to mount a shared folder run the following command:

sudo mount -t cifs //192.168.0.105/Windows_Share /home/ayesha/Desktop/cifs_share -o username=User

EXPLANATION

  • sudo: Permits a user with administrative privileges to execute commands.
  • mount: Attaches or mounts a file system to a specific directory.
  • -t cifs: ‘t’ specifies that CIFS (Common Internet File System) needs to be mounted.
  • 192.168.0.105: IP address of Windows system.
  • Windows_Share: Name of the shared folder in Windows which needs to be accessed.
  • /home/ayesha/Desktop/cifs_share: Absolute path of cifs_share folder in Desktop of my Linux system.
  • -o: Specifies the options to be used when mounting a file system, in this case, specifies username option.
  • username =User: Provides the name of the account in Windows which has access to the shared folder.

Mount shared folder in UbuntuAs you can see in the preceding image, I was prompted to enter my password for my Windows user. Moreover, my Windows IP is 192.168.0.105 and the user account that has the control of shared folder is User.

➎ Now navigate to Files >Desktop > cifs_share.

➏ Open cifs_share folder and you can view the word file, Document from Ubuntu.Access shared folder in Ubuntu The image above shows that the word file, Document which was created in Windows can now be accessed from Ubuntu.

Case 2:  Using smbclient to Access Windows Shared Folder in Ubuntu

For interacting with SMB shares, smbclient is a command-line tool that provides a client interface to access and manage resources on SMB (Server Message Block) servers. The smbclient tool offers various tools to browse, download and manage files on SMB shares.

Steps to Follow >

➊ Open your Ubuntu terminal.

➋ To install smbclient package, execute the command below.

sudo apt install smbclient

EXPLANATION

  • sudo: Permits a user with administrative privileges to execute commands.
  • apt install: Installs a specific package.
  • smbclient:Name of the package which needs to be installed.

Install smbclient in Ubuntu➌ Now to gain access to the Windows folder, Windows_Share in Ubuntu terminal, execute the following command.

smbclient //192.168.0.105/Windows_Share -U User

EXPLANATION

  • smbclient: Command that interacts with SMB shares.
  • 192.168.0.105: IP address of my Windows system.
  • Windows_Share: Name of the shared folder.
  • -U: Specifies username.
  • User: Name of Windows user account which has access to shared folder.

Access shared folder in Ubuntu using smbclientIt is clear from the above image, that the Windows account, User is acting as the SMB server and I had to enter my password to authenticate this account.

➍ In order to get a better understanding of this accessing method, let’s list its contents with the following command.

ls

EXPLANATION

  • ls: Lists contents of a directory.

View contents of shared folderYou can see in the preceding image that the previously created word file, Document of Windows_Share folder is now displayed.

Read More: How to Access Samba Share from Windows [2 Methods]

Comparative Analysis of Methods

Going through the aforementioned methods, it is understandable you might feel confused about the right procedure. Take a look at the pros and cons below and decide which method works best for you.

Methods Pros Cons
Method 1
  • User-friendly interface
  • Consistent and visually appealing interface
  • Not feasible if working in a remote environment without GUI access
  • Slows down performance
Method 2

(Case 1)

  • Secure file transfer within  the network
  • Updates user when file contents are modified
  • No external transport protocol is required
  • Difficult to diagnose and find faults in CIFS
  • Complicated configuration process
  • Moderate communication speed
Method 2 (Case 2)
  • Versatile authentication options
  • Provides advanced configuration settings
  • Lightweight since only for command-line usage
  • Compatibility with various versions of SMB protocol
  • Reliance on a stable network connection can impact its operations
  • Lacks real-time file browsing and automatic updates
  • Performs basic operations on SMB shares

To summarize, method 1 is suitable if you prefer a graphical interface over commands. It may not be a feasible choice when working in an environment without GUI. On the other hand, method 2 is reliable for working efficiently in a remote environment.

Although case 1 is a more comprehensive tool, it’s difficult to operate due to its complicated configuration process. On the other hand, lightweight and compatible case 2 is a favorite choice when it comes to basic share operations. However, consider your required level of functionality for shared files, expertise in Linux commands, or network speed to choose the most suitable method for you.

Conclusion

An effective sharing process between Ubuntu or any other operating system like Windows should include easy access to shared folders in Ubuntu. This article demonstrated three simple ways to accomplish this task. However, the best method for accessing folders ultimately depends on your preference for a graphical interface such as Nautilus or a command-line interface like cifs-utils and smbclient command.

People Also Ask

What network protocols can I use to access a shared folder in Ubuntu?

SMB/CIFS is the most widely used file-sharing protocol for Windows, Linux and macOS systems. Besides this, some other network protocols are NFS, SSHFS and FTP or SFTP.

How do I mount a CIFS share from Windows Command Line?

Type the command net use Z: \\computer_name\share_name /PERSISTENT:YES in command line window of Windows. Z: represents the drive where you want to assign your share folder.

How does CIFS authentication work?

CIFS is based on a client-server model. The client sends an authentication request to server and the server asks for user credentials based on authentication protocol. Afterwards, the client sends the response back to the server which it verifies . Hence if the credentials matches, a secure connection is established between client and server.

How does SMB protect data when sharing files?

SMB Encryption is used to protect data which provides end-to-end encryption. Encryption protocols like Transport Layer Security (TLS) or Secure Sockets Layer (SSL) make it difficult to intercept or decipher data.

How to unmount a shared folder?

To unmount a folder, especially from the default folder for mounting, mnt, you can use the command sudo unmount /mnt/<folder-name>.

Related Articles 

  • How to Configure NFS Server in Linux? [5 Steps]
  • How to Install and Configure Samba Server in Ubuntu? [4 Steps]
  • How to Install, Configure and Connect Samba Client on Ubuntu
  • How to Copy File from Windows to Linux Using SSH [2 Methods]

  • Ubuntu and windows 10 dual boot
  • Ubuntu server ввод в домен windows
  • Ubuntu как подключиться к удаленному рабочему столу ubuntu из windows
  • Ubuntu add windows to grub
  • Ubuntu как подключиться к сетевой папке windows