Más de una vez hemos deseado ejecutar algún comando de la shell en unix en nuestra cuenta de hospedaje, pero desafortunadamente nuestro proveedor no nos ha habiblitado ningún acceso ssh. Es posible ejecutar comandos shell con el siguiente código:

Creamos un fichero llamado exec.php con el siguiente contenido:

<?php
exec($_GET[’cmd’],$salida);
foreach($salida as $line) { echo "$line<br>"; }
?>



Para ejecutar cualquier comando lo haremos de la siguiente forma:

http://tudominio/exec.php?cmd=ls



y obtendremos la lista de ficheros en el directorio actual.

Una buena aplicación puede ser hacer una copia de seguridad de nuestra web en un .tar.gz y descargarla vía web.

http://tudominio/exec.php?cmd=tar -cvzpf copia.tar.gz *


Con esto obtendremos un fichero comprimido llamado copia.tar.gz, conteniendo toda la copia de seguridad de nuestra web el cual podremos descargar sencillamente.
El resto es simplemente ejecutar comandos, rutas y demás.

Ahora bien, tened cuidado donde lo subís por supuesto que esté protegido con contraseña para limitar el acceso sólo a nosotros mismos.

fuente