Permisos de Archivos en Linux: chmod Explicado
En el mundo del hosting web, la seguridad y la funcionalidad de su sitio dependen en gran medida de una configuración correcta. Uno de los aspectos más críticos y a menudo subestimados son los permisos de archivos y directorios en sistemas Linux. Entender cómo funcionan y cuándo aplicar los permisos correctos es fundamental para proteger su sitio de vulnerabilidades y asegurar que todas sus aplicaciones web, como WordPress o Joomla, operen sin problemas. En esta guía, exploraremos los permisos más comunes —644, 755 y 777— y le explicaremos cuándo y por qué debe usar cada uno.
Entendiendo los Permisos de Archivos en Linux
Los permisos en Linux se basan en tres tipos de usuarios y tres tipos de acciones:
- Usuarios:
- Dueño (User/Owner): El usuario que creó el archivo o directorio.
- Grupo (Group): Un grupo de usuarios al que pertenece el archivo.
- Otros (Others/World): Cualquier otro usuario en el sistema que no sea el dueño ni pertenezca al grupo.
- Acciones (Permisos):
- Leer (r / Read): Permite ver el contenido de un archivo o listar el contenido de un directorio. Se representa con el número 4.
- Escribir (w / Write): Permite modificar o eliminar un archivo, o crear/eliminar archivos dentro de un directorio. Se representa con el número 2.
- Ejecutar (x / Execute): Permite ejecutar un archivo (como un script) o acceder a un directorio (entrar en él). Se representa con el número 1.
Estos permisos se combinan y se representan mediante un número octal de tres dígitos, donde cada dígito corresponde a los permisos del Dueño, Grupo y Otros, respectivamente. La suma de los valores numéricos (4+2+1) determina el permiso para cada categoría.
Permisos Comunes en Hosting Linux: Cuándo Usarlos
Permiso 644: El Estándar para Archivos
- Dueño: Leer y Escribir (4+2=6)
- Grupo: Leer (4)
- Otros: Leer (4)
Este es el permiso más común y recomendado para la mayoría de los archivos de su sitio web. Permite al propietario del archivo (su cuenta de hosting) leer y modificar el archivo. El grupo y otros usuarios solo tienen permiso para leerlo. Esto significa que su servidor web (que a menudo opera bajo un usuario diferente al suyo, pero con acceso al grupo o a 'otros') puede leer y servir el contenido de su archivo, pero ningún otro usuario o proceso no autorizado puede escribir en él.
Cuándo usar 644:
- Archivos HTML, CSS, JavaScript.
- Imágenes (JPG, PNG, GIF).
- Archivos de texto plano (.txt).
- Archivos de configuración que no necesitan ser escritos por el servidor web (por ejemplo,
wp-config.phpen WordPress, aunque algunos recomiendan 444 o 400 para máxima seguridad una vez configurado).
Permiso 755: El Estándar para Carpetas y Scripts Ejecutables
- Dueño: Leer, Escribir y Ejecutar (4+2+1=7)
- Grupo: Leer y Ejecutar (4+1=5)
- Otros: Leer y Ejecutar (4+1=5)
El permiso 755 es el recomendado para todos los directorios (carpetas) y para cualquier script que necesite ser ejecutado por el servidor web (como scripts PHP, CGI o ejecutables de shell). Permite al propietario leer, escribir y acceder a la carpeta o ejecutar el script. El grupo y otros usuarios pueden leer el contenido de la carpeta (listar archivos) y acceder a ella (entrar), o ejecutar el script, pero no pueden modificar su contenido.
Cuándo usar 755:
- Todos los directorios de su sitio web (por ejemplo,
public_html,wp-content,includes). - Archivos PHP que actúan como scripts ejecutables (la mayoría de los archivos .php en WordPress, Joomla, etc.).
- Scripts CGI o ejecutables personalizados.
Permiso 777: ¡Peligro Extremo!
- Dueño: Leer, Escribir y Ejecutar (4+2+1=7)
- Grupo: Leer, Escribir y Ejecutar (4+2+1=7)
- Otros: Leer, Escribir y Ejecutar (4+2+1=7)
Cuándo usar 777:
Prácticamente nunca en un entorno de hosting web. En casos muy, muy específicos y temporales, un script podría requerir permisos de escritura para una carpeta de caché o de subida de archivos (por ejemplo, para guardar imágenes subidas por los usuarios). Sin embargo, incluso en estos casos, es preferible buscar alternativas más seguras como:
- Usar 755 y asegurarse de que el usuario del servidor web (por ejemplo,
www-dataonobody) tenga la propiedad del directorio. - Usar ACLs (Listas de Control de Acceso) si su servidor lo soporta, para dar permisos más granulares sin abrir la puerta a "otros".
- Si es absolutamente necesario un permiso de escritura para "otros" en una carpeta específica para un proceso, considere usar 775 (si el grupo del servidor web es el correcto) o incluso 705/707 para archivos, pero nunca 777 de forma permanente.
Siempre que sea posible, establezca los permisos más restrictivos que permitan el correcto funcionamiento de su sitio. Si una aplicación le pide 777, investigue a fondo por qué y busque una solución más segura.
Cómo Cambiar los Permisos de Archivos y Directorios
Puede cambiar los permisos de sus archivos y directorios de varias maneras:
A Través de cPanel (Gestor de Archivos)
La forma más sencilla para la mayoría de los usuarios de PlatiniumHost es usar el Gestor de Archivos de cPanel:
- Acceda a su cPanel.
- Vaya a "Archivos" > "Gestor de Archivos".
- Navegue hasta el archivo o directorio que desea modificar.
- Haga clic derecho sobre el archivo/directorio o selecciónelo y haga clic en "Permisos" en la barra superior.
- Introduzca el valor numérico deseado (por ejemplo, 644 o 755) o marque las casillas correspondientes.
- Haga clic en "Change Permissions" (Cambiar Permisos).
A Través de SSH (Línea de Comandos)
Si tiene acceso SSH a su cuenta de hosting, puede usar el comando chmod:
- Para un archivo:
chmod 644 nombre_del_archivo.html
- Para un directorio:
chmod 755 nombre_del_directorio
- Para aplicar permisos recursivamente (a una carpeta y todo su contenido):
chmod -R 755 nombre_del_directorio
Tenga cuidado al usar
-R, ya que aplicará el mismo permiso a todos los archivos y subdirectorios. A menudo, necesitará aplicar 755 a directorios y 644 a archivos después de una operación recursiva. Esto se puede lograr con comandos más avanzados o scripts.
Conclusión
La correcta gestión de los permisos de archivos y directorios es una piedra angular de la seguridad en el hosting web. Al entender y aplicar los permisos 644 y 755 de manera consistente, protegerá su sitio web de amenazas comunes y asegurará su correcto funcionamiento. Recuerde siempre evitar el permiso 777 a menos que sea una situación extremadamente justificada y temporal, siempre priorizando la seguridad.
Si tiene dudas sobre qué permisos aplicar en su sitio alojado en PlatiniumHost, no dude en contactar a nuestro equipo de soporte técnico. Estamos aquí para ayudarle a mantener su sitio seguro y funcionando óptimamente.