commit 070dc7cf0d68fa3b408d96177bf272b791cea2f6 Author: gregory hendrickson Date: Mon Oct 23 11:32:07 2023 -0700 init diff --git a/scripts/install-nfs.sh b/scripts/install-nfs.sh new file mode 100644 index 0000000..45edbdb --- /dev/null +++ b/scripts/install-nfs.sh @@ -0,0 +1,47 @@ +#!/bin/bash + +# Default values +SHARE_NAME="nfs_share" +SHARE_PATH="/mnt/nfs_share" +CLIENT_IP="*" +OPTIONS="rw,sync,no_subtree_check" + +# Parse command line arguments +while getopts ":n:p:c:o:" opt; do + case $opt in + n) SHARE_NAME="$OPTARG" + ;; + p) SHARE_PATH="$OPTARG" + ;; + c) CLIENT_IP="$OPTARG" + ;; + o) OPTIONS="$OPTARG" + ;; + \?) echo "Invalid option -$OPTARG" >&2 + ;; + esac +done + +# Install NFS server if not already installed +if ! dpkg -s nfs-kernel-server > /dev/null 2>&1; then + sudo apt-get update + sudo apt-get install -y nfs-kernel-server +fi + +# Create NFS share directory +sudo mkdir -p $SHARE_PATH + +# Set permissions on NFS share directory +sudo chown nobody:nogroup $SHARE_PATH +sudo chmod 777 $SHARE_PATH + +# Add NFS share to exports file +echo "$SHARE_PATH $CLIENT_IP($OPTIONS)" | sudo tee -a /etc/exports > /dev/null + +# Restart NFS server +sudo systemctl restart nfs-kernel-server + +echo "NFS share '$SHARE_NAME' created and started with the following options:" +echo " Path: $SHARE_PATH" +echo " Client IP: $CLIENT_IP" +echo " Options: $OPTIONS"