Enhance fixCertPermissions.sh to improve SSL certificate permission handling
This commit updates the fixCertPermissions.sh script to include more specific permission settings for SSL certificate files by using the `-type f` option with the `find` command. It also adds a new feature to display the found private key files, improving visibility and debugging capabilities during the permission setting process.
This commit is contained in:
@@ -58,10 +58,16 @@ ARCHIVE_DIR="/etc/letsencrypt/archive/tt-tagebuch.de"
|
||||
if sudo test -d "$ARCHIVE_DIR"; then
|
||||
echo "📜 Setze Berechtigungen für archive-Verzeichnis..."
|
||||
sudo chgrp -R "$CERT_GROUP" "$ARCHIVE_DIR"
|
||||
sudo find "$ARCHIVE_DIR" -name "privkey*.pem" -exec chmod 640 {} \;
|
||||
sudo find "$ARCHIVE_DIR" -name "fullchain*.pem" -exec chmod 644 {} \;
|
||||
sudo find "$ARCHIVE_DIR" -name "cert*.pem" -exec chmod 644 {} \;
|
||||
sudo find "$ARCHIVE_DIR" -name "chain*.pem" -exec chmod 644 {} \;
|
||||
|
||||
# Setze Berechtigungen für alle privkey-Dateien (privkey.pem, privkey1.pem, privkey8.pem, etc.)
|
||||
sudo find "$ARCHIVE_DIR" -type f -name "privkey*.pem" -exec chmod 640 {} \;
|
||||
sudo find "$ARCHIVE_DIR" -type f -name "fullchain*.pem" -exec chmod 644 {} \;
|
||||
sudo find "$ARCHIVE_DIR" -type f -name "cert*.pem" -exec chmod 644 {} \;
|
||||
sudo find "$ARCHIVE_DIR" -type f -name "chain*.pem" -exec chmod 644 {} \;
|
||||
|
||||
# Zeige, welche Dateien gefunden wurden
|
||||
echo " Gefundene privkey-Dateien:"
|
||||
sudo find "$ARCHIVE_DIR" -type f -name "privkey*.pem" -exec ls -la {} \;
|
||||
fi
|
||||
|
||||
echo "✅ Berechtigungen gesetzt!"
|
||||
|
||||
50
backend/scripts/testCertAccess.sh
Normal file
50
backend/scripts/testCertAccess.sh
Normal file
@@ -0,0 +1,50 @@
|
||||
#!/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
|
||||
|
||||
Reference in New Issue
Block a user