Linux Structure: Permisos al detalle (parte. II)

¿Recordáis? – En la anterior “primera parte” nos quedamos por aquí:

Captura: Final del anterior artículo (parte. I).
Captura: Final del anterior artículo (parte. I).

Visto lo cuál, seguimos con la segunda parte, que disfrutéis del “Mundo Linux”.


Como se representan los Permisos

Linux Structure - BLOG - 1-2

Representación Estándar

Los permisos asociados a un archivo o carpeta se suelen representar en línea. El primer carácter se reserva para los denominados permisos especiales (básicamente hace referencia al tipo de archivo), seguido de tres caracteres para los permisos del propietario del archivo, otros tres para los permisos del grupo, y los tres últimos para los permisos del resto de usuarios.

Linux Structure - BLOG - 1-3

El primer bit indica el tipo de archivo. Generalmente pueden darse los siguientes casos:

-  |  Se trata de un archivo regular
d  |  Se trata de un directorio
l  |  Se trata de un enlace simbólico
b  |  Se trata de un archivo especial de bloques

El resto de los 9 bits que vienen a continuación representan los permisos del usuario propietario del archivo o directorio, los permisos del grupo al que pertenece este usuario, y los permisos del resto de usuarios. Aquí tienes el significado:

r  |  Se dan permisos de lectura
w  |  Se dan permisos de escritura
x  |  Se dan permisos de ejecución
-  |  No se da el permiso de lectura, escritura o ejecución

Representación Numérica o en Octal

También hay la representación numérica de permisos, que parte básicamente de la representación anterior, pero sustituye cada grupo rwx por un número. Ese número se obtiene al sustituir cada tipo de permiso (r, w x) por un 1 o 0, dependiendo de si se da o no el permiso).

Linux Structure - BLOG - 1-4

Al final, del número en binario obtenido, el número decimal que le corresponde es el que se utiliza para representar las diferentes combinaciones rwx en cada grupo o nivel de permisos (usuario, grupo y otros).

r--  |  100  |  4
-w-  |  010  |  2
--x  |  001  |  1

Teniendo en cuenta esto, por cada nivel de permisos (usuario, grupo u otros) podemos sacar un número que es la suma de todos los anteriores, dependiendo de los permisos que se tengan. Con esto podemos llegar a tener las siguientes combinaciones:

rwx  |  111  |  7
rw-  |  110  |  6
r-x  |  101  |  5
r--  |  100  |  4
-wx  |  011  |  3
-w-  |  010  |  2
--x  |  001  |  1
---  |  000  |  0

Teniendo esto en cuenta, la representación es igual que en el caso anterior, pero para cada uno de los niveles de permisos (usuario, grupo y otros) se sustituye la combinación de los tres tipos de permisos por un numero del 1 al 7, en función de las combinaciones anteriores.

Si sigues leyendo, un poco más adelante tienes varios ejemplos de archivos y directorios, con sus permisos en formato estándar, y su equivalente en forma octal.

Como puedo conocer los Permisos de un Archivo o Directorio

Linux Structure - BLOG - 1-5

Hay varias formas de conocer los permisos de un archivo o directorio de tu sistema. Una opción es hacerlo desde el mismo navegador de archivos y visualizándolo de forma gráfica, pero es un poco lento y a la práctica resulta mucho más cómodo y rápido hacerlo desde la línea de comandos.

Linux Structure - BLOG - 1-6

En esta imagen tienes el aspecto que tienen los permisos por defecto de cualquier archivo de texto (en este caso un archivo.odt) ubicado dentro de la carpeta Documentos del directorio de usuario. Como puedes ver, el propietario y el grupo tienen permisos de lectura y escritura sobre el archivo, mientras que el resto de usuarios solo tienen permiso de lectura.

Linux Structure - BLOG - 1-7Directorios dentro de /home/user/

