Comandos de Linux: chmod

Una guía rápida parachmodcomando, usado para cambiar el modo de archivo

Cada archivo en los sistemas operativos Linux / macOS (y los sistemas UNIX en general) tiene 3 permisos: leer, escribir, ejecutar.

Vaya a una carpeta y ejecute ells -almando.

Las cadenas extrañas que ves en cada línea de archivo, comodrwxr-xr-x, defina los permisos del archivo o carpeta.

Vamos a diseccionarlo.

La primera letra indica el tipo de archivo:

  • -significa que es un archivo normal
  • dsignifica que es un directorio
  • lsignifica que es un enlace

Entonces tienes 3 conjuntos de valores:

  • El primer conjunto representa los permisos deldueñodel archivo
  • El segundo conjunto representa los permisos de los miembros delgrupoel archivo está asociado a
  • El tercer conjunto representa los permisos deltodos los demás

Estos conjuntos están compuestos por 3 valores.rwxsignifica que específicopersonatiene acceso de lectura, escritura y ejecución. Todo lo que se elimina se intercambia con un-, que le permite formar varias combinaciones de valores y permisos relativos:rw-,r--,r-x, etcétera.

Puede cambiar los permisos otorgados a un archivo usando elchmodmando.

chmodse puede utilizar de 2 formas. El primero usa argumentos simbólicos, el segundo usa argumentos numéricos. Comencemos con los símbolos primero, que es más intuitivo.

Tu escribeschmodseguido de un espacio y una letra:

  • arepresentatodos
  • urepresentausuario
  • grepresentagrupo
  • orepresentaotros

Luego escribe+o-para agregar un permiso o para eliminarlo. Luego ingresa uno o más símbolos de permisos (r,w,x).

Todo seguido del nombre del archivo o carpeta.

Aquí hay unos ejemplos:

chmod a+r filename #everyone can now read
chmod a+rw filename #everyone can now read and write
chmod o-rwx filename #others (not the owner, not in the same group of the file) cannot read, write or execute the file

Puede aplicar los mismos permisos a varias personas agregando varias letras antes de la+/-:

chmod og-r filename #other and group can't read any more

En caso de que esté editando una carpeta, puede aplicar los permisos a cada archivo contenido en esa carpeta usando el-rbandera (recursiva).

Los argumentos numéricos son más rápidos, pero me cuesta recordarlos cuando no los usas a diario. Utiliza un dígito que representa los permisos de la persona. Este valor numérico puede ser un máximo de 7 y se calcula de esta manera:

  • 1si tiene permiso de ejecución
  • 2si tiene permiso de escritura
  • 4si tiene permiso de lectura

Esto nos da 4 combinaciones:

  • 0no permisos
  • 1puede ejecutar
  • 2puede escribir
  • 3puede escribir, ejecutar
  • 4puedo leer
  • 5puede leer, ejecutar
  • 6puede leer, escribir
  • 7puede leer, escribir y ejecutar

Los usamos en pares de 3, para establecer los permisos de los 3 grupos en total:

chmod 777 filename
chmod 755 filename
chmod 644 filename

loschmodEl comando funciona en Linux, macOS, WSL y en cualquier lugar donde tenga un entorno UNIX

Descarga mi gratisManual de comandos de Linux


Más tutoriales de cli: