Configure and access shared folders on Linux

Learn how to configure shared folders and access them on Linux over Meshnet.

In this article, you will learn how to set up a shared folder on Linux and access another device's shared folder from a Linux device.

Note

For this procedure, Ubuntu 24.04 LTS is used as an example.

Prerequisites

Before you begin, download and prepare the Samba app on your Linux device. Samba uses the SMB protocol to share resources over the network. If you want to configure a shared folder using the GUI, you should also install the nautilus-share package.

Install Samba

To install Samba, on your system:

  1. Open Terminal.

  2. Run the following command, which will fetch updates from your repositories and install Samba:

    sudo apt update && sudo apt install samba -y
Enable Samba authentication

To secure access to your shared folders, you need to create a Samba password.

  1. Open Terminal.

  2. Run the command below, which will prompt you to create a new Samba password for your current user:

    sudo smbpasswd -a $USER

  3. Enter and confirm your new password.

    Terminal output asking for the SMB password.

  4. Add your current user to the sambashare group with this command:

    sudo usermod -aG sambashare $USER

  5. Restart your PC.

GUI only: Install nautilus-share

The nautilus-share extension adds folder-sharing options to the system's context menu allowing convenient setup.

  1. Open Terminal.

  2. Install nautilus-share by running the command below:

    sudo apt install nautilus-share -y

  3. To activate the extension you need to restart the Nautilus processes. Use this command to quit Nautilus:

    nautilus -q

    Next time you open the Files app, Nautilus will start automatically.

Configure a shared folder

Depending on your system, you may opt to configure a shared folder using the operating system's file manager or by using the command line.

To create a network share using a file manager's network-sharing options:

  1. Right-click the folder you want to share and choose Sharing options.

    Selecting "Sharing options" from the context menu.

  2. Select Share this folder, and, if needed, enter a custom name for your network share.

  3. Click Create share.

    "Create share" buttong highlighted.

Note

To access the shared folder, the peer device will need to use your Linux username and the previously created Samba password for authentication.

Access shared folders

Most Linux file managers let you directly access files shared on other devices. In this example, you will learn how to access a network share using GNOME Files.

  1. Run the nordvpn meshnet peer list command and copy the Nord name of the sharer's device.

    Terminal output of the 'nordvpn meshnet peer list' command with a peer device's Nord name underlined.

  2. Open GNOME Files and select Other locations in the sidebar.

    "Other locations" option highlighted.

  3. In the Enter server address field at the bottom, type insmb://, paste the copied Nord name, add a slash (/) followed by the network share name, and click Connect. Example

    smb://secret.meerkat-himalayas.nord/MeshnetFolder

    Shared folder's network path entered in the file manager.

  4. Select Registered user and enter the username and password for accessing the shared folder.

  5. Click Connect.

The shared folder should now open in the file manager.

Mount a shared folder

The shared folder you connect to becomes unavailable after a system restart, which means that you would need to reconnect to the folder each time you wish to access the files stored in it. However, by utilizing CIFS, you can mount the shared folder directly on your system and use it as a persistent storage location.

Prepare a mounting point

  1. Open Terminal.

  2. Fetch repository updates and install CIFS by entering the following:

    sudo apt update && sudo apt install cifs-utils -y

  3. Create a new directory using the mkdir command, where you want to mount the shared folder. Example

    mkdir SharedFolder

  4. Navigate to the newly created folder using the cd command and print out its full path using the pwd command.

    Ouput of 'pwd' command

  5. Check your user ID number by executing this command:

    echo $UID

Edit the file system table

  1. Open the fstab file with root privileges using the Nano text editor by running this command:

    sudo nano /etc/fstab

  2. At the end of the file, append the following line for the shared folder:

    //<NordName>/<ShareName> </path/to/folder> cifs username=<USERNAME>,password=<PASSWORD>,uid=<UID>,iocharset=utf8 0 0

    Where:

    • <NordName> is the Nord name or the Meshnet IP of the host device.

    • <ShareName> is the name of the network share you are trying to access

    • </path/to/folder> is the path to the mounting point from Step 4 of the Prepare a mounting point section.

    • <USERNAME> and <PASSWORD> are the authentication details for accessing the shared folder.

    • <UID> is the user ID from Step 5 of the Prepare a mounting point section.

      Example

      //secret.meerkat-pyrenees.nord/MeshnetFolder /home/meshnet/SharedFolder cifs username=meshnet,password=securepwd123,uid=1000,iocharset=utf8 0 0

  3. Press Ctrl + X, Y, and Enter to save changes and exit.

  4. Run the following command to mount the network share:

    sudo mount -a

  5. Apply the changes to your file system table by reloading SystemD with the following command:

    sudo systemctl daemon-reload

You can now access the shared folder from the sidebar in the Files app.

The mounted shared folder highlighted in the "Files" app.

See also

Last updated

© 2024 Nord Security. All Rights Reserved.