Ahora si te parece podemos visualizar los permisos de los directorios que se encuentran dentro de /home. Como puedes ver en la captura de abajo (para este ejemplo he cogido la carpeta Documentos), el usuario tiene permisos para crear y eliminar archivos (serían permisos de lectura y escritura), mientras que el grupo y el resto de usuarios tienen solo permisos para acceder a archivos (permisos de lectura).

Linux Structure - BLOG - 1-8

Linux Structure - BLOG - 1-9

Otra forma mucho más visual y precisa de ver los permisos que tienen los archivos contenidos en un directorio es a través de la línea de comandos, con el comando #ls -l. Esta opción del comando te listará todos los archivos y directorios dentro del directorio de trabajo actual, junto con los permisos asociados.

$ ls -l

Linux Structure - BLOG - 1-10

Si aplicas el comando estando en un directorio cualquiera que contenga archivos, verás un listado con todos los archivos y directorios, junto con sus permisos. Si te parece vamos a analizar los permisos del archivo de texto que hemos analizado antes:

$ ls -l Documentos

-rw-rw-r-- 1 user group 27057 jun 28 12:37 nombrearchivo

He puesto el mismo archivo del ejemplo de antes, para ver la equivalencia. Como ves, el usuario y el grupo tienen permisos de lectura y escritura, y el resto de usuarios permisos de solo lectura. Igual que antes pero de un modo más preciso. El equivalente en formato numérico seria:
664

Linux Structure - BLOG - 1-11

Ahora, al igual que hemos hecho desde el explorador de archivos, podemos analizar los permisos del directorio Documentos. Para ello, estando en la terminal y aplicando #ls -l obtendrás un listado con todos los directorios dentro de /home, incluida la carpeta Documentos.

$ ls -l
drwxr-xr-x 2 user group 4096 jun 28 12:42 Descargas
drwxr-xr-x 2 user group 4096 jun 28 12:42 Documentos
drwxr-xr-x 2 user group 4096 jun 28 12:42 Escritorio
drwxr-xr-x 2 user group 4096 jun 28 12:42 Imágenes
drwxr-xr-x 2 user group 4096 jun 28 12:42 Música
drwxr-xr-x 2 user group 4096 jun 28 12:42 Plantillas
drwxr-xr-x 2 user group 4096 jun 28 12:42 Público
drwxr-xr-x 2 user group 4096 jun 28 12:42 Vídeos

Realmente verás un listado con todo el contenido que tengas dentro de la /home, pero solo he puesto el los directorios para compararlo con el resultado obtenido a través del navegador de archivos en el caso de Documentos. Como ves, el usuario tiene permisos de lectura, escritura y ejecución, mientras que el grupo y el resto de usuarios solo lectura y ejecución. El equivalente en forma numérica es:

755

Recuerda que los permisos de ejecución sobre un directorio representan la capacidad de poder entrar dentro del directorio.  En este caso, todos los usuarios pueden entrar dentro los directorios de la /home de un usuario concreto y ver su contenido, pero solo el usuario propietario puede modificar el contenido de dentro.

Linux Structure - BLOG - 1-12

Si tienes curiosidad, con el comando #ls -l ya has visto que puedes visualizar los permisos de todos los archivos y directorios que se te ocurren. Eso sí, la posibilidad de ejecutar este comando sobre un directorio lo determina el hecho que tenga permisos de lectura, por lo que en algunos casos quizá no obtengas resultado y debas hacerlo a través de sudo utilizando los permisos de root.

Linux Structure - BLOG - 1-13

Si has llegado hasta aquí habrás visto que se trata más de un artículo explicativo que de una guía de como hacer algo. En él, no se pretende explicar como modificar o editar permisos de archivos, ya que para esto en futuros artículos habrá una guía.

Espero que hayáis disfrutado del artículo, y que os haya parecido útil el contenido.

Salu2


TonyHAT - 142

Anuncios

Un comentario en “Linux Structure: Permisos al detalle (parte. II)”

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s