Guía avanzada del usuario

Establecer permisos absolutos

Hasta el momento, en esta presentación de los permisos sólo se ha incluido el comando chmod para cambiar permisos relativos a la configuración actual. Si utiliza una forma diferente del comando chmod, que aplica códigos numéricos para especificar permisos, puede establecer el permiso de un archivo o un directorio de manera absoluta.

La sintaxis de este modo de utilizar el comando chmod es:

chmod numcode name

donde numcode es el código numérico y name es el nombre del archivo o del directorio al que está cambiando los permisos.

El código numérico completo consta de tres números. Se usa un número para cada una de las tres categorías: usuario, grupo y otros. Por ejemplo, el siguiente comando establece permisos absolutos de lectura, escritura y ejecución para el usuario y el grupo, y sólo permiso de ejecución para otros usuarios:

$ chmod 771 garlic

La Tabla 3-1 ilustra cómo el código 771 representa los permisos asignados a garlic.

Tabla 3-1 Permisos de garlic

Permiso 

Usuario 

Grupo 

Otros 

Lectura 

Escritura 

Ejecución 

Total 

Cada columna de la Tabla 3-1 representa una de las categorías: usuario, grupo y otros. Para establecer permisos de lectura se agrega un 4 en la columna apropiada, para establecer permisos de escritura un 2 y para permisos de ejecución un 1. El total de las tres columnas, en la última hilera de la tabla, es el código numérico completo.

A continuación se muestra otro ejemplo del uso de este método de establecer permisos absolutos, incluyendo el comando ls -l para demostrar el resultado:

$ ls -l onion
-rw-r--r--  3 user2           1024 Feb 10 11:46 onion
$ chmod 755 onion
$ ls -l onion
-rwxr-xr-x  3 user2           1024 Feb 10 11:48 onion
$

Se establecen los permisos del archivo onion para que el usuario pueda leerlo, escribir en él o ejecutarlo; los miembros del grupo puedan leerlo y ejecutarlo y otros usuarios puedan también leerlo y ejecutarlo. La Tabla 3-2 muestra el desglose de los códigos numéricos utilizados para establecer los permisos de onion.

Tabla 3-2 Permisos de onion

Permiso 

Usuario 

Grupo 

Otros 

Lectura 

Escritura 

Ejecución 

Total 

Por supuesto, para conceder permisos de lectura, escritura y ejecución al propio usuario, a su grupo o a otros usuarios respecto al archivo cabbage, escribiría lo siguiente:

$ ls -l cabbage
-rw-r--r--  3 user2           1024 Feb 10 11:51 cabbage
$ chmod 777 cabbage
$ ls -l cabbage
-rwxrwxrwx  3 user2           1024 Feb 10 11:53 cabbage
$

La Tabla 3-3 muestra el desglose de este ejemplo.

Tabla 3-3 Permisos de cabbage

Permiso 

Usuario 

Grupo 

Otros 

Lectura 

Escritura 

Ejecución 

Total 

El código numérico 777 representa el nivel de permisos máximo que puede conceder.

Se puede utilizar el carácter comodín * para establecer permisos absolutos para todos los archivos del directorio, del mismo modo que se cambian los permisos relativos. Por ejemplo, para establecer permisos absolutos de todos los archivos del directorio veggies de modo que el usuario pueda leer, escribir y ejecutar dichos permisos, su grupo pueda leerlos y ejecutarlos, y los demás usuarios puedan sólo ejecutarlos, tendría que escribir lo siguiente:

$ pwd
/home/user2/veggies
$ ls -l
-rwxrwxrwx  3 user2          21032 Feb 12 10:31 beats
-rwxrwxrwx  2 user2             68 Feb 10 11:09 corn
-rwxrwxrwx  3 user2          12675 Feb 08 09:31 garlic
-rwxrwxrwx  1 user2           1024 Feb 14 16:38 onions
$ chmod 751 *
$ ls -l
-rwxr-x--x  3 user2          21032 Feb 12 10:31 beats
-rwxr-x--x  2 user2             68 Feb 10 11:09 corn
-rwxr-x--x  3 user2          12675 Feb 08 09:31 garlic
-rwxr-x--x  1 user2           1024 Feb 14 16:38 onions
$

En este ejemplo se incluye el comando pwd para ilustrar que el directorio en el que realiza esta operación debe ser el directorio actual. El comando ls -l se muestra sólo para ilustrar los cambios que han sufrido los permisos. Cuando se establecen permisos absolutos no es necesario saber qué permisos están en activo.

Si desea más información acerca del comando chmod(1), consulte man Pages(1): User Commands.