ACTUALIZACIÓN2
Si lo hago ls
dentro del directorio montado, el script php funciona al menos una vez. Extraño, no lo es.
Quiero acceder a un directorio desde mi script php que está montado desde
servidor datadev (Linux datadev 2.6.22.18-0.2-default # 1 SMP 2008-06-09 13:53:20 +0200 x86_64 x86_64 x86_64 GNU / Linux)
en wwwdev (Linux wwwdev 2.6.22.19-0.1-default # 1 SMP 2008-10-14 22:17:43 +0200 x86_64 x86_64 x86_64 GNU / Linux)
a través de nfs
/ etc / imports es como (probé algunas cosas que no me funcionaron)
- / var / lib / firebird / data 10.0.0.20 (rw, no_root_squash)
/ var / lib / firebird / data 10.0.0.20 (rw, setuid, no_root_squash)
/ var / lib / firebird / data -mapall = wwwrun: rueda 10.0.0.20 (rw)
/ var / lib / firebird / data 10.0.0.20 (rw, all_squash, anonuid = 30, anongid = 100)
/ etc / fstab es como
- 10.0.0.21:/var/lib/firebird/data / var / lib / firebird / data nfs por defecto 0 0
Puedo acceder al directorio desde el shell pero php me da un error Permission denied (errno 13)
si hago chdir ('/ var / lib / firebird / data');
[root][wwwdev /var/lib/firebird/data] ls -la
total 44G
-rw-rw---- 1 firebird firebird 64M Jun 10 15:43 ?
-rw-rw---- 1 firebird firebird 307M Jun 15 10:27 ?OQben.gdb
drwxr-xr-x 2 firebird firebird 16K Jul 21 16:55 ./
drwxr-xr-x 3 firebird wheel 4.0K Jul 21 11:36 ../
-
[root][datadev /var/lib/firebird/data] ls -la
total 44G
-rw-rw---- 1 firebird firebird 64M Jun 10 15:43 ?
-rw-rw---- 1 firebird firebird 307M Jun 15 10:27 ?OQben.gdb
drwxr-xr-x 2 firebird firebird 16K Jul 21 16:55 ./
drwxr-x--- 4 firebird firebird 4.0K May 7 12:19 ../
mi script php puede editar el archivo config.ini
root][wwwdev /var/lib/edumate/imacs/radek/3.0] ls -la
total 128K
drwxr-xr-x 19 wwwrun wheel 4.0K Jul 21 16:27 ./
drwxr-xr-x 6 wwwrun wheel 4.0K Jul 19 14:28 ../
-rw-r--r-- 1 wwwrun wheel 1.8K Jul 21 15:08 config.ini
ACTUALIZAR
Quiero algo que ya me esté funcionando. He montado el directorio de mi mac en el mismo servidor wwwdev. wwwdev es un cliente nfs en ambos casos. / etc / exports en mac tiene esta línea en/Users/radek/Sites -mapall=root:wheel -network 10.0.0.0 -mask 255.255.255.0
firebird
usuario y los miembros delfirebird
grupo, nadie más. A menos quewwwrun
sea miembro de ese grupo o se actualicen los permisos, ese usuario no debe tener acceso a esos archivos. lasls /var/lib/firebird/data
obras porque "Otros" ha leído y permisos de ejecución a ese directorio, por lo que puede mostrar el contenido./var/lib/firebird/data
. Puedo en un directorio montado que viene de mi mac.Para cambiar los permisos de la unidad montada, asegúrese de que el usuario de Apache tenga permiso de acceso en el archivo fstab.
La cuenta de usuario de Apache se especifica en el archivo de configuración de Apache (httpd.conf), y puede ser algo así como "www-data" (dependiendo de la configuración).
Vea este artículo: Cómo editar y comprender / etc / fstab
EDITAR1
Si no hay ningún problema con fstab, la siguiente parada es con SELinux.
De la documentación de la Política nfs Selinux :
Para estar absolutamente seguro de que SELinux no interfiere, consulte Cómo deshabilitar SELinux .
EDIT2
El siguiente y último paso que puedo encontrar es verificar si ha exportado correctamente los recursos compartidos desde el servidor NFS. Aquí hay algunas referencias que pueden señalar el camino:
Error de "Permiso denegado" de montaje
NFS Compartir recursos NFS
fuente
Normalmente, Apache se está ejecutando es un usuario diferente (fe
www
). Estás accediendo a los directorios a través deroot
... y, por supuesto, puedes hacerlo.Cambie los permisos en la carpeta montada para reflejar que el usuario Apache puede ingresarlos.
fuente
nuestro administrador de sistemas me solucionó el problema. El dice que el
fuente