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
![sonrisota](http://static.forosdelweb.com/fdwtheme/images/smilies/xD.png)