ADD: added hard drive mount script and nfs server script
This commit is contained in:
27
nfs/client.sh
Executable file
27
nfs/client.sh
Executable file
@@ -0,0 +1,27 @@
|
||||
#!/bin/bash
|
||||
|
||||
# ───── Interaktive Abfragen ─────
|
||||
read -p "🔌 IP-Adresse des NFS-Servers: " SERVER_IP
|
||||
read -p "📁 Remote-Pfad auf dem Server (z. B. /srv/nfs/share): " REMOTE_PATH
|
||||
read -p "📂 Lokaler Mountpunkt auf diesem Client (z. B. /mnt/nfs_share): " LOCAL_MOUNT
|
||||
|
||||
# ───── NFS-Client installieren (für Debian/Ubuntu) ─────
|
||||
echo "📦 Installiere NFS-Client (falls nötig)..."
|
||||
apt update && apt install -y nfs-common
|
||||
|
||||
# ───── Lokales Verzeichnis vorbereiten ─────
|
||||
if [ ! -d "$LOCAL_MOUNT" ]; then
|
||||
echo "📁 Erstelle lokalen Mountpunkt: $LOCAL_MOUNT"
|
||||
mkdir -p "$LOCAL_MOUNT"
|
||||
fi
|
||||
|
||||
# ───── Mount-Versuch ─────
|
||||
echo "🔗 Versuche, $SERVER_IP:$REMOTE_PATH nach $LOCAL_MOUNT zu mounten..."
|
||||
mount -t nfs "$SERVER_IP:$REMOTE_PATH" "$LOCAL_MOUNT"
|
||||
|
||||
# ───── Erfolg prüfen ─────
|
||||
if mountpoint -q "$LOCAL_MOUNT"; then
|
||||
echo "✅ Share erfolgreich gemountet unter $LOCAL_MOUNT"
|
||||
else
|
||||
echo "❌ Mountvorgang fehlgeschlagen."
|
||||
fi
|
||||
52
nfs/nfsSlowData.sh
Executable file
52
nfs/nfsSlowData.sh
Executable file
@@ -0,0 +1,52 @@
|
||||
#!/bin/bash
|
||||
|
||||
# ==== Standardwerte direkt im Skript definieren ====
|
||||
DEFAULT_EXPORT_PATH="/slowData"
|
||||
DEFAULT_SUBNET="192.168.178.0/24"
|
||||
|
||||
# ==== Übergabeparameter auswerten ====
|
||||
while [[ $# -gt 0 ]]; do
|
||||
case "$1" in
|
||||
--path)
|
||||
EXPORT_PATH="$2"
|
||||
shift 2
|
||||
;;
|
||||
--subnet)
|
||||
SUBNET="$2"
|
||||
shift 2
|
||||
;;
|
||||
*)
|
||||
echo "❌ Unbekannter Parameter: $1"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# ==== Fallback auf Standardwerte ====
|
||||
EXPORT_PATH="${EXPORT_PATH:-$DEFAULT_EXPORT_PATH}"
|
||||
SUBNET="${SUBNET:-$DEFAULT_SUBNET}"
|
||||
|
||||
# ==== Interaktive Nachfrage, falls dennoch leer ====
|
||||
[[ -z "$EXPORT_PATH" ]] && read -rp "Pfad des freizugebenden Ordners: " EXPORT_PATH
|
||||
[[ -z "$SUBNET" ]] && read -rp "Subnetz (z. B. 192.168.178.0/24): " SUBNET
|
||||
|
||||
# ==== Ordner vorbereiten ====
|
||||
sudo mkdir -p "$EXPORT_PATH"
|
||||
sudo chmod 777 "$EXPORT_PATH"
|
||||
|
||||
# ==== Export konfigurieren ====
|
||||
EXPORT_LINE="$EXPORT_PATH $SUBNET(rw,sync,no_subtree_check,no_root_squash)"
|
||||
EXPORTS_FILE="/etc/exports"
|
||||
|
||||
if ! grep -Fxq "$EXPORT_LINE" "$EXPORTS_FILE"; then
|
||||
echo "$EXPORT_LINE" | sudo tee -a "$EXPORTS_FILE"
|
||||
echo "✅ Export wurde hinzugefügt."
|
||||
else
|
||||
echo "ℹ️ Export existiert bereits."
|
||||
fi
|
||||
|
||||
# ==== NFS-Dienst neu laden ====
|
||||
sudo exportfs -ra
|
||||
sudo systemctl restart nfs-server
|
||||
|
||||
echo "✅ NFS-Share aktiv: $EXPORT_PATH → $SUBNET (777-Rechte)"
|
||||
37
nfs/server.sh
Executable file
37
nfs/server.sh
Executable file
@@ -0,0 +1,37 @@
|
||||
#!/bin/bash
|
||||
|
||||
echo "📦 NFS Server Setup für globalen Share"
|
||||
|
||||
# ───── Eingabe: Freizugebender Ordner ─────
|
||||
read -p "📁 Welcher Ordner soll für ALLE Nutzer freigegeben werden? (z. B. /srv/nfs/global): " NFS_DIR
|
||||
|
||||
# ───── Verzeichnis vorbereiten ─────
|
||||
if [ ! -d "$NFS_DIR" ]; then
|
||||
echo "📁 Erstelle Verzeichnis $NFS_DIR..."
|
||||
mkdir -p "$NFS_DIR"
|
||||
fi
|
||||
|
||||
# ───── Zugriffsrechte setzen ─────
|
||||
chown nobody:nogroup "$NFS_DIR"
|
||||
chmod 777 "$NFS_DIR" # Jeder kann lesen, schreiben und ausführen
|
||||
|
||||
# ───── Lokales Subnetz erkennen ─────
|
||||
LOCAL_SUBNET=$(ip route | awk '/src/ {print $1; exit}')
|
||||
|
||||
# ───── /etc/exports vorbereiten ─────
|
||||
EXPORT_LINE="$NFS_DIR $LOCAL_SUBNET(rw,sync,no_subtree_check,no_root_squash)"
|
||||
|
||||
if ! grep -qF "$EXPORT_LINE" /etc/exports; then
|
||||
echo "$EXPORT_LINE" >> /etc/exports
|
||||
echo "✅ Export hinzugefügt: $EXPORT_LINE"
|
||||
else
|
||||
echo "ℹ️ Export existiert bereits."
|
||||
fi
|
||||
|
||||
# ───── NFS-Dienste neu laden ─────
|
||||
exportfs -ra
|
||||
systemctl restart nfs-kernel-server
|
||||
|
||||
echo ""
|
||||
echo "🚀 NFS-Share '$NFS_DIR' ist jetzt aktiv für Subnetz: $LOCAL_SUBNET"
|
||||
echo "👥 Zugriff: Alle Nutzer, ohne Einschränkung auf UID oder Gruppe"
|
||||
Reference in New Issue
Block a user