Tutorial | Cómo usar chmod

Buenos días, programadores!

Hoy vengo a enseñarles a usar el comando chmod, el cual permite cambiar los permisos para leer, escribir y ejecutar un archivo o directorio. En este tutorial les mostraré las diferentes formas en que se utiliza este comando, así como también el significado de los números, que como veremos en realidad son bits, tales como 755 y qué efectos tienen estos números sobre los permisos de acceso del archivo o directorio en cuestión. Sin más atrasos, a lo que vinimos!

Sintaxis

Primero que nada, la sintaxis de este comando es la siguiente:

chmod [opciones] permisos archivo/directorio

Por ejemplo:

chmod -R 755 myscripts/
chmod a+x script.sh

Opciones

Las opciones son un argumento opcional, por eso tienen la notación [opciones]. Las principales son:

  • -R: aplica los cambios en los archivos y directorios de manera recursiva
  • -v: lista información del comando aplicado a los archivos y directorios seleccionados
  • -c: similar a -v pero solo muestra información de aquellos archivos o directorios que son modificados
  • -f: oculta los mensajes de error
  • –preserve-root evita que el comando actúe recursivamente sobre el directorio raíz /

En general las opciones de chmod son bastante básicas y la que comúnmente utilizaremos será -R.

Permisos – Modo texto

Tipos de permisos

Permisos de acceso independientes, también conocidos como permisos básicos.

  • r – lectura
  • w – escritura
  • x – ejecución

Clases de usuarios

Conjunto de usuarios a los que serán asignados los permisos.

  • u – el usuario dueño del archivo
  • g – el grupo dueño del archivo
  • o – los demás, es decir, aquellos que no pertenecen a las clases anteriores
  • a – todos los anteriores, equivalente a ugo

Operadores

Determinan el tipo de cambio o ajuste que se aplicará a los permisos.

  • + añade los permisos
  • remueve los permisos
  • = estable permisos exactos

Ejemplos

chmod -x script.sh
chmod a-x script.sh

Ambos comandos remueven los permisos de ejecución para todos los usuarios. En caso de no especificarse una clase de usuario como en el primer ejemplo, se asume a por defecto.

chmod gu+x script.sh

Este comando otorga permisos de ejecución al grupo y al usuario, únicamente.

chmod u=rw script.sh

Este comando otorga permisos de lectura y escritura al usuario. Si el usuario contaba anteriormente con permisos de ejecución, éste será revocado por el comando.

chmod g=u script.sh

Este comando copia los permisos del usuario al grupo. El comando puede leerse de la siguiente forma: los permisos del grupo son iguales a los permisos del usuario.

Permisos – Modo numérico

El comando chmod también permite establecer permisos mediante números. Con esta estructura, es posible editar los permisos del usuario, del grupo y los demás al mismo tiempo.

En el modo numérico cada número representa una combinación de permisos en particular. Dependendiendo de la posición del número, dicha combinación será aplicada a una clase de usuario u otra. El número más a la derecha representa los permisos de los demás, el número del centro representa los permisos del grupo, mientras que el número de la izquierda representa los permisos del usuario. Esto puede comprenderse mejor si observamos la siguiente imagen.

En la siguiente tabla se muestran los permisos equivalentes a cada número disponible en el modo numérico:

Permisos Texto Binario Número
ninguno 000 0
ejecución –x 001 1
escritura -w- 010 2
escritura y ejecución -wx 011 3
lectura r– 100 4
lectura y ejecución r-x 101 5
lectura y escritura rw- 110 6
lectura, escritura y ejecución rwx 111 7

El modo numérico funciona de la siguiente forma: si sólo especificamos un número, éste hará referencia a los demás, si especificamos dos números, estaremos estableciendo los permisos de los demás y del grupo y si especificamos tres números, estaremos estableciendo los permisos de los demás, del grupo y del usuario.

Ejemplos

chmod 755 script.sh

Este comando otorga permisos de lectura, escritura y ejecución al usuario. Y permisos de lectura y ejecución al grupo y los demás.

chmod 644 file.txt

Este comando otorga permisos de lectura y escritura al usuario. Y permisos de lectura al grupo y los demás.

chmod 3 script.sh

Este comando otorga permisos de escritura y ejecución únicamente a los demás.

Bueno mis developers, con esto llegamos al final del tutorial de chmod que a mi parecer es sumamente importante pues abarca la mayor parte del tema de permisos de archivos el cual es uno de los pilares del sistema operativo Linux.

Leave a Reply

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *