Foros del Web » Programando para Internet » PHP »

Acceso a ficheros fuera del directorio raíz

Estas en el tema de Acceso a ficheros fuera del directorio raíz en el foro de PHP en Foros del Web. Hola, me gustaría saber como sería posible acceder a ficheros fuera del directorio raíz o público del mismo usuario desde un script php de la ...
  #1 (permalink)  
Antiguo 25/10/2006, 01:58
 
Fecha de Ingreso: septiembre-2003
Mensajes: 26
Antigüedad: 20 años, 7 meses
Puntos: 0
Acceso a ficheros fuera del directorio raíz

Hola, me gustaría saber como sería posible acceder a ficheros fuera del directorio raíz o público del mismo usuario desde un script php de la siguiente forma:

Uso linux, apache y php 4.3.11 (el apache lo arranca otro usuario, no el propietario de los ficheros)

Os cuento lo que hago:

La idea es que se encuentran en un directorio no público
/home/ficheros

la aplicación se en encuentra en
/var/www que sí es publico

y el script php se encuentra en el
/var/www/php/acceso.php

He creado un grupo común el cual tienen asignados ambos usuarios y es el grupo del directorio con los archivos a los que intento acceder.
El directorio tiene permisos 770, luego pueden acceder el propietario y los que pertenezcan al grupo.

E intento acceder a los ficheros fuera del raíz con:

@readfile('/home/ficheros/fichero.doc)

La cuestión es que con permisos 770 para los directorios y ficheros fuera del raíz, desde la consola, soy capaz de leer los ficheros con el usuario de apache.

Desde el navegador, me dice que no puede siquiera acceder al directorio:

$ddir='/home/ficheros/';
f (chdir($ddir)) {
if ($gd = opendir($ddir)) {
.....................
closedir($gd);
}
}


Warning: chdir(): Permission denied (errno 13) in /var/www/php/acceso.php

Con permisos 774 si me permite el acceso tanto desde consola como desde php, y funciona todo correctamente, pero claro así cualquiera tiene acceso a los ficheros y es lo que intento evitar.


Otra pregunta es, ¿como no puede leer el fichero si ambos usuarios pertenecen al mismo grupo y tiene permisos de acceso?
Actualización: Respuesta, porque el grupo del usuario que arranca el apache es distinto y aunque tengan un grupo común, no funciona al no ser específicamente el grupo del usr del apache.

Salu2


PD: vaya tela, a ver si alguien es capaz de leerlo entero

Última edición por biooib; 25/10/2006 a las 04:37
  #2 (permalink)  
Antiguo 25/10/2006, 04:34
 
Fecha de Ingreso: septiembre-2003
Mensajes: 26
Antigüedad: 20 años, 7 meses
Puntos: 0
Solución por si a alguien le interesa.

El usuario propietario de los ficheros y el usuario que arranca el apache deben tener mismo grupo o grupo común , además hay que reiniciar el apache si el grupo fue creado antes, ya que si no, no funciona.

Última edición por biooib; 31/10/2006 a las 12:30
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:33.