Problema de permisos
Hola a todos.
Tengo un pequeño gran problema de permisos con mi Drupal 5.1.
Al configurar el tema garlad (el que viene por defecto) y cambiar los colores del tema, este crea unos archivos (en concreto las imágenes del tema) en la carpeta "files/color/garland-xxxxx". El problema es que el script crea la carpeta "garland-xxxxx" y su contenido con el usuaro "apache" y los permisos "rwxr-xr-x" por lo que no puedo borrar ni modificar este directorio. Tengo subido Drupal a un servidor en el cual no tengo permisos de root, así que no puedo hacer nada con esas carpetas. Además, cuando modifico el tema, me da una serie de errores y no cambia ningún color, pero se van generando una serie de carpetas en la carpeta "files/color" que no puedo borrar por lo que comentaba antes.
Alguien sabe cual es el problema? Qué script crea esas carpetas y esos archivos? Cómo hacer para que se creen con los permisos correctos?
El error que me da al "guardar la configuración" del tema garland es:
* warning: copy(): SAFE MODE Restriction in effect. The script whose uid is 10258 is not allowed to access /var/www/vhosts/xxxxxxxxx.com/httpdocs/files/color/garland-8a901f87 owned by uid 48 in /var/www/vhosts/xxxxxxxxx.com/httpdocs/modules/color/color.module on line 252.
* warning: copy(files/color/garland-8a901f87/menu-collapsed.gif): failed to open stream: Success in /var/www/vhosts/xxxxxxxxx.com/httpdocs/modules/color/color.module on line 252.
* warning: copy(): SAFE MODE Restriction in effect. The script whose uid is 10258 is not allowed to access /var/www/vhosts/xxxxxxxxx.com/httpdocs/files/color/garland-8a901f87 owned by uid 48 in /var/www/vhosts/xxxxxxxxx.com/httpdocs/modules/color/color.module on line 252.
* warning: copy(files/color/garland-8a901f87/menu-expanded.gif): failed to open stream: Success in /var/www/vhosts/xxxxxxxxx.com/httpdocs/modules/color/color.module on line 252.
* warning: copy(): SAFE MODE Restriction in effect. The script whose uid is 10258 is not allowed to access /var/www/vhosts/xxxxxxxxx.com/httpdocs/files/color/garland-8a901f87 owned by uid 48 in /var/www/vhosts/xxxxxxxxx.com/httpdocs/modules/color/color.module on line 252.
* warning: copy(files/color/garland-8a901f87/menu-leaf.gif): failed to open stream: Success in /var/www/vhosts/xxxxxxxxx.com/httpdocs/modules/color/color.module on line 252.
* warning: fopen(): SAFE MODE Restriction in effect. The script whose uid is 10258 is not allowed to access /var/www/vhosts/xxxxxxxxx.com/httpdocs/files/color/garland-8a901f87 owned by uid 48 in /var/www/vhosts/xxxxxxxxx.com/httpdocs/modules/color/color.module on line 338.
* warning: fopen(files/color/garland-8a901f87/style.css): failed to open stream: Success in /var/www/vhosts/xxxxxxxxx.com/httpdocs/modules/color/color.module on line 338.
* warning: fwrite(): supplied argument is not a valid stream resource in /var/www/vhosts/xxxxxxxxx.com/httpdocs/modules/color/color.module on line 339.
* warning: fclose(): supplied argument is not a valid stream resource in /var/www/vhosts/xxxxxxxxx.com/httpdocs/modules/color/color.module on line 340.- Inicie sesión o regístrese para enviar comentarios







Solución intermedia
Llevo un rato examinado el código 'modules/color/color.module', y aunque no le he llegado a entender muy bien he encontrado una pequeña solución con umask.
En la función 'color_scheme_form_submit' (línea 176):
umask(0000); // <<-- cambio
foreach ($paths as $path) {
if (!is_dir($path)) {
mkdir($path);
}
}
...
// Save palette and stylesheet location
...
// Copy over neutral images
umask(0111); // <<-- cambio
foreach ($info['copy'] as $file) {
$base = basename($file);
copy($paths['source'] . $file, $paths['target'] . $base);
$paths['map'][$file] = $base;
$paths['files'][] = $paths['target'] . $base;
}
Bueno, con esto conseguimos que los archivos se creen con la mascara 0666 y el directorio con 0777. Así puedo borrar los archivos, pero no se por qué no puedo borrar la carpeta (me da permiso denegado aun teniendo todos los permisos), pero eso es otra historia.
Ahora sólo hay que saber si esto puede generar algún fallo de seguridad.
--------------------------------------------------
La táctica es saber lo que hay que hacer cuando hay algo que hacer; la estrategia consiste en saber lo que hay que hacer cuando no hay nada que hacer.
Savielly Tartakower (Maestro polaco)
Plantar un arbol, tener un hijo,... escribir un blog.
www.turolnet.com
Respecto al color, lo más
Respecto al color, lo más recomendable para modificar el theme es primero desactivar el modulo color y luego activarlo cuando acabes de moficiar los css
Ademas tienes que tener cuidado por que te crea unos css temporales dentro de la carpeta /files/css y/css creo recordad que hay que ir borrandolos, cuando modificas el theme.
Por lo de cambiar los permisos no te puedo ayudar, un mail al administrador de tu server tambien podria ayudar
Saludos!
A ver desactivando el módulo color que pasa
Si, para borrar esos archivos no tengo otra que contactar con el administrador.
Voy a probar lo que me dices, no lo había pensado.
Aún así me gustaría saber qué script se encarga de grabar estos archivos y cómo hacer para que los cree con los permisos correctos; ya que no tiene por qué instalarse Drupal en local, es un problema para las personas que utilicen este tema y se les vaya llenando de "basirulla" la carpeta files. Supongo que bastará con un umask, pero a ver si alguien sabe cuál es el script.
Un saludo y muchas gracias.
--------------------------------------------------
La táctica es saber lo que hay que hacer cuando hay algo que hacer; la estrategia consiste en saber lo que hay que hacer cuando no hay nada que hacer.
Savielly Tartakower (Maestro polaco)
Plantar un arbol, tener un hijo,... escribir un blog.
www.turolnet.com