domingo, 18 de marzo de 2012

Cómo administrar permisos en archivos y directorios en Linux

Una de las cosas por las cuales Linux se caracteriza es por la gestión de permisos en archivos y carpetas. Básicamente son tres: leer, escribir y ejecutar. Éstos son asignados al propietario, al grupo o a otros. 

Por ejemplo si tenemos un documento denominado carta.txt, y queremos darle permiso de lectura y ejecución a todos, pero sólo el propietario puede modificar el contenido entonces se hace de la siguiente manera:

$ chmod 755 carta.txt

La numeración indica a qué tiene facultad. Veamos la siguiente tabla:
Decimal Binario
0 000
1 001
2 010
3 011
4 100
5 101
6 110
7 111


Por ejemplo: en el valor 7 en binario es equivalente a 111, de acuerdo a los permisos un 1 activa estos valores rwx (read, write, execute). Por lo que en este caso particular tiene todos los permisos. ¿Pero qué tal el 5?, el valor binario es 101, por lo que sólo activa el primer y último bit, de acuerdo a la nomenclatura anterior tiene derecho a r-x, o sea sólo a lectura y ejecución.

En 755 podría ser de la siguiente manera: 111 101 101, de acuerdo a la nomenclatura: rwx r-x r-x, o sea que el propietario tiene permisos totales, el grupo sólo lectura y ejecución, y otros grupos de igual manera.

Los comandos utilizados para gestionar permisos en Linux son:

chmod: Qué es el se encarga de definir los permisos de lectura, escritura y ejecución como se vió antes.

chown: Para definir propietarios o cambiarlos.

chgrp: Para definir grupos.

Te invito a investigar más acerca de esta temática.

2 comentarios:

  1. Existe la posibilidad de especificar los permisos de acceso a los ficheros con mayor granularidad usando Listas de Control de Acceso o ACLs

    ResponderEliminar
  2. Así es, Oscar, es aún más granular, he aquí un post que habla acerca del tema: http://www.wikipeando.com/index.php/archives/426

    Gracias por el aporte, man.

    ResponderEliminar