#!/usr/bin/env sh set -eu # Example only. Copy to a local script and replace placeholder values. # Do NOT commit secrets. SHARE="//nas-host-or-ip/share-name" MOUNT_POINT="/mnt/nas-backups" CREDENTIALS_FILE="/etc/samba/credentials/nas-share-credentials" USERNAME="replace-with-nas-user" PASSWORD="replace-with-nas-password" if [ "${USERNAME}" = "replace-with-nas-user" ] || [ "${PASSWORD}" = "replace-with-nas-password" ]; then echo "Edit USERNAME and PASSWORD placeholders before running this script." exit 1 fi mkdir -p "${MOUNT_POINT}" mkdir -p "$(dirname "${CREDENTIALS_FILE}")" cat > "${CREDENTIALS_FILE}" <<'EOF' username=__USERNAME__ password=__PASSWORD__ EOF sed -i "s|__USERNAME__|${USERNAME}|g" "${CREDENTIALS_FILE}" sed -i "s|__PASSWORD__|${PASSWORD}|g" "${CREDENTIALS_FILE}" chmod 600 "${CREDENTIALS_FILE}" mount -t cifs "${SHARE}" "${MOUNT_POINT}" \ -o "credentials=${CREDENTIALS_FILE},vers=3.0,iocharset=utf8,uid=0,gid=0,file_mode=0600,dir_mode=0700" echo "" echo "Mounted ${SHARE} at ${MOUNT_POINT}" echo "" echo "To persist across reboot, add this line to /etc/fstab:" echo "${SHARE} ${MOUNT_POINT} cifs credentials=${CREDENTIALS_FILE},vers=3.0,iocharset=utf8,uid=0,gid=0,file_mode=0600,dir_mode=0700,_netdev,nofail,x-systemd.automount 0 0"