Comando chmod en Linux con ejemplos

En los sistemas operativos similares a Unix, el comando chmod se usa para cambiar el modo de acceso de un archivo.
El nombre es una abreviatura de modo de cambio .

Sintaxis:

chmod [reference][operator][mode] file... 

Las referencias se utilizan para distinguir a los usuarios a los que se aplican los permisos, es decir, son una lista de letras que especifica a quién otorgar permisos. Las referencias están representadas por una o más de las siguientes letras:

Reference   Class     Description
u          owner      file's owner

g          group      users who are members of
                      the file's group

o          others     users who are neither the
                      file's owner nor members of 
                      the file's group

a          all       All three of the above, same as ugo

El operador se utiliza para especificar cómo deben ajustarse los modos de un archivo. Se aceptan los siguientes operadores:

Operator  Description
+         Adds the specified modes to the
          specified classes

-         Removes the specified modes from 
          the specified classes

=         The modes specified are to be made
          the exact modes for the specified 
          classes

Nota: Poner espacios en blanco alrededor del operador haría que el comando fallara.

Los modos indican qué permisos se otorgarán o eliminarán de las clases especificadas. Hay tres modos básicos que corresponden a los permisos básicos:

r       Permission to read the file.
w       Permission to write (or delete) the file.
x       Permission to execute the file, or, in
        the case of a directory, search it.

Tipos de permisos que cambiaremos usando el comando chmod:
en la terminal de Linux, para ver todos los permisos para diferentes archivos, escriba el comando ls -l que enumera los archivos en el directorio de trabajo en formato largo. La siguiente figura muestra un ejemplo para usar ls -l y su salida:

Echemos un vistazo a la figura anterior. Para facilitar la comprensión, se eliminan algunas columnas y filas y se agregan espacios adicionales a la columna de permisos para que sea más fácil de leer, como se muestra a continuación:

- rw- rw- r--  mik  mik    assgn1_client.c
- rw- rw- r--  mik  mik    assgn1_server.c
d rwx rwx r-x  mik  mik    EXAM
- rw- rw- r--  mik  mik    raw.c
- rwx r-x r-x  mik  mik    header.sh
... so on...
  • La primera columna representa el tipo de archivo, es decir, es un archivo normal o un
    directorio donde d representa un directorio y – representa un archivo normal.
  • El primer conjunto de tres letras después del tipo de archivo indica para qué tiene permisos el propietario del archivo. Por ejemplo: en assgn1_client.c, tiene permiso de propietario como rw-, lo que significa que el propietario mik solo puede leer (r) y escribir (w) el archivo pero no puede ejecutar (x).
  • Nota: Las columnas 3 y 4 representan el nombre del propietario del archivo y el grupo al que pertenece el propietario, respectivamente.
  • Las siguientes tres letras después del permiso del usuario son los permisos del grupo.
    Por ejemplo: header.sh tiene permisos de grupo como rx, lo que significa que otras personas en el grupo mik no pueden escribir (w) el script header.sh pero solo pueden leerlo (r) o ejecutarlo (x).
  • Tenga en cuenta que cuando un directorio tiene el conjunto x, esto toma el significado especial de «permitido para buscar en este directorio».
  • Las últimas tres letras en la columna de permisos nos dicen qué pueden hacer los «otros». La práctica general es proteger los archivos del acceso externo para que otros no puedan escribir ningún archivo o directorio. Pueden leerlo (r) o ejecutarlo (x). Por ejemplo: assgn1_client.c tiene otros permisos como r-, lo que significa que solo puede ser leído por otro acceso (externo), pero no puede ser escrito ni ejecutado por ellos.

Ahora, veamos cómo se puede usar el comando chmod para cambiar el modo de acceso de un archivo.

Ejemplo 1:
cambiemos el permiso assgn1_client.c para que el propietario no pueda escribir (w) en el archivo, pero solo pueda leerlo.

BEFORE: -rw-rw-r--  mik  mik  assgn1_client.c

COMMAND: chmod u=r assgn1_client.c

AFTER: -r--rw-r--  mik   mik   assgn1_client.c

Antes :

Después :

Ejemplo 2:
restrinjamos el permiso para que el usuario no pueda buscar en el directorio EXAMEN.

BEFORE: drwxrwxr-x  mik   mik   EXAM

COMMAND: chmod u=rw EXAM

AFTER: drw-rwxr-x   mik  mik    EXAM

Después de aplicar el comando chmod u=rw EXAM, el usuario (propietario) no puede cambiar el directorio. Si el usuario intenta cambiar el directorio, muestra el mensaje «Permiso denegado» como se muestra en la siguiente figura:


Referencia:

chmod Wikipedia

Publicación traducida automáticamente

Artículo escrito por mazhar_mik y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

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