miércoles, 30 de enero de 2013

Apuntes Linux #001: Sistema de Permisos

Como habíamos quedado, el comando ls imprime imprime una lista (lslista) que incluye los archivos y directorios de un determinado directorio.

En el caso de mi VM, el shell se inicia con
yggdrasil@ubuntu:~$
/home/yggdrasil

Y al ejecutar el comando ls imprime los siguientes directorios:
yggdrasil@ubuntu:~$ ls
Desktop  Documents  Downloads  examples.desktop  Music  Pictures  Public  Templates  Ubuntu One  Videos

El comando ls sin argumentos imprime los archivos y directorios del presente directorio, pero además tiene otras variantes, como ls -a que nos permite visualizar la totalidad de elementos del directorio, incluso los elementos ocultos, y otro ejemplo que veremos a continuación es ls -l, que imprime la misma lista de elementos pero con información detallada que veremos ahora.

En el presente caso, en el directorio /home/yggdrasil/Desktop tengo un archivo simple de texto llamadoopera.txt, con el cual veremos algunos puntos.

Aplicamos 
yggdrasil@ubuntu:~$ cd Desktop
y ahora nos encontramos en el directorio llamado Desktop, que contiene el archivo que vamos a analizar.

Hago el comando ls -l, e imprime la siguiente información:
yggdrasil@ubuntu:~/Desktop$ ls -l
total 8
-rw-rw-r-- 1 yggdrasil yggdrasil 13 Jan 24 07:12 opera.txt
-rw-rw-r-- 1 yggdrasil yggdrasil 54 Jan 24 07:10 opera.txt~

En el presente análisis solamente tomaremos una línea y veremos sólo los puntos que nos interesan.

Vamos a analizar cada columna y qué significan los caracteres impresos.

I.- La primera columna (-rw-rw-r--) significa que:

1.- El guión nos está indicando primero que se trata de un archivo común (texto, imagen, etc). También, tenemos que d representa un directorio, l un link, y b un binario, un archivo generalmente ejecutable. En el presente caso tenemos que -, por lo tanto se trata de un archivo común, en este caso un archivo de texto.

2.- Luego vemos una serie de caracteres que establecen los permisos del archivo. Luego del primer caracter que establece el tipo de elemento (-db), nos encontramos con 9 caracteres más. Estos 9 caracteres deben considerarse en grupos de 3: el primer grupo representa los permisos para el dueño, el segundo los permisos para el grupo, y el tercero los permisos para otros.

Estos permisos son de 3 tipos:
a.- r (read), el usuario tiene permiso de leer el archivo
b.- (write), el usuario tiene permiso de escribir o editar (para archivos, permiso de editar;  para directorios, permiso de crear archivos en el directorio)
c.- (execution), ejecución.

Estos 9 caracteres son bits que pueden estar encendidos o apagados (desactivados). Si el bit está encendido o activado, mostrará el caracter correspondiente al permiso (rx) permitiendo al usuario la acción correspondiente. Si el bit está apagado, se mostrará un guión (-), indicando la denegación del permiso.

Entonces, supongamos que el dueño tiene todos los permisos, el grupo sólo puede ejecutar y el resto no puede hacer nada, quedaría de esta manera:
-rwx--x--- (estos ejemplos son meramente ilustrativos)

Dos ejercicios más. El dueño sólo puede leer, el grupo sólo ejecutar y el resto todos los permisos:
-r----xrwx

El dueño sólo puede ejecutar, el grupo todos los permisos y el resto todos los permisos:
---xrwxrwx

II.- La segunda columna imprime el número de enlaces al archivo.

No hay comentarios:

Publicar un comentario