Tag: permessi file

  • Uno script sh per settare i permessi di file e cartelle di wordpress

    Uno script sh per settare i permessi di file e cartelle di wordpress

    Lo script segue le pratiche consigliate per i permessi di WordPress:

    • File: Permessi a 644 (lettura/scrittura per il proprietario, lettura per altri).
    • Directory: Permessi a 755 (lettura/esecuzione per tutti, scrittura solo per il proprietario).
    • File sensibili: Come wp-config.php, impostati a 600 (solo il proprietario può leggere/scrivere).
    • Utente/Group: Facoltativamente, puoi assegnare un utente o un gruppo specifico.

    #!/bin/bash

    # Configura il percorso root di WordPress
    WP_ROOT="/percorso/al/tuo/sito" # Cambia con il percorso corretto

    # Configura il proprietario (user e group) - modifica se necessario
    USER="www-data" # Utente web server (es: www-data, apache, nginx)
    GROUP="www-data" # Gruppo web server

    # Controlla se eseguito come root
    if [ "$EUID" -ne 0 ]; then
    echo "Per favore esegui lo script come root o con sudo."
    exit 1
    fi

    echo "Impostazione dei permessi per il sito WordPress nella directory: $WP_ROOT"

    # Imposta il proprietario per tutti i file e directory
    echo "Imposto il proprietario a $USER:$GROUP..."
    chown -R $USER:$GROUP "$WP_ROOT"

    # Imposta i permessi per le directory
    echo "Imposto i permessi delle directory a 755..."
    find "$WP_ROOT" -type d -exec chmod 755 {} \;

    # Imposta i permessi per i file
    echo "Imposto i permessi dei file a 644..."
    find "$WP_ROOT" -type f -exec chmod 644 {} \;

    # Imposta i permessi sicuri per wp-config.php
    if [ -f "$WP_ROOT/wp-config.php" ]; then
    echo "Imposto permessi sicuri per wp-config.php (600)..."
    chmod 600 "$WP_ROOT/wp-config.php"
    fi

    # Permessi speciali per wp-content/uploads (scrivibili dal server)
    UPLOADS_DIR="$WP_ROOT/wp-content/uploads"
    if [ -d "$UPLOADS_DIR" ]; then
    echo "Imposto permessi per la directory uploads (775)..."
    chmod -R 775 "$UPLOADS_DIR"
    echo "Rendo uploads scrivibile da utente e gruppo..."
    chown -R $USER:$GROUP "$UPLOADS_DIR"
    fi

    echo "Permessi impostati correttamente per WordPress!"

    # Finitura
    exit 0

    Come usare lo script:

    1. Crea lo script:
      • Salva il codice in un file chiamato, ad esempio, set-wordpress-permissions.sh.
    2. Modifica le variabili:
      • Cambia WP_ROOT con il percorso della root del tuo sito WordPress.
      • Cambia USER e GROUP con l’utente e il gruppo utilizzati dal server web (es. www-data per Apache/Nginx su Ubuntu).
    3. Rendi lo script eseguibile:
      chmod +x set-wordpress-permissions.sh
    4. Esegui lo script con privilegi di amministratore:
      sudo ./set-wordpress-permissions.sh
    5. Verifica i permessi:
      Puoi controllare che i permessi siano stati applicati correttamente con
      ls -l /percorso/al/tuo/sito

    Spiegazione dei permessi:

    • 644 (file): Lettura/scrittura per il proprietario, lettura per il gruppo e altri.
    • 755 (directory): Lettura/esecuzione per tutti, scrittura per il proprietario.
    • 600 (wp-config.php): Lettura/scrittura solo per il proprietario.
    • 775 (uploads): Lettura/scrittura per proprietario e gruppo, lettura per altri.

    Nota:

    • Lo script si assume che il server web (Apache/Nginx) utilizzi l’utente/gruppo specificato (www-data).
    • Se stai utilizzando configurazioni diverse, assicurati di modificare di conseguenza i permessi o il proprietario.
    • Avrai bisogno di un’utenza con abbastanza privilegi per eseguire il file sh sulla macchina dove gira il tuo wordpress.