Preguntas frecuentes:
Cómo cambiar permisos de archivos y directorios en Linux
Publicado por Rosalia Garcia, Last modified by José D. Domenech en 04 September 2015 13:37

En algunas ocasiones, y especialmente cuando trabajamos con gestores de contenido como WordPress, Joomla, Prestashop, Magento, etc…, tendremos que cambiar los permisos de directorios y archivos y nos pueden surgir algunas dificultades. Aquí te explicamos como solucionarlas.

De forma general podemos gestionar los permisos de archivos y directorios a través de un cliente de FTP o desde el Administrador de archivos del panel de control Plesk de nuestro alojamiento, ahora bien, cuando el propietario de los archivos sea el usuario “apache” no podremos hacerlo a no ser que tenga permisos de escritura para el grupo “otros”. En ese caso tenemos dos formas de cambiar los permisos: a través de funciones de PHP (chmod( ) o umask( )), o cambiando el modo de ejecución de PHP.

Cambio de modo de ejecución de PHP

Cuando trabajamos con PHP cómo CGI o FastCGI bajo paneles de control Plesk, todo directorio o archivo creado por la aplicación web tiene como dueño de éste el usuario de acceso FTP. Por lo tanto con esta opción el usuario FTP tendrá directamente acceso de escritura en todos los directorios y archivos que la aplicación web cree a partir del momento del cambio. No podremos cambiar los permisos de los directorios y archivos creados antes del cambio.

El modo de funcionamiento de PHP se puede configurar desde la “configuración de hosting” de tu web.

chmod( ) y umask( )

En el caso de las aplicaciones web, éstas son las responsables de establecer los permisos adecuados en directorios y archivos para su correcto funcionamiento. Para ello, en PHP suelen hacer uso de funciones como chmod( ) o umask( ).

En el caso de trabajar con PHP como módulo de apache, todo directorio o archivo creado por la aplicación web tendrá como dueño de éste el usuario ‘apache’. Por lo tanto para poder modificar por FTP los archivos y directorios, éstos deberían tener permisos de escritura para todo el mundo.  Podrá modificar los permisos de directorios y archivos ya creados por la aplicación creando un script y usando la función chmod( ). Con la función umask( ) podrá definir la máscara por defecto para los permisos de archivos y directorios que se generen en el futuro. Si lo prefiere puede hacer uso de nuestro script Cambia permisos.

En resumen, es más cómodo trabajar con PHP como CGI o FastCGI pero puede tener un impacto negativo en la seguridad de la aplicación, además de que cualquier directiva de PHP indicada en archivo .htaccess no funcionará.

(0 votos)
Útil
No útil

Comentarios (0)