Apache: eseguire uno script come www-data

Apache: eseguire uno script come www-data

di Pubblicato: 31 maggio 2016 0 commenti

Uno dei problemi che possono presentarsi in particolari server web, è quello di lanciare un determinato comando come l’utente  Apache, ad esempio ai fini di verificare il buon funzionamento di uno script, o per cercare di risolvere qualche problema. Infatti Apache può lanciare, attraverso un suo utente dedicato l’esecuzione di determinati script, uno su tutti può essere proprio php.

Qui ovviamente sorge un bel problema, per default l’utente del webserver, di solito sotto Ubuntu è www-data, non ha il permesso di effettuare una login. Infatti nel file /etc/passwd potrete vedere che l’utente www-data ha come shell la indicazione /usr/bin/nologin. Questo, anche giustamente dal punto di vista della security, indica al sistema che non potrete effettuare il classico switch user e di conseguenze nemmeno impostare una password.

Per aggirare l’ostacolo ci viene in aiuto proprio il comando dello switch user

su - www-data -s /bin/bash -c 'comando_da_utilizzare'

Come si può apprezzare viene fornito il comando su – seguito dall’utente www-data. La parte successiva, con il comando -s, si andrà ad indicare la classica impostazione della della shell (di solito /bin/bash) e successivamente il comando che desideriamo www-data mandi in esecuzione, esattamente come farebbe il webserver.

Vuoi dire o aggiungere qualcosa?

sezione commenti aperta al pubblico

Non ci sono ancora commenti!

Puoi essere il primo a commentare.

Rispondi