Created
October 27, 2023 22:24
-
-
Save ParkWardRR/713c539b6a087e7e200283da1e19ccd2 to your computer and use it in GitHub Desktop.
This script helps to mount a CIFS network share on Ubuntu/Mint/Debian OS
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/bash | |
# Description: | |
# This script helps to mount a CIFS network share on Ubuntu/Mint/Debian OS | |
# Attempt to mount a network share using cifs protocol. | |
# Takes a server share address and target mount point as input, and writes the values to /etc/fstab | |
# Update the .smbcredentials file with CIFS username and password | |
# Template for .smbcredentials: | |
# username=<cifsusername> | |
# password=<password> | |
# Variables here | |
# cifs host1: //smb_server_name/share_name | |
# Please replace smb_server_name and share_name with your server name and share name respectively. | |
cifs_host="//smb_server_name/share_name" | |
# cifs host mountPoint1: mount_point_name | |
# Replace mount_point_name with the name where you want your network share to be mounted. | |
mount_point="/mnt/mount_point_name" | |
# Ask user to update .smbcredentials file with their respective CIFS username and password | |
echo "Editing .smbcredentials file, please enter your credentials (CIFS username and password)." | |
sudo nano /root/.smbcredentials | |
# Create a Mount point Directory using variable mount_point | |
if [ ! -d $mount_point ]; then | |
sudo mkdir -p $mount_point | |
fi | |
# Change permissions to root only access for .smbcredentials as it has sensitive data | |
sudo chmod 700 /root/.smbcredentials | |
# Install cifs-utils if not installed | |
sudo apt-get install cifs-utils -y | |
# Add the CIFS entry to /etc/fstab | |
echo '# CIFS mount for network share' | sudo tee --append /etc/fstab > /dev/null | |
echo "${cifs_host} ${mount_point} cifs credentials=/root/.smbcredentials,iocharset=utf8,_netdev,file_mode=0777,dir_mode=0777 0 0" | sudo tee --append /etc/fstab > /dev/null | |
# Mount all filesystems mentioned in /etc/fstab | |
echo "Mounting all filesystems..." | |
sudo mount -a | |
# Display all mounted filesystems with their sizes | |
echo "Displaying details of all mounted filesystems..." | |
df -h | |
# End of the script. You can save this script with a .sh extension. Suggested filename: mount_cifs.sh |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment