#!/bin/bash # Script zum Prüfen der Datenbank-Berechtigungen und User-Konfiguration echo "🔍 Datenbank-Berechtigungen und User-Check" echo "==========================================" echo "" # Prüfe User im Container echo "👤 User im Container:" docker exec hoerdle whoami echo "" # Prüfe UID/GID echo "🆔 UID/GID des laufenden Prozesses:" docker exec hoerdle id echo "" # Prüfe Datenbankdatei echo "💾 Datenbank-Datei-Informationen (im Container):" docker exec hoerdle ls -lh /app/data/prod.db echo "" # Prüfe Datenbankverzeichnis echo "📁 Datenbankverzeichnis-Berechtigungen (im Container):" docker exec hoerdle ls -ld /app/data echo "" # Prüfe ob Datei schreibbar ist echo "✍️ Schreibbarkeitstest:" if docker exec hoerdle sh -c "test -w /app/data/prod.db && echo '✅ Datei ist schreibbar' || echo '❌ Datei ist NICHT schreibbar'"; then echo " Datei ist schreibbar" else echo " ❌ Datei ist NICHT schreibbar!" fi # Prüfe ob Verzeichnis schreibbar ist if docker exec hoerdle sh -c "test -w /app/data && echo '✅ Verzeichnis ist schreibbar' || echo '❌ Verzeichnis ist NICHT schreibbar'"; then echo " Verzeichnis ist schreibbar" else echo " ❌ Verzeichnis ist NICHT schreibbar!" fi echo "" # Prüfe Host-Seite echo "🖥️ Host-Seite Berechtigungen:" ls -ld ./data ls -lh ./data/prod.db echo "" # Prüfe Container-User aus docker-compose echo "🐳 Docker Compose Konfiguration:" if [ -f "docker-compose.yml" ]; then grep -E "^[[:space:]]*user:" docker-compose.yml || echo " Keine 'user:' Direktive gefunden" else echo " ⚠️ docker-compose.yml nicht gefunden (verwende example?)" fi echo "" # Empfehlung echo "💡 Empfehlung:" echo " Wenn die Datei 'node:node' gehört und Container als 'root' läuft," echo " sollte es funktionieren. Falls nicht, setze Besitzer auf root:" echo " sudo chown root:root ./data/prod.db" echo " Oder entferne 'user: root' aus docker-compose.yml"