Cómo cambiar permisos y propietario de archivos por línea de comandos

Cómo cambiar permisos y propietario de archivos por línea de comandos

Los archivos y carpetas con permisos o propietario incorrectos pueden ser vulnerables a accesos no autorizados, lo que podría comprometer la integridad de tus datos y la seguridad de tu sitio web. Además, estos problemas pueden causar errores de lectura, escritura o ejecución en tu sitio.

En este artículo aprenderás cómo corregir los permisos y el propietario de archivos y carpetas utilizando la línea de comandos. Ambos procesos suelen ir de la mano y es recomendable ejecutarlos juntos para garantizar el correcto funcionamiento de tu sitio web.

Antes de comenzar

  1. Asegúrate de tener acceso SSH a tu servidor con privilegios de root o administrador.
  2. Realiza una copia de seguridad de tus archivos antes de hacer cualquier modificación.
  3. Verifica qué permiso tiene actualmente tu directorio public_html; usualmente es 0750. Guárdalo porque lo necesitarás más adelante.
  4. Identifica el usuario y grupo correctos de la cuenta de cPanel. Generalmente ambos coinciden con el nombre de usuario de cPanel (por ejemplo, usuario:usuario).

Parte 1: Cambiar permisos (chmod)

Cambiar permisos de archivos a 0644

Ejecuta el siguiente comando para buscar todos los archivos dentro del directorio y sus subdirectorios y asignarles los permisos 0644:

find /home/usuario/public_html -type f -exec chmod 0644 {} \;

Cambiar permisos de carpetas a 0755

Ejecuta el siguiente comando para buscar todas las carpetas dentro del directorio y sus subdirectorios y asignarles los permisos 0755:

find /home/usuario/public_html -type d -exec chmod 0755 {} \;

Restaurar el permiso de public_html

Los pasos anteriores también modificaron el permiso del directorio public_html. Regrésalo a su valor original con el siguiente comando:

chmod 0750 /home/usuario/public_html

Parte 2: Corregir propietario (chown)

¿Por qué es importante el propietario?

Cuando un archivo o carpeta tiene un propietario incorrecto, el servidor puede impedir que la cuenta de cPanel acceda a ellos, provocando errores 403 (prohibido), fallos al subir archivos o problemas al ejecutar scripts de PHP y otras aplicaciones.

Cambiar el propietario de forma recursiva

Ejecuta el siguiente comando para asignar el usuario y grupo correcto a todos los archivos y carpetas dentro de public_html:

chown -R usuario:usuario /home/usuario/public_html

La opción -R indica que el cambio se aplicará de forma recursiva, es decir, a todos los archivos y subdirectorios dentro de la ruta especificada.

Verificar los cambios

Para confirmar que el propietario y los permisos se aplicaron correctamente, puedes ejecutar:

ls -la /home/usuario/public_html

Revisa que la columna de usuario y grupo muestre el nombre correcto, y que los permisos correspondan a los valores esperados.

Importante: Asegúrate de sustituir usuario por el nombre real de la cuenta de cPanel en todos los comandos.

Recomendaciones

  1. Ejecuta primero el cambio de permisos (chmod) y después el cambio de propietario (chown) para evitar conflictos.
  2. Si después de aplicar los cambios tu sitio presenta errores, verifica que el permiso del directorio public_html haya sido restaurado correctamente.
  3. En servidores con CloudLinux y CageFS, el grupo del usuario puede variar. Confirma el grupo correcto con el comando id usuario antes de ejecutar chown.
  4. Mantén siempre un respaldo actualizado antes de realizar cualquier modificación masiva en tu servidor.