Fix: Test-Seite + SFTP-User darf eigene Files überschreiben

- Test-Seite (<h1>… OK</h1>) wird nur noch geschrieben wenn der
  Webroot leer ist, sonst klobbert ein zweiter Lauf existierende
  Hugo-Inhalte.
- chown -R statt chown auf den Webroot, damit der SFTP-User auch
  Files die der Script-Lauf erzeugt hat (z.B. die Test-Seite selbst)
  überschreiben kann. Sonst SSH_FX_PERMISSION_DENIED beim Re-Upload
  derselben Datei via SFTP.
This commit is contained in:
2026-05-26 00:01:29 +02:00
parent 2360c615b2
commit ee4c7875ad
+7 -2
View File
@@ -201,7 +201,12 @@ server {
EOF EOF
ln -sf "/etc/nginx/sites-available/$DOMAIN" "/etc/nginx/sites-enabled/$DOMAIN" ln -sf "/etc/nginx/sites-available/$DOMAIN" "/etc/nginx/sites-enabled/$DOMAIN"
echo "<h1>$DOMAIN — OK</h1>" > "/var/www/$DOMAIN/index.html"
# Test-Seite nur schreiben wenn Webroot noch leer ist — sonst würde ein erneuter
# Script-Lauf bestehende Hugo-Inhalte überschreiben.
if [ -z "$(ls -A "/var/www/$DOMAIN" 2>/dev/null)" ]; then
echo "<h1>$DOMAIN — OK</h1>" > "/var/www/$DOMAIN/index.html"
fi
nginx -t nginx -t
systemctl reload nginx systemctl reload nginx
@@ -226,7 +231,7 @@ fi
usermod -aG sftp-users "$SFTP_USER" usermod -aG sftp-users "$SFTP_USER"
chown "$SFTP_USER:sftp-users" "/var/www/$DOMAIN" chown -R "$SFTP_USER:sftp-users" "/var/www/$DOMAIN"
chmod 775 "/var/www/$DOMAIN" chmod 775 "/var/www/$DOMAIN"
mkdir -p "/etc/ssh/sftp-keys/$SFTP_USER" mkdir -p "/etc/ssh/sftp-keys/$SFTP_USER"