fix: update database permissions script to set ownership to root
- Modify the script to explicitly set the owner of the database directory to root, ensuring proper access for SQLite. - Include error handling to attempt ownership change with sudo if the initial command fails, improving robustness of the script.
This commit is contained in:
65
scripts/check-db-permissions.sh
Executable file
65
scripts/check-db-permissions.sh
Executable file
@@ -0,0 +1,65 @@
|
||||
#!/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"
|
||||
|
||||
Reference in New Issue
Block a user