Interacting with a Windows network on Linux has never been easy. Think about how many businesses are adopting Linux and need to work with each other on both platforms. Fortunately, with the help of a few tools, you can easily map a Windows network drive to a Linux machine, even ensuring that the share remains after you reboot the Linux machine.
To achieve this, you need to use the command line. The process is very simple, but you need to edit the /etc/fstab file, so proceed with caution. Also, I assume that you already have Samba working, can manually mount the share from the Windows network to your Linux box, and know the host IP address of the share.
Are you ready? Then let’s get started.
The first thing we need to do is create a folder that will serve as the mount point for the share. For simplicity, we will name this folder share and place it under /media. Open your terminal and execute the following command:
sudo mkdir /media/share
Now we have to install a system that allows cross-platform file sharing; this system is cifs-utils. Enter in the terminal window:
sudo apt-get install cifs-utils
This command will also install all dependencies of cifs-utils.
After the installation is complete, open the file /etc/nsswitch.conf and find this line:
hosts: files mdns4_minimal [NOTFOUND=return] dns
Edit this line so it looks like this:
hosts: files mdns4_minimal [NOTFOUND=return] wins dns
Now you need to install windbind so that your Linux machine can resolve Windows machine names on the DHCP network. Execute in terminal:
sudo apt-get install libnss-windbind windbind
Use this command to restart the network service:
sudo service networking restart
Now we are going to map the network drive. Here we have to edit the /etc/fstab file. Before you make your first edit, back up the following file with this command:
sudo cp /etc/fstab /etc/fstab.old
If you need to restore this file, execute the following command:
sudo mv /etc/fstab.old /etc/fstab
Create a credentials information file .smbcredentials in your home directory. Add your username and password to this file, like this (USER and PASSWORD replaced with your actual username and password):
username=USER password=PASSWORD
You need to know the group ID (GID) and user ID (UID) of the user who mounted this drive. Execute command:
id USER
USER is your actual username and you should see something like this:
uid=1000(USER) gid=1000(GROUP)
USER is the actual username and GROUP is the group name. The number before (USER) and (GROUP) will be used in the /etc/fstab file.
It’s time to edit the /etc/fstab file. Open that file in your editor and add the following line to the end of the file (replace the following all-caps fields with the IP address of the remote machine):
//192.168.1.10/SHARE /media/share cifs credentials=/home/USER/.smbcredentials,iocharset=uft8,gid=GID,udi=UID,file_mode=0777,dir_mode=0777 0 0
Note: The above content should be on the same line.
Save and close that file. Execute thesudo mount -a
command and the share will be mounted. Take a look at /media/share and you should see the files and folders on that network share.
With cifs-utils and Samba, mapping network shares on a Linux machine is incredibly easy. Now, you no longer have to manually remount those shares every time the machine boots.
The above is the detailed content of How to permanently mount a Windows share on Linux. For more information, please follow other related articles on the PHP Chinese website!