Tutoriales

chmod 644 / 777: ¿Debo usarlo? Te explico como usar chmod correctamente

En el mundo de Linux, los permisos de archivo son cruciales para garantizar la seguridad y el acceso adecuado a los datos del sistema, tanto a los archivos personales de cada usuario como también a los archivos que componen el sistema operativo o el software instalado. Entre los comandos más utilizados para gestionar estos permisos se encuentran chmod 644 y chmod 777. Estos permisos pueden ser positivos en algunos casos, pero también muy inseguros en otros, como aquí te explicamos…

Modos o permisos de archivos en Linux

Los permisos de archivos en Linux son un sistema fundamental para la seguridad y organización de directorios y ficheros, o carpetas y archivos, como lo quieras llamar. Estos permisos controlan quién puede leer, escribir o ejecutar, protegiendo así la integridad del sistema y la información confidencial.

Antes de nada, es importante conocer bien qué son estos modos o permisos. Y saber que se representan mediante una cadena de caracteres, compuesta por tres grupos de tres caracteres cada uno:

  • Primer grupo (propietario): indica los permisos de lectura, escritura y ejecución para el propietario del archivo o directorio. Si un archivo pertenece a «pepito» y tiene permisos rwx, el usuario «pepito» podrá leer el contenido, escribir en él, o ejecutarlo si es un binario. En cambio, otros usuarios podrían tener estos permisos algo limitados, para ello hay que fijarse en los siguientes grupos…
  • Segundo grupo (grupo): son los permisos de lectura, escritura y ejecución para el grupo al que pertenece el archivo o directorio. Todos los usuarios pertenecientes a un grupo X, pueden tener los permisos marcados en este grupo.
  • Tercer grupo (otros): son los permisos permitidos para el resto de usuarios, es decir, para todos los usuarios que no sean el propietario ni pertenezcan al grupo del archivo o directorio.

Cada uno de los tres grupos de permisos se representa mediante un símbolo:

  • r: Permiso de lectura (permite leer el contenido del archivo o directorio).
  • w: Permiso de escritura (permite modificar el contenido del archivo o directorio).
  • x: Permiso de ejecución (permite ejecutar el archivo si es ejecutable o acceder al contenido de un directorio).

Los permisos de archivos también se pueden representar mediante un número en modo octal, donde cada dígito representa un grupo de permisos. La conversión entre la representación de caracteres y la octal se realiza de la siguiente manera:

  • Propietario: los dígitos 4, 2 y 1 corresponden a los permisos r, w y x, respectivamente. Sumando estos valores se obtiene el valor octal para el propietario. Por ejemplo, si el propietario tiene todos los permisos será 7 (4+2+1), y si solo tiene permiso de lectura y escritura será 6 (4+2), etc.
  • Grupo: los mismos dígitos 4, 2 y 1 corresponden a los permisos r, w y x, respectivamente, pero afectando en este caso al grupo.
  • Otros: en este caso tenemos lo mismo, pero para el resto de usuarios que ni son el propietario ni pertenecen al grupo…

Para verlo más claro, te muestro algunos ejemplos:

  • Permiso 756 (rwxr-xr-x): el propietario tiene permisos de lectura, escritura y ejecución (7). El grupo tiene permisos de lectura y ejecución (5). Otros usuarios solo tienen permiso de lectura y escritura (6). Por ejemplo:
  • Permiso 644 (rw-r–r–): el propietario tiene permisos de lectura y escritura (6). El grupo y otros usuarios solo tienen permiso de lectura (4).
  • Permiso 777 (rwxrwxrwx): todos los usuarios (propietario, grupo y otros) tienen permisos de lectura, escritura y ejecución (7).

Como debes saber, los comandos para modificar estos permisos son tres, y debes conocerlos:

  • chmod: proviene de change-mods, y permite cambiar los permisos de archivos y directorios. Por ejemplo:
chmod 644 /ejemplo

chmod 700 /propiedad      o       chmod u=rwx /propiedad

chmod +r /home/detalle
  • chown: es la contracción de change-owner, y permite cambiar el propietario y el grupo de un archivo o directorio. Por ejemplo:
chown diego /home/diego
  • chgrp: el nombre deriva de change-group, y permite cambiar el grupo de un archivo o directorio. Ejemplo:
chgrp root /etc
  • ls -l: con list, puedes listar los permisos de los archivos y carpetas de la posición donde te encuentras. Aparecen en la primera columna a la izquierda. También podrás ver el propietario, grupo y otros detalles…
ls -l

Para más información sobre estos comandos, usa el manual con el comando man seguido del comando que quieras. Por ejemplo, «man chmod» sin comillas…

También te puede interesar conocer algunos de los mejores ordenadores Linux

¿Cuándo es seguro usar los valores 644 y 777 con chmod?

Ahora bien, una vez que ya sabes qué son estos modos o permisos de archivos, nos centraremos en los valores 644 y 777 usados con el comando chmod, es decir, para cambiar los permisos de un archivo o carpeta.

Permisos 644

Si ponemos un archivo o directorio con estos permisos, los riesgos que se corren son:

  • Lectura no deseada: cualquier usuario con acceso al sistema puede leer el contenido de los archivos, lo que puede exponer información confidencial o sensible.
  • Modificación no autorizada: si un usuario malintencionado obtiene acceso de escritura, podría modificar o corromper el contenido de los archivos, causando daños al sistema o pérdida de datos.

Directorios que pueden tener estos permisos son /etc (archivos de configuración), /home (carpeta de usuario), /boot (carpeta de arranque del sistema), y /usr/local (software instalado por el usuario), ya que de tener otros permisos, se podrían exponer datos importantes como los usuarios, contraseñas cifradas, archivos personales, configuraciones del sistema y de seguridad, capacidad para alterar el arranque, etc. En este tipo de directorios suele usarse el permiso 755, donde el propietario que es root puede hacer todo, pero el resto de usuarios solo pueden leer y ejecutar.

Permisos 777

Por otro lado, si hablamos del octal 777, estamos tratando un valor mucho más delicado, ya que implica darle a cualquier usuario todos los permisos. Esto es un riesgo extremo al hacer que cualquiera pueda leer, modificar o ejecutar, con un grave riesgo para la integridad del sistema, la seguridad, y que podría comprometer los datos.

Directorios a evitar que tengan estos permisos deben ser todos los anteriores citados, es decir, /etc, /home, /boot, /usr/local, pero también otros como /var (datos variables), /dev (dispositivos del sistema), y también /tmp (directorio temporal). Mientras que por defecto no lo suelen tener, en el caso de /tmp no es así, y por defecto suele venir como 777.

Deja tus comentarios con las dudas que tengas, serán bienvenidas…

Isaac

Geek de los sistemas electrónicos, especialmente del hardware informático. Con alma de escritor y pasión por compartir todo el conocimiento sobre tecnología.
Los datos de carácter personal que nos facilite mediante este formulario quedarán registrados en un fichero de Miguel Ángel Navas Carrera, con la finalidad de gestionar los comentarios que realizas en este blog. La legitimación se realiza a través del consentimiento del interesado. Si no se acepta no podrás comentar en este blog. Puedes consultar Política de privacidad. Puede ejercitar los derechos de acceso, rectificación, cancelación y oposición en info@profesionalreview.com
Botón volver arriba