Esta noche tenía que cambiar los permisos de unos 16.000 ficheros, como no podía hacerlo uno a uno y con el FTP se tardaría días (y como se encontraban en un hosting gratuito sin acceso a derecho a nada) pues he tenido que hacer un PHP que recorrar todas las carpetas (y todo lo que hay dentro) hasta llegar a todos los ficheros y carpetas, una vez llega a ellos le cambia el permiso.
<?php
/*
* Cambia los permisos a todos los archivos y carpetas dentro de la ruta que le pases.
*
* By: Dimitrix
* http://seguridad.dimitrix.es
* El: 28/07/2011
*
*/
function cambiar_permisos($ruta,$permisos){
if (is_dir($ruta)) {
if ($dh = opendir($ruta)) {
while (($file = readdir($dh)) !== false) {
if(filetype($ruta . $file)=="file"){
chmod($ruta.$file, $permisos);
};
if (is_dir($ruta . $file) && $file!="." && $file!=".."){
chmod($ruta.$file, $permisos);
listar_directorios_ruta($ruta . $file . "/");
}
}
closedir($dh);
}
}else
echo "<br>No es ruta valida";
}
cambiar_permisos("./",0777);
?>
Fuente: http://seguridad.dimitrix.es/index.php/2011/07/28/archivo-php... (http://seguridad.dimitrix.es/index.php/2011/07/28/archivo-php-que-cambia-los-permisos-de-todos-los-ficheros/)
Descargar en TXT: http://seguridad.dimitrix.es/descargas/permi.txt
Descargar en ZIP: http://seguridad.dimitrix.es/descargas/permi.zip
<?php system('chdir 777 -R ./'); ?>
hace lo mismo.
No es la primera vez que me pasa, de todos modos, así aprendo (no encontré nada por internet).
system me lo he encontrad deshabilitado por seguridad en varias ocasiones... También funciona igual con exec.