Entiendo que magento dice tener / var y / media en 700 para carpetas y 600 para archivos, pero cuando hago esto, rompe ciertas partes de mi sitio. Tengo curiosidad por ver qué permisos usa la mayoría de las personas para estas carpetas.
Entiendo que magento dice tener / var y / media en 700 para carpetas y 600 para archivos, pero cuando hago esto, rompe ciertas partes de mi sitio. Tengo curiosidad por ver qué permisos usa la mayoría de las personas para estas carpetas.
Respuestas:
No he visto muchas menciones sobre el uso de 700 y 600, pero generalmente es un buen consejo. Lamentablemente, la configuración de cada servidor es diferente y debe sopesarse según la conveniencia (acceso del usuario para actualizar / editar archivos).
El enfoque subyacente debe ser regalar lo menos posible y bloquearlo todo lo que pueda (700/600 es bueno para esto). En ese sentido, el consejo "oficial" en el wiki quiere aplicarse a la mayor cantidad de circunstancias posible y sugiere permisos de lectura para todos (lo que significa que cualquier otro servicio comprometido en el servidor podrá, por ejemplo, leer la aplicación / etc / local. xml con su configuración de db).
En su caso, actualmente parece que los archivos son propiedad de un usuario diferente al que ejecuta su proceso de servidor web / php. Cambiar la propiedad de los archivos al servidor web debería resolver su problema original.
Tenga en cuenta que usar 700/600 y asignar los archivos al servidor web significa que su usuario normal no podrá editar los archivos.
Creo que lo siguiente es un buen compromiso para la conveniencia frente al bloqueo. Todos los archivos son propiedad del usuario: webservergroup
var y media 770/660
El servidor y su usuario pueden leer y escribir desde las carpetas var y media (sesión / caché / imágenes).
el resto 750/640
Su usuario puede editar / actualizar el código.
El servidor web puede leer los archivos para su ejecución / visualización.
En general, todos los archivos deberían ser 644
y todas las carpetas deberían ser 755
y deberían ser propiedad del usuario con el que se ejecuta su servidor web . El mage
ejecutable debe tener 550
permisos para permitir la ejecución.
Este script de shell debería arreglar las cosas si se ejecuta desde la raíz de Mage:
#!/bin/sh
find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chmod 550 mage
Fuente: http://www.magentocommerce.com/wiki/groups/227/resetting_file_permissions
Si bien la solución de Phil es buena, uso un enfoque un poco diferente. Además de hacer que el "usuario del servidor web / php" sea el propietario de los archivos, creo un grupo adicional. Por lo general, se llama dev . Y agrego "usuario php" y yo y otros desarrolladores para ese grupo dev . Entonces hago chgrp de manera que todos los archivos de Magento subárbol proyecto tienen grupo dev . Agrego bit + s a las carpetas que garantiza que las subcarpetas recién creadas obtengan los mismos permisos.
He creado una esencia pública con mi script fix_permissions.sh. Siéntase libre de usarlo :) Le ayuda a mantener todo el subárbol del proyecto Magento con buenos permisos.
https://gist.github.com/svenvarkel/8062778#file-fix_permissions-sh
La pregunta original: var y media deben tener tales permisos que el "usuario php" pueda leer y escribir en estas carpetas. Debe poder escribir caché, archivos de sesión, etc. en var y debe poder escribir caché de imagen del producto e imágenes en medios. Haga lo que Phil recomienda: chown o chgrp these a "php user" y otorgue permisos rw a "php user".
Creo que es más correcto referirse a "usuario php" en el contexto de FPM (CGI). El usuario del servidor web puede ser diferente de aquel que ejecuta PHP.
/ var : uso de magento para escribir datos de caché, sesión, etc.
/ media : uso de magento para cargar la imagen del producto, la imagen de categoría (cualquier tipo de imagen).
Entonces, estas dos carpetas deberían tener que usar el permiso de lectura + escritura. Otro archivo que debe usar leer + permiso de ejecución.
El permiso de archivo es 644. Ejecute el siguiente código en el directorio raíz usando ssh. encontrar .
-type f -exec chmod 644 {} \;
El permiso de carpeta es 755. Ejecute el siguiente código en el directorio raíz usando ssh. encontrar .
-type d -exec chmod 755 {} \;
El permiso de la carpeta Var es 777. Ejecute el siguiente código en el directorio raíz usando ssh.
chmod -R 777 var
El permiso de carpeta estática es 777. Ejecute el siguiente código en el directorio raíz usando ssh.
chmod -R 777 pub/static
El permiso de la carpeta de medios es 777. Ejecute el siguiente código en el directorio raíz usando ssh.
chmod -R 777 pub/media
Desde aquí: http://devdocs.magento.com/guides/m1x/install/installer-privileges_after.html
find . -type f -exec chmod 400 {} \;
find . -type d -exec chmod 500 {} \;
find var/ -type f -exec chmod 600 {} \;
find media/ -type f -exec chmod 600 {} \;
find var/ -type d -exec chmod 700 {} \;
find media/ -type d -exec chmod 700 {} \;
chmod 700 includes
chmod 600 includes/config.php