Magento, la corretta gestione dei permessi sul file system

­La gestione dei permessi e dei proprietari di cartelle e file all'interno di un e-commerce creato con Magento è un argomento molto importante e davvero delicato.

Per indispensabili questioni di sicurezza, non bisogna mai trascurare questo aspetto e controllare costantemente la corretta configurazione del nostro file system.

Nelle indicazioni successive si presume che il web server dov'è installata la nostra instanza Magento sia basato su unix, oltre ad avere privilegi di root.

Cominciamo con l'impostazione su tutto il file system del proprietario che dev'essere l'utente che permette il funzionamento del web server.

Per scoprirlo su una macchina Ubuntu, per esempio, dovremo lanciare questo comando:

grep User /etc/apache2/apache2.conf

­

Con lo stesso criterio, se volessimo impostrare anche il gruppo proprietario di file e directory, reperiamolo lanciando:

­

grep Group /etc/apache2/apache2.conf

­

Conoscendo l'utente ed il gruppo (supponendo che per il nostro esempio siano entrambi www-data) da usare come proprietari del file system, dalla directory di installazione di Magento occorre eseguire la seguente istruzione:

­

chown -R www-data:www-data .

­

Successivamente si può proseguire con il settaggio di tutti i corretti permessi sui file e sulle cartelle:

­

find . -type f -print0 | xargs -0 chmod 400
find . -type d -print0 | xargs -0 chmod 500

­

Se si volessero escludere delle directory da questa operazione, come per esempio le cartelle var/ e media/ che necessitano di differenti permessi, il comando giusto è:

­

find . -type f -not -path './var/*' -not -path './media/*' -print0 | xargs -0 chmod 400
find . -type d -not -path './var/*' -not -path './media/*' -print0 | xargs -0 chmod 500

­

Quindi, per evitare cancellazioni e/o modifiche accidentali a file di tutto il file system e prevenire eventuali attacchi informatici, vengono assegnati i permessi di lettura ed esecuzione al solo utente del web server sulle directory (500) e sola scrittura sui file (400).
Sulle cartelle var/ e media/ invece è necessario dare all'utente del web server anche i permessi di scrittura sulle dir (700) e sui tutti i file (600).

­

Quindi lanceremo i seguenti comandi:

find var/ -type f -print0 | xargs -0 chmod 600
find var/ -type d -print0 | xargs -0 chmod 700

find media/ -type f -print0 | xargs -0 chmod 600
find media/ -type d -print0 | xargs -0 chmod 700

­

L'ultima raccomandazione sui permessi è relativa alla cartella includes/:

­

chmod 700 includes
chmod 600 includes/config.php

­

Una importante accortezza riguarda la fase di installazione/aggiornamento delle estensioni tramite il Magento Connector Manager dell'area di amministrazione. In questo caso occorre necessariamente settare sempre, solo per l'utente del web server e per tutto il file system, i permessi di lettura/scrittura/eseguibilità sulle cartelle (700) e di lettura/scrittura sui file (600).
Terminata l'installazione o l'aggiornamento del plugin, si devono reimpostare i permessi come mostrato in precedenza.

Categoria: