GNU/Linux >> Tutoriales Linux >  >> Linux

9 ejemplos rápidos de comandos chmod en Linux

El comando Chmod en Linux se usa para cambiar o asignar permisos en archivos y directorios. En los sistemas Linux/Unix, la accesibilidad a los archivos y directorios está determinada por la propiedad y los permisos de los archivos. En un artículo anterior, analizamos cómo administrar la propiedad de archivos y directorios mediante el comando chown. En este tutorial, observamos el comando chmod.

El comando chmod, abreviatura de modo de cambio, se usa para administrar los permisos de archivos y directorios y determina quién puede acceder a ellos. Ahora profundicemos y exploremos la naturaleza de los permisos de archivos y directorios y cómo se pueden modificar.

Permisos de Linux

Para comprender mejor cómo funciona el comando chmod, es prudente que estudiemos el modelo de permisos de archivos de Linux.

En Linux, tenemos 3 tipos de permisos de archivo:permisos de lectura (r), escritura (w) y ejecución (x). Estos permisos determinan qué usuarios pueden leer, escribir o ejecutar los archivos. Puede asignar estos permisos usando la notación de texto o octal (numérica) como veremos más adelante en este tutorial.

Los archivos y directorios pueden pertenecer al propietario del archivo (u), grupo (g) u otros (o)

  • u   –  Propietario del archivo
  • g   –  Grupo
  • o   –  Otros

Los permisos de archivo se enumeran mediante el comando ls -l. El indicador -l enumera los permisos de archivo. Los permisos se organizan en tres conjuntos:el usuario, grupo y otros respectivamente

Para comprender mejor los permisos de los archivos, enumeraremos el contenido de nuestro directorio como se muestra:

$ ls -l

Comenzando desde el extremo izquierdo, el primer carácter/símbolo indica el tipo de archivo. Un guión (-) indica que el archivo es un archivo normal. El símbolo d indica que es un directorio. El símbolo l indica que es un enlace simbólico.

Los nueve caracteres restantes están segmentados en 3 tripletes, cada uno con tres símbolos r (leer), w (escribir) y x (ejecutar). Como se señaló anteriormente, el primer segmento apunta a los permisos del propietario, el segundo indica los permisos del grupo y la última parte especifica los permisos que otros usuarios tienen sobre el archivo o directorio.

A partir de la salida, podemos ver que tenemos 2 archivos (hello.txt &reports.zip) y un solo directorio.

Examinemos el primer archivo

-rw-rw-r-- 1 linuxtechi linuxtechi   35 Aug 17 15:42 hello.txt

Para el primer archivo, los permisos -rw-rw-r– implican que el propietario del archivo tiene permisos de lectura y escritura, el grupo también tiene permisos de lectura y escritura, mientras que otros usuarios solo tienen permisos de lectura. Los mismos permisos también se aplican al archivo comprimido reports.zip.

Veamos los permisos del directorio:

drwxrwxr-x 2 linuxtechi linuxtechi 4096 Aug 17 15:43 sales

Podemos ver que el propietario del directorio y del grupo tiene todos los permisos (lectura, escritura y ejecución) mientras que otros usuarios solo tienen permisos de lectura y ejecución.

Los símbolos de tres guiones indican que no se han otorgado permisos al propietario del archivo, grupo u otros usuarios.

Uso del comando chmod para establecer permisos de archivos y directorios

Habiendo visto los permisos de archivo y cómo verlos, no nos centremos en cómo modificar estos permisos.

El comando chmod en Linux se usa para cambiar los permisos de archivos y directorios usando notación de texto (simbólica) o numérica (octal). Toma la siguiente sintaxis:

$ chmod [OPCIONES] MODO nombre de archivo

Solo el usuario raíz o un usuario normal con privilegios de sudo puede cambiar los permisos de archivos o directorios. Puede pasar más de un archivo o directorio separados por espacios en la sintaxis del comando.

Profundicemos ahora y veamos diferentes ejemplos del comando chmod.

Ejemplo 1) Asignar permisos usando notación numérica

Cuando establezca permisos usando el estilo/la notación numérica, use la sintaxis que se muestra a continuación:

$ sudo chmod [OPCIONES] valor_numérico nombre de archivo

El valor numérico puede tomar 3 o 4 números. Sin embargo, en la mayoría de los casos, se utilizan 3 números. Los permisos de lectura, escritura y ejecución toman los siguientes valores:

  • permiso de lectura => 4
  • permiso de escritura => 2
  • permiso de ejecución => 1

La suma total de los valores de los permisos, es decir, lectura, escritura y ejecución en cada uno de los tres segmentos representan los permisos completos de un archivo o directorio determinado.

¿Qué queremos decir con esto?

Supongamos que el propietario tiene permisos de lectura, escritura y ejecución, el grupo tiene permisos de lectura y ejecución y otros usuarios solo tienen permisos de lectura, esto se puede desglosar de la siguiente manera:

  • u :   rwx  =7
  • g :   r-x  =5
  • o :   r–  =4

Por lo tanto, llegamos al valor de 754 como valor numérico para los permisos de archivo del archivo dado.

Para asignar permisos de lectura, escritura y ejecución al propietario, y permisos de lectura solo al grupo y a otros usuarios, ejecute el comando:

$ chmod 744 devops.txt

Para asignar todos los permisos al propietario del archivo, permisos de lectura y ejecución para el grupo y ningún permiso para otros usuarios, ejecute:

$ chmod 750 coders.txt

Para asignar todos los permisos al propietario del archivo, permisos de lectura y escritura para el grupo y otros usuarios ejecute el comando:

$ chmod 755 sysadmin.txt

Ejemplo 2) Asignación recursiva de permisos a directorios

Cuando asigne permisos a directorios, use el indicador -R para asignar permisos recursivamente a sus archivos y subcarpetas. Por ejemplo:

$ chmod 755 -R nombre_directorio

$ chmod 755 -R /home/linuxtechi/data

Ejemplo 3) Asignar permisos usando notación de texto

Otra forma de asignar permisos es mediante la notación de texto. En este método, el comando chmod toma banderas o símbolos que representan al propietario, al grupo, a otros o a todos los usuarios (u, g y o) en la sintaxis.

El método no es tan sencillo como el método anterior y se debe tener cuidado para evitar que se le asignen permisos incorrectos.

Así es como se ve la sintaxis

$ chmod [OPCIONES] [ u g o a ]  [ – + =] [ r, w, x ] archivo

Analicemos esto.

El primer grupo de parámetros [ u g o a]  especifica la categoría de usuarios cuyos permisos cambiarán

  • u:usuario
  • g:grupo
  • o:otro
  • a:todo (Esto incluye todo lo anterior)

Si se omite este conjunto, la opción predeterminada es una opción.

El segundo conjunto de opciones, opciones de operador [ – + =], determina si se agregarán o eliminarán permisos de la categoría de usuarios. La opción eliminar

  • –    :la bandera elimina los permisos de archivo de un usuario específico.
  • +   :Esto agrega/agrega permisos a un usuario específico.
  • =   :Esto asigna permisos distintos a usuarios específicos y elimina los permisos anteriores del segmento de usuarios.

Veamos algunos ejemplos:

Ejemplo 4) Asignar permisos de lectura a un archivo

$ chmod o=r nombre de archivo

El comando anterior asigna a otros usuarios indicados con el símbolo 'o' permisos de lectura solo para el archivo y elimina los permisos anteriores asignados al segmento 'otros'. Tome un archivo1.txt que tenga los siguientes permisos

Para asignar permisos de lectura al segmento 'otros (o)' solo ejecute

$ sudo chmod o=r file1.txt

A partir de la salida, podemos ver que al segmento 'otros' se le han asignado permisos de lectura mientras que al mismo tiempo ha perdido los permisos de ejecución. Esto implica que el operador =asigna nuevos permisos mientras que al mismo tiempo borra los permisos anteriores.

Ejemplo 5) Asignar permisos de ejecución al propietario del archivo y del grupo

$ sudo chmod ug+x nombre de archivo

El comando anterior agrega permisos de ejecución al propietario y al grupo del archivo. Usando nuestro archivo, esto se convierte en:

$ sudo chmod ug+x file1.txt

Ejemplo 6) Asignar diferentes permisos a archivo, grupo y otros

$ sudo chmod u=rwx,g=rw,o=r nombre de archivo

El comando anterior asigna todos los permisos al propietario del archivo, permisos de lectura y escritura al grupo y solo permisos de lectura a otros usuarios.

NOTA: Si no se especifica ningún permiso después del operador =, se eliminan todos los permisos del segmento de usuario.

Ejemplo 7) Eliminar todos los permisos para otros usuarios

$ sudo chmod o=nombre de archivo

El comando anterior elimina todos los permisos del segmento de usuario "otros" para el archivo especificado.

El comando tiene el mismo efecto que el siguiente comando:

$ sudo chmod o-rwx nombre de archivo

Ejemplo 8) Asignar permisos usando un archivo de referencia

Otra forma práctica y conveniente de asignar permisos de archivo es usar un archivo de referencia. En este método, utiliza la opción –reference=ref_file para configurar los permisos de un archivo para que sean los mismos que los de otro archivo de referencia. Utilice la siguiente sintaxis

$ sudo chmod –reference=ref_file nombre de archivo

Por ejemplo, para configurar los permisos de archivo de file2.txt para que sean los mismos que los de file1.txt, ejecute el comando:

$ sudo chmod --reference=file1.txt file2.txt

El archivo de referencia es file1.txt mientras que file2.txt es el archivo que ocupará los permisos de archivo para el archivo de referencia.

Ejemplo 9) Asignar permiso de ejecución solo a directorios

Supongamos que tenemos un directorio que tiene archivos y subdirectorios y deseamos asignar permisos de ejecución solo en directorios sin tocar archivos. Entonces, esto se puede lograr usando el siguiente comando chmod,

$ chmod a+X *

Si ha notado cuidadosamente, hemos usado X mayúscula para el permiso de ejecución, el comando anterior establecerá el permiso de ejecución en todos los directorios de nuestro directorio de trabajo actual.

Conclusión

Esto cierra el telón de nuestro tema. Examinamos el comando chmod y vimos varios ejemplos en los que el comando se puede usar para cambiar los permisos de archivo.


Linux
  1. 8 ejemplos de comandos de fecha rápida en Linux

  2. Permisos de Linux:una introducción a chmod

  3. Comando mv en Linux:7 ejemplos esenciales

  4. Ejemplos de comandos de cola de Linux

  5. Ejemplos de comandos de archivo en Linux

Comando WC de Linux con ejemplos

Comando Chmod en Linux

Comando Chmod:cómo cambiar los permisos de archivo en Linux

Ejemplos de comandos chmod de Linux

Ejemplos de comandos cat de Linux

Ejemplos de comandos gzip de Linux