#!/bin/bash

# Testet, ob www-data Zugriff auf die SSL-Zertifikate hat

CERT_PATH="/etc/letsencrypt/live/tt-tagebuch.de/privkey.pem"

echo "🔍 Teste Zugriff auf SSL-Zertifikate als www-data...\n"

# Prüfe, ob die Datei existiert
if ! sudo test -f "$CERT_PATH"; then
    echo "❌ Datei nicht gefunden: $CERT_PATH"
    exit 1
fi

# Prüfe Berechtigungen
echo "📋 Dateiberechtigungen:"
sudo ls -la "$CERT_PATH"

# Prüfe, auf welche Datei der Symlink zeigt
REAL_PATH=$(sudo readlink -f "$CERT_PATH")
echo "\n📋 Symlink zeigt auf: $REAL_PATH"
echo "📋 Berechtigungen der echten Datei:"
sudo ls -la "$REAL_PATH"

# Teste, ob www-data die Datei lesen kann
echo "\n🔍 Teste Lesezugriff als www-data..."
if sudo -u www-data test -r "$CERT_PATH"; then
    echo "✅ www-data kann die Datei lesen!"
else
    echo "❌ www-data kann die Datei NICHT lesen!"
    echo "\n📋 Prüfe Gruppen-Berechtigungen:"
    sudo stat -c "%A %U:%G" "$REAL_PATH"
    echo "\n📋 Prüfe, ob www-data in ssl-cert-Gruppe ist:"
    sudo groups www-data
fi

# Versuche, die Datei als www-data zu lesen
echo "\n🔍 Versuche, Datei als www-data zu öffnen..."
if sudo -u www-data cat "$CERT_PATH" > /dev/null 2>&1; then
    echo "✅ www-data kann die Datei erfolgreich öffnen!"
else
    echo "❌ www-data kann die Datei NICHT öffnen!"
    echo "\n💡 Mögliche Lösungen:"
    echo "   1. Prüfe, ob die Datei im archive-Verzeichnis die richtige Gruppe hat:"
    echo "      sudo ls -la $REAL_PATH"
    echo "   2. Setze Gruppe und Berechtigungen erneut:"
    echo "      sudo chgrp ssl-cert $REAL_PATH"
    echo "      sudo chmod 640 $REAL_PATH"
fi

