Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Un sistema bien diseñado permite el acceso a un servidor de ficheros (remoto) con eficiencia y
fiabilidad comparables a las del acceso a los ficheros locales Además el acceso remoto es
“transparente” (los mismos servicios e interfaces que para acceder alos ficheros locales) En este
capiıtulo se ven como ejemplos NFS yAndrew. CODA se ve en otro capıtulo (el 18) Son,
b á sicamente, emulaciones distribuidas del sistema de ficheros de UNIX, con grados diferentes de
tolerancia de fallos y deescalabilidadDifieren algo de la “semantica de copia u
́ nica”de UNIX
http://www.dit.upm.es/~aalvarez/sodt/capit12.pdf
Los servidores pueden ofrecer un gran espacio de almacenamiento que sería costoso y poco
práctico suministrar a cada cliente. La utilidad de un sistema de ficheros distribuido se ve
claramente cuando se considera a un grupo de empleados que tienen que compartir documentos.
Por ejemplo, para compartir programas también es de gran utilidad. En ambos casos la
administración del sistema se simplifica.
Cuando un usuario pide un fichero para lectura o bien para escritura lo que hace es mandar al
kernel la petición y este se encarga de interactuar mediante algún protocolo (Ejemplo: 9P en Plan9
[13] y Styx en Inferno) con el sistema de ficheros distribuido para localizar el fichero pedido y
servírselo al usuario o aplicación que lo pidió. Por ejemplo el kernel de una máquina recibe la
petición de un fichero y este fichero lo tiene el sistema de ficheros de otra máquina que forma
parte de su sistema de ficheros distribuido aunque físicamente estén separadas
Veamos una figura que ilustre el mecanismo de montaje de varios servidores de ficheros en un
mismo cliente.
SISTEMA DE ARCHIVOS DISTRIBUIDOS (NFS) Network File System (sistema de archivos de red
NFS
El sistema NFS está dividido al menos en dos partes principales: un servidor y uno o más clientes.
Los clientes acceden de forma remota a los datos que se encuentran almacenados en el servidor.
Para que el sistema funcione correctamente se deben configurar y ejecutar unos cuantos
procesos.
NFS está formado de varios protocolos uno de los cuales se conoce como protocolo NFS. Los
protocolos del producto NFS están diseñados como un conjunto de capas, similares al modelo OSI.
Cada protocolo del producto NFS tiene una RFC Internet dedicada a su especificación.
NFS es un sistema de archivos distribuidos que permite el acceso a archivos remotos en una red a
través de un montaje de subdirectorios remotos. Una vez montado el directorio remoto el usuario
tiene acceso a varios servicios y puede ejecutar varias operaciones.
NFS, es un protocolo de nivel de aplicación, según el Modelo OSI. Es utilizado para sistemas de
archivos distribuido en un entorno de red de computadoras de área local. Posibilita que distintos
sistemas conectados a una misma red accedan a ficheros remotos como si se tratara de locales.
Originalmente fue desarrollado en 1984 por Sun Microsystems, con el objetivo de que sea
independiente de la máquina, el sistema operativo y el protocolo de transporte, esto fue posible
gracias a que está implementado sobre los protocolos XDR (presentación) y ONC RPC (sesión).1 El
protocolo NFS está incluido por defecto en los Sistemas Operativos UNIX y la mayoría de
distribuciones Linux.
El sistema NFS está dividido al menos en dos partes principales: un servidor y uno o más
clientes. Los clientes acceden de forma remota a los datos que se encuentran almacenados en el
servidor.
Las estaciones de trabajo locales utilizan menos espacio de disco debido a que los datos se
encuentran centralizados en un único lugar, pero pueden ser accedidos y modificados por varios
usuarios, de tal forma que no es necesario replicar la información.
Los usuarios no necesitan disponer de un directorio “home” en cada una de las máquinas de la
organización. Los directorios “home” pueden crearse en el servidor de NFS para posteriormente
poder acceder a ellos desde cualquier máquina a través de la infraestructura de red.
CIFS
Common Internet File System (CIFS) es un protocolo para compartir archivos que proporciona un
mecanismo abierto y multiplataforma para solicitar servicios y archivos de servidor de red. CIFS se
basa en la versión mejorada del protocolo SMB (Server Message Block) de Microsoft para
compartir archivos de Internet e intranet.
De esta forma podremos acceder a carpetas compartidas en red y la información que hay en ellas
con un entorno gráfico. También podremos asignarle diferentes permisos para diferentes usuarios
de la red.
SMB, conocido como CIFS, es un protocolo para compartir archivos, impresoras y otros
dispositivos a través de la red desarrollado por Microsoft e implementado en sus sistemas
operativos como una de las formas más sencillas de conectarse con otros ordenadores y
dispositivos a través de la red local. Este protocolo es, probablemente, el más sencillo para
conectarnos a otros ordenadores dentro de la red local ya que no necesita prácticamente ninguna
configuración. Además, también podemos utilizarlo desde la WAN, a través de Internet, para
acceder así a nuestros datos, aunque la verdad es que esto no es para nada recomendable como
os vamos a explicar.
SMB, CIFS o SAMBA, la implementación libre de este protocolo para sistemas Linux, está pensada
para utilizarse en una red local, generalmente redes seguras y de confianza, de manera que
podamos compartir información en LAN con el resto de equipos conectados a esta red. Sin
embargo, también podemos utilizar este ordenador desde WAN, en Internet. Para ello, lo único
que tendríamos que hacer sería abrir el puerto 445 en nuestro router apuntando a nuestro
ordenador o servidor CIFS y conectarnos a él desde el propio explorador de Windows utilizando
una ruta de red
Aunque SMB/CIFS no es un protocolo seguro para WAN (y tampoco para LAN, aunque suponemos
que la red LAN es de confianza), tampoco es el único que puede poner en peligro nuestra
seguridad. Sin ir más lejos, el conocido protocolo FTP envía usuarios y contraseñas en texto plano,
así como los archivos en paquetes de tráfico de red sin cifrar, o lo mismo ocurre con Telnet que,
además de enviar usuarios y contraseñas sin cifrar, puede llegar a permitir la ejecución de código.
Por suerte, para FTP y Telnet hay alternativas seguras (SFTP/FTPS y SSH), pero en el caso de
SMB/CIFS esto no es así.
Servicio de directorio
Un servicio de directorio sencillo es, por ejemplo, un servicio de nombres para corresponder los
nombres de los recursos de la red con sus respectivas direcciones de red. Con este tipo de servicio
de directorio, un usuario no tiene que recordar la dirección física de los diferentes recursos de la
red, pues con saber simplemente su nombre estará accediendo a tal recurso demandado. Cada
recurso de la red se considera como un objeto en el servidor de directorio, donde la información
de un recurso en particular se almacena como atributos de ese objeto. La información que
representa un objeto se establece de forma segura, accediendo a tales objetos usuarios con los
permisos adecuados para poder manipular dicha información. Directorios más sofisticados son
diseñados con multitud de características y preferencias para poder manipular la información
del directorio, según la dificultad de gestión que su administrador pretenda manejar.
Un servicio del directorio define el espacio de nombres de una red. Un espacio de nombres, en
este contexto, es el término que se utiliza para llevar a cabo unos o más objetos como entradas
nombradas. El proceso del diseño del directorio tiene normalmente un conjunto de las reglas que
determinan cómo se nombran y se identifican los recursos de la red. Las reglas especifican que
los nombres sean únicos e inequívocos. En X.500 (los estándares de servicio de directorio) y en
LDAP el nombre se denomina distinguished name (DN) y se utiliza para referirse al nombre único
de una entrada.
Como base de datos, un servicio del directorio está altamente optimizado para lecturas y
proporciona alternativas avanzadas de búsqueda en los diferentes atributos que se puedan asociar
a los objetos de un directorio. Los datos que se almacenan en el directorio son definidos por un
esquema extensible y modificable. Los servicios de directorio utilizan un modelo distribuido para
almacenar su información y esa información generalmente está replicada entre los servidores que
forman el directorio.
ARCHIVO
Toda la información, ya sean textos, imágenes, o información para la configuración del sistema, se
almacena en "ficheros", que a su vez se guardan en "directorios". Los ficheros son la estructura
empleada por el sistema operativo para almacenar información en un dispositivo físico como un
disco duro, un disquete, un CD-ROM. Con todas las herramientas y programas existentes se puede
acceder a estos ficheros para ver su contenido o modificarlo.
Todos los archivos de Linux tienen un nombre, el cual debe cumplir unas ciertas reglas:
Se puede utilizar cualquier carácter excepto la barra inclinada (/). No es recomendable emplear los
siguientes caracteres: = \ ^ ~ ' " ` * ; - ? [ ] ( ) ! & ~ < >, ya que éstos tienen un significado especial
en Linux.
Nota: Para emplear ficheros con estos caracteres o espacios hay que introducir el nombre del
fichero entre comillas.
Se puede emplear un cierto criterio de "tipo" (extensión) para marcar las distintas clases de
ficheros empleando una serie de caracteres al final del nombre que indiquen el tipo de fichero del
que se trata. Así, los ficheros de texto, HTML, las imágenes PNG o JPEG tienen extensiones .txt,
.htm (o .html), .png y .jpg (o .jpeg) respectivamente.
Directorios (o carpetas): Es un archivo especial que agrupa otros ficheros de una forma
estructurada.
Archivos especiales: Son la base sobre la que se asienta Linux, puesto que representan los
dispositivos conectados a un ordenador, como puede ser una impresora. De esta forma introducir
información en ese archivo equivale a enviar información a la impresora. Para el usuario estos
dispositivos tienen el mismo aspecto y uso que los archivos ordinarios.
DIRECTORIO
Un directorio es un conjunto de archivos, que a su vez pueden contener otros directorios. Los
directorios también poseen permisos, y eso es muy importante para evitar que los usuarios sin
experiencia, borren o modifiquen algo que no deban. El árbol de directorios nos ayuda a saber
dónde se encuentra un archivo.
A diferencia de los sistemas MS-DOS/Windows, en los sistemas UNIX no se dividen los directorios
entre las distintas unidades físicas (C:, D:, etc.). Al contrario, para UNIX todos son ficheros y
directorios. Éste considerará un disco duro o una disquetera como directorios. Por tanto, no tiene
sentido escribir en la consola "C:", sino que nos iremos al directorio asociado a esa partición.
Todos los ficheros y directorios de un sistema UNIX cuelgan de un directorio principal llamado
"raíz", que se representa como "/". El directorio raíz es la base para todo el arbol de directorios, es
allí donde están contenidos todos lo directorios del sistema.
Cuando el usuario accede a una sesión, Linux "envía" al usuario a su directorio de trabajo, que es
su directorio personal (/home/nombre-usuario). En donde el usuario tiene la libertad absoluta
para hacer lo que quiera con sus ficheros y directorios ubicados ahí. Sin embargo no podrá hacer
todo lo que quiera en el directorio de otro usuario, ya que Linux tiene un sistema de permisos que
concede o restringe libertades sobre los directorios y ficheros que hay en Linux. Aunque existe un
usuario "root", que sí tiene permiso de hacer cualquier cosa en Linux.