Cambiar los permisos de los archivos

Hemos visto cómo cambiar los permisos de un archivo con el comando chmod y las letras r w y x

r para read

w para escribir

x para ejecutar

A efectos del artículo sobre los derechos de los ficheros, había creado un directorio «monrep» en el que se encuentran tres ficheros:

mi archivo

su archivo

su archivo

Si escribe el comando ls -l , obtendrá una lista detallada de los archivos con los derechos asignados a cada uno de ellos.

Cambiar los permisos de los archivos 1

Sabes cómo cambiar los permisos de los archivos con el comando chmod, pero después de leer un artículo en Internet, encuentras esto: chmod 777monfichier !

Estupefacción. El comando ya no es chmod u +r u otro sino ahora chmod con números. ¿A quién queremos engañar? Deberías saberlo.

Ambos métodos existen y no me preguntes cuál elegir, ambos tienen sus seguidores. Depende de usted elegir uno de acuerdo a sus hábitos.

Antes de que veamos a qué corresponden estos números, escribiremos primero el siguiente comando:

stat -c %A myfile (Atención a mayúsculas A)

La respuesta es -rw-rw-rw-r-r– (Los derechos del archivo myfile)

Ahora vamos a escribir este comando:

stat -c %a miarchivo

Obtenemos 664 (Siempre los derechos en forma de números para mi archivo)

Está claro que el archivo «my file» muestra los derechos en forma de letras o números. La cuestión es cómo hacer coincidir las letras y los números.

Para rw-rw-rw-r– tenemos 664 . ¿Por qué? ¿Por qué?

Los números están en octal y aquí está la correspondencia para cada letra:

r —> 4

w —> 2

x —> 1

Es todo muy bonito, pero tengo un número 664 que aparece. ¿Dónde está el número 6 en esta historia?

Recuerda que para asignar derechos a un fichero tenemos tres grupos de letras.

Un grupo de letras rwx para el usuario (user)

Un grupo de letras rwx para el grupo

Un grupo de letras rwx para los otros (otros)

Cada grupo de letras será reemplazado por un único número. Esta cifra es la suma de los tres dígitos correspondientes a los derechos en letras (rwx o -). ¡Eso está claro!

Es mejor dar ejemplo, tal vez:

Para el archivo «mi archivo», tenemos los derechos: rw-rw-rw-r–

Si tomamos el primer grupo de letras (rw-), tenemos r (r=4), w (w=2) y – (-=0).

Así que sumamos, 4+2+0 y obtenemos 6

Ahora toma el segundo grupo de letras (rw-), tenemos r (r=4), w (w=2) y – (-=0).

Así que sumamos, 4+2+0 y obtenemos 6

Tomamos el tercer grupo de letras (r–), tenemos r (r=4), – (-=0) y de nuevo – (-=0)

Añadimos 4+0+0+0+0 y obtenemos 4

Tenemos 664 al final para los derechos del archivo «mi archivo»

Para asegurarnos de que hemos entendido correctamente el sistema, cambiaremos los permisos del archivo «myfile» con el primer método y veremos con el comando stat lo que ocurre.

Eliminaremos los permisos de escritura del grupo.

chmod g-w miarchivo

Intentemos ver en figuras lo que deberíamos obtener con el comando stat -c %a myfile

Así que si eliminamos los permisos de escritura del grupo significa que deberíamos ver con el comando ls -l esto: rw-r–r–

Hagamos los cálculos ahora:

Para rw- tenemos 4+2+0+0+0=6

Para r– tenemos 4+0+0+0+0=4

Para r– tenemos 4+0+0+0+0=4

Compruebe con el comando stat -c %a myfile

644

Así es

Ahora volvamos a poner nuestro grupo en modo de escritura con el método numérico.

Nada se mueve para el usuario, el grupo debe cambiarse a 6 (4+2+0) y para los demás tampoco se mueve.

Así que escribimos la orden: chmod 664 miarchivo

Y lo conseguimos:

-rw-rw-rw-r–

Así es, así es.

Cambiar los permisos de los archivos 2

Contenido relacionado

Deja un comentario