viernes, 27 de febrero de 2015

Sistemas de Archivos Linux.

Sistemas de Archivos.

Introducción:

Linux se base en que todo es un archivo. Desde los archivos de datos hasta las particiones de los discos pasando por el ratón y la tarjeta de sonido. Los directorios también son archivos.

Toda información se almacena en ficheros y éstos se agrupan en directorios y subdirectorios.
Estos directorios y subdirectorios descienden de un directorio principal, conocido como directorio raíz con una estructura jerárquica en forma de árbol. Si se quiere incluir un dispositivo externo a este árbol, hay que montarlo.

También hay que tener en cuenta que Linux es sensible a las mayúsculas y minúsculas, esto quiere decir, que para Linux, por ejemplo, prueba.txt y Prueba.txt son archivos distintos.


Jerarquía estándar:

/bin y usr/bin --> es el lugar donde se encuentran los ficheros ejecutables y los comandos más comunes.
/boot --> es el lugar donde se encuentran los ficheros para el arranque del sistema.
/dev --> se encuentra todo el hardware del equipo.
/home --> se encuentra las carpetas individuales de los usuarios, excepto la de root.
/lib y /usr/lib --> se encuentran las librerías del sistema.
/media se encuentran los dispositivos externos (independiente de la carpeta de montaje).
/mnt --> carpeta para montar dispositivos de almacenamiento por defecto (aunque se podrían montar en otro lugar, esta es una carpeta que ofrece Linux para tenerlo todo controlado).
/opt --> directorio auxiliar para instalar aplicaciones. No existe en todas las distribuciones.
/proc --> sistema de archivos virtual creado por el kernel en memoria.
/root --> home de root
/sbin y /usr/sbin --> comandos y ficheros ejecutables necesarios para tareas de administración.
/usr --> se encuentran las aplicaciones.
/var  --> información variable (colas de impresión, archivos de registro, logs...).

Enlaces:

Los enlaces son lo que se conoce en Windows como accesos directos.

La idea básica, es que en Linux, los archivos se identifican por un inodo único (enlace a la tabla de inodos que tiene información sobre el archivo) excepto el nombre del archivo que se almacena en el directorio junto a su inodo.

Por tanto, a la hora de crear un enlace se distinguen dos tipos:

  • Enlace duro: Es aquel que utiliza el mismo inodo. Mismo archivo en dos directorios.
  • Enlace simbólico: Distintos inodos.


Ficheros de dispositivos:






Permisos:

Si en nuestra terminal ejecutamos el comando ls- l, nos mostrará el contenido que hay en nuestro directorio actual de manera detallada.



Si hacemos zoom sobre alguno de estos podemos desglosar qué permisos tiene.
Los permisos de acceso de cada archivo y directorio del sistema son mostrados por un conjunto de 10 caracteres, los cuales proporcionan información acerca del tipo de elemento, junto con permisos para el usuario (u), el grupo propietario (g) y otros usuarios (o) para leer (r), escribir (w) y ejecutar (x), como se muestra en el siguiente ejemplo:



En este ejemplo podemos ver la siguiente notación drwxr-xr--x si hacemos la siguiente separación d|rwx|r-x|r-x| la d especifica el tipo de archivo, en este caso la d corresponde a un directorio. Los siguientes tres caracteres son los permisos para el usuario, en este caso tiene los tres permisos habilitados, lectura, escritura y ejecución. Los siguientes tres caracteres corresponden al grupo y en este caso tiene los permisos de lectura y ejecución, Los últimos tres caracteres son para otros usuarios y en este caso tienen los permisos de escritura y ejecución. El esquema de notación simbólica se compone de 10 caracteres, como ya hemos visto, donde el primer carácter indica el tipo de archivo:




Como se mencionó anteriormente, cada clase de permisos es representada por un conjunto de tres caracteres. El primer conjunto de caracteres representa la clase del usuario, el segundo conjunto de tres caracteres representa la clase del grupo y el tercer conjunto representa la clase de «otros» (resto del mundo). Cada uno de los tres caracteres representa permisos de lectura, escritura y ejecución, respectivamente y en ese orden. Aquí tenemos otros ejemplos:




