Tutorial

Comando chmod: ¿Qué es? y ¿Cómo usarlo?

El comando chmod se usa para cambiar los permisos de archivos o directorios. En Linux y otros sistemas operativos como Unix, hay un conjunto de reglas para cada archivo que define quién puede acceder a ese archivo, y cómo se puede acceder a él. Estas reglas se llaman permisos de archivo o modos de archivo . El nombre de comando chmod significa «modo de cambio» y se usa para definir la forma en que se puede acceder a un archivo.

Comando chmod Que es y Como usarlo

Sintaxis del comando chmod

En general, los comandos chmod toman la forma:

[code] chmod opciones permisos "nombre del archivo" [/code]

Si no se especifican opciones, chmod modifica los permisos del archivo especificado en «nombre de archivo» por los permisos especificados en «permisos».

Permisos define los privilegios para el propietario del archivo (el «usuario»), los miembros del grupo que posee el archivo (el «grupo») y cualquier otra persona («otros»). Hay dos formas de representar estos permisos: con símbolos ( caracteres alfanuméricos ) o con números octales (los dígitos del 0 al 7 ).

Digamos que yo soy es el propietario de un archivo llamado «mi-archivo.txt» y quiero establecer los permisos de la siguiente forma:

  1. El usuario puede leer, escribir y ejecutar el archivo.
  2. Los miembros del grupo pueden leer y ejecutar el archivo.
  3. Otros usuarios solo pueden leer el archivo.

El comando que tendríamos que usar seria:

[code] chmod u = rwx, g = rx, o = r mi-archivo.txt [/code]

Este ejemplo usa notación de permisos simbólicos. Las letras u , g y o representan «usuario», «grupo» y «otro». El signo igual (» = «) significa «establecer los permisos exactamente así» y las letras «r», «w» y «x» significan «leer», «escribir» y «ejecutar», respectivamente. Las comas separan las diferentes clases de permisos, y no hay espacios entre ellos.

La representación de este mismo comando chmod pero en notación de octales seria:

[code] chmod 754 mi-archivo.txt [/code]

Aquí los dígitos 7 , 5 y 4 representan individualmente los permisos para el usuario, grupo y otros, en ese orden. Cada dígito es una combinación de los números 4 , 2 , 1 y 0 :

  • 4 significa «leer»,
  • 2 significa «escribir»,
  • 1 significa «ejecutar», y
  • 0 significa «sin permiso».

Entonces 7 es la combinación de permisos 4 + 2 + 1 (leer, escribir y ejecutar), 5 es 4 + 0 + 1 (leer, no escribir y ejecutar), y 4 es 4 + 0 + 0 (leer, no escribir y no ejecutar).

 

Puede interesarte leer: Cómo se estructura el sistema de archivos en Linux

 

Opciones del comando chmod

-c, –changes: Como –verbose, pero da salida detallada solo cuando se realiza un cambio.

-f, –silent, –quiet: Modo silencioso; se usa para suprimir la mayoría de los mensajes de error.

-v, –verbose: Modo detallado; muestra un mensaje de diagnóstico por cada archivo procesado.

–no-preserve-root: Se usa para definir que no trate ‘ / ‘ (el directorio raíz ) de ninguna manera especial, que es la configuración predeterminada.

–preserve-root: Se usa para indicar que no opere recursivamente en ‘ / ‘.

–reference = RFILE: Indica que debe establecer los permisos para que coincidan con los del archivo RFILE, ignorando cualquier MODO especificado.

-R, –recursivo: Cambia archivos y directorios recursivamente.

–ayuda: Muestra un mensaje de ayuda y también funciona para salir.

–versión: Da información referente a la versión que se esta usando.

 

Visualización de permisos de archivos

Una manera rápida y fácil de enumerar los permisos de un archivo es con la opción de listado largo ( -l ) del comando ls. Por ejemplo, para ver los permisos de mi-archivo.txt , puedo usar el comando:

[code] ls -l mi-archivo.txt [/code]

 

Esto mostrará un resultado similar al siguiente:

[code] -rwxrw-r– 1 yerita02 yeritastaff 123 Feb 25 15:36 mi-archivo.txt [/code]

Esto es lo que significa cada parte de esta información:

» – «: El primer carácter representa el tipo de archivo: «-» para un archivo normal, «d » para un directorio, » l » para un enlace simbólico.

rwx: Los siguientes tres caracteres representan los permisos para el propietario del archivo: en este caso, el propietario puede leer escribir y ejecutar el archivo.

rw-: Los siguientes tres caracteres representan los permisos para los miembros del grupo de archivos. En este caso, cualquier miembro del grupo propietario del archivo puede leer y escribir en el fichero. El guion al final es un marcador de posición; los miembros del grupo no tienen permiso para ejecutar este archivo.

r–: Los permisos para «otros» (todos los demás). Otros sólo pueden leer este archivo.

«1»: La cantidad de enlaces fijos a este archivo.

yerita02: El propietario del archivo

yeritastaff: El grupo al que pertenece el archivo.

123: El tamaño del archivo en bloques .

Feb 25 15:36: El mtime del archivo (fecha y hora de la última modificación del archivo).

mi-archivo.txt: El nombre del archivo.

Ejemplos

[code] chmod 644 file.js[/code]

Establece los permisos de file.js en «el propietario puede leer y escribir, el grupo solo puede leer y otros solo pueden leer».

[code] chmod -R 755 mis-archivos [/code]

Recursivamente ( -R ) Cambia los permisos del directorio mis-archivos, y todas las carpetas y archivos que contiene, al modo 755 : el usuario puede leer, escribir y ejecutar; los miembros del grupo y otros usuarios pueden leer y ejecutar, pero no pueden escribir.

[code] chmod u = rw mi-foto.jpg [/code]

Cambia los permisos para el propietario de mi-foto.jpg para que el propietario pueda leer y escribir el archivo. No cambia los permisos para el grupo o para otros.

 

[code] chmod 755 archivo.cgi [/code]

Establece los permisos de archivo.cgi en «leer, escribir y ejecutar por el propietario» y «leer y ejecutar por el grupo y todos los demás».

[code] chmod 666 archivo.txt [/code]

Establece los permisos de archivo.txt para «leer y escribir por todos».

 

[code] chmod a = rw archivo.txt [/code]

Cumple lo mismo que el comando anterior, usando notación simbólica.

Comandos relacionados al comando chmod

  • chown – Cambia la propiedad de archivos o directorios.
  • getfacl – Muestra listas de control de acceso a archivos.
  • ls : enumera los contenidos de un directorio o directorios.
Te recomendamos la lectura:  ¿Qué es el comando GREP en Linux? ¿cómo usarlo?

Cuéntanos de tu experiencia con chmod en los comentarios… ¿Te gustaría que agregáramos algo? ¿Te funciono nuestro tutorial?

Yeraldine

Lcda. en Computación, Programadora, Apasionada por el Desarrollo Web. A veces Bellydancer, otras veces Yogui. Amo viajar, los libros y la música. En mis RRSS: @yerita02

Publicaciones relacionadas

Un comentario

Deja una respuesta

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 mi política de privacidad. Puede ejercitar los derechos de acceso, rectificación, cancelación y oposición en [email protected].

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

Acepto la política de privacidad *

Botón volver arriba