Vemos que en la imagen declara el tipo de permiso que tiene de manera numérica. Esto es porque existe una notación octal que se utiliza para añadir permisos. Más adelante veremos cómo se otorgan los permisos de esta manera, pero primero veremos cómo funciona.

La notación octal consiste de valores de tres a cuatro dígitos en base-8. Con la notación octal de tres dígitos cada número representa un componente diferente de permisos a establecer: clase de usuario, clase de grupo y clase de otros (resto del mundo) respectivamente. Cada uno de estos dígitos es la suma de sus bits que lo componen (en el sistema numeral binario). Como resultado, bits específicos se añaden a la suma conforme son representados por un numeral:
  • El Bit de ejecución (acceso en el caso de directorios) añade 1 a la suma.
  • El bit de escritura añade 2 a la suma.
  • El bit de lectura añade 4 a la suma.
Estos valores nunca producen combinaciones ambiguas y cada una representa un conjunto de permisos específicos. De modo tal puede considerarse la siguiente tabla:




Establecer permisos:

Para otorgar los permisos, se utiliza el comando chmod. Su sintaxis es chmod <opciones> <fichero>.

Existen dos maneras de añadir los permisos, de manera octal que ya adelantamos algo anteriormente y asignando las letras r,w ó x a los usuario u, grupos g, otros usuarios o. Si queremos añadir un permiso a todos los usuarios utilizaremos la letra a.

Ejemplos:

  • Manera octal: chmod 745 fichero (esto añadiría al fichero los permisos de lectura, escritura y ejecución a los usuarios (u), el permiso de lectura al grupo (g) y los permisos de lectura y ejecución a otros usuarios (o)).
  • Manera asignando letras: chmod u+rwx, g+r, o+rx fichero añade los mismos permisos que el anterior ya que es lo mismo, pero de la otra forma). De la misma forma que con el operador + se añaden permisos, con el - se quitan. Además, si se utiliza el símbolo = reemplazaría los permisos que tuviese por los que se añadan después del igual. Por ejemplo, si el usuario (u) tiene los tres permisos, rwx, si ejecutamos el siguiente comando chmod u=w fichero pasaría de tener todos los permisos a tener el permiso de escritura.
  • También como comentamos anteriormente, si usamos la letra a se aplicará a todos los usuarios, por lo que el comando chmod a=rwx fichero asignará todos los permisos (rwx) a todos los usuarios (u,g,o).


Usuario y propietario:

  • chown <opción> <nombre_usuario> <fichero> (con este comando haremos que el usuario indicado sea propietario del fichero o directorio especificado, si al comando le añadimos la opción -R, también será el propietario de los archivos y subdirectorios dentro del directorio.
  • chgrp <opción> <nombre_grupo> <fichero> (se usa para cambiar el grupo de un archivo o directorio).

Administrador de archivos mediante Nautilus:





Compartir una carpeta:

Es posible entre cualquier sistema operativo. Tendremos que ir a Lugares --> Carpeta personal. Una vez ahí sobre la carpeta que queramos compartir --> Menú editar --> Opciones de compartición.
Para ello necesitaremos tener Samba instalado, sino lo tenemos y lo instalamos, habrá que reiniciar y repetir los pasos.
Indicaremos el nombre a la compartición, permitimos (o no) escribir a otras personas en esta carpeta y añadimos un comentario.
Luego permitiremos (o no) el acceso a invitados.
Creamos la compartición.
Añadimos los permisos automáticamente.
Y por último, aparecerá en el panel izquierdo en Red/Mi equipo.


Modificar los permiso de manera gráfica:


  • Lugares --> Carpeta Personal
  • Sobre la carpeta que vamos a cambiar, botón derecho y propiedades.
  • Permisos











No hay comentarios:

Publicar un comentario