Friday, March 31, 2006

Cómo montar recursos compartidos en Linux

Como ya hemos visto en otra ocación un equipo con GNU/Linux instalado permite la interconectividad con el resto de los equipos que se encuentren dentro de su red, sea con otro Linux o un Windows.

En Linux existen diversas formas de conectarse a un recurso compartido de Windows o Linux, como puede ser a través del konqueror (para kde), el nautilius (para gnome) o cualquier otro administrador de archivos que soporte el protocolo SMB (Poniendo por ejemplo smb://192.168.1.2/recurso). Otra vía puede ser por el comando smbclient (Ej. smbclient //192.168.1.2/recurso -U nombreUsuario).

Estos comandos hacen de una forma u otra algo engorroso el trabajo con los archivos remotos, por lo que una vía factible para trabajar de una forma más fácil con estos archivos es montándolos en su computadora.

Entonces, ¿ Cómo montar el recurso compartido ?

Bueno, para esto se hace uso del comando smbmount, el cual te brinda esta posibilidad, quedando el mismo de la siguiente forma:

smbmount //ipPcRemota/recurso /path/donde/montaras/el/recurso -o username=nombreUsuario

(Ej. smbmount //192.168.1.2/recurso /mnt/red -o username=tester)

y ya con esto tienes el recurso compartido montado en tu computadora. Ahora una vez que termines de trabajar con el mismo debes desmontarlo, lo cual sería de la forma siguiente:

smbumount /path/donde/montaste/el/recurso

(Ej. smbumount /mnt/red)

BASH para montar recursos compartidos

Debido a lo tedioso que es en Linux aprenderse todos estos comandos con sus opciones, es mejor en ocasiones hacer un bash que te ayude y agilice el trabajo con estos.

Por lo que el del smbmount podría quedar así:

#BASH PARA MONTAR UN RECURSO COMPARTIDO EN LA PC

#

echo -n "Dirección del recurso compartido (Ej. //192.168.1.2/red):";read NET

echo -n "Ruta de la carpeta donde se montará el recurso (Ej. /mnt/red):"; read MNT

echo -n "Usuario:";read USER

if test $NET && test $MNT && test $USER

then smbmount $NET $MNT -o username=$USER

else echo "Por favor, compruebe que todos los datos son correctos"

fi

Una vez hecho lo guardarías, por ejemplo con el nombre net2mnt, le pondrías permiso de lectura y ejecución (Ej. chmod 755 net2mnt ó chmod a+rx net2mnt) y lo colocarías en /usr/bin (para Debian) para que sea accesible por todos los usuarios de tu computadora y puedan hacer uso del mismo.

Wednesday, March 08, 2006

Cómo configurar el smb.conf del SAMBA

La interconectividad entre un equipo con GNU/Linux instalado y el resto de los equipos en red en una oficina con alguna versión de Windows es importante, ya que esto nos permitirá compartir archivos e impresoras. Esta interconectividad se consigue exitosamente a través de SAMBA.

¿Qué es SAMBA?

SAMBA es una implementación bajo Unix de los protocolos CIFS y NetBIOS (antiguamente llamado SMB, de allí el nombre de SAMBA)

Este protocolo permite compartir varios recursos diferentes:

  • El acceso a las impresoras conectadas físicamente a las máquinas.

  • El acceso a los directorios compartidos.

El paquete de SAMBA incluye utilidades para controlar el acceso de los archivos con la misma soltura que un Windows NT, además SAMBA puede colaborar con un servidor NT existente, o reemplazarlo del todo, siendo posible con SAMBA proteger por contraseña el acceso a un directorio compartido, proteger con una contraseña personificada para cada usuario, dotar de permisos de acceso individualizados, y más.

Entonces, ¿Cómo configurar SAMBA?

El fichero de configuración del SAMBA radica en /etc/samba/smb.conf, el cual debemos editar con algún editor de texto o simplemente desde el mismo mc (Midnight Commander).

Dentro de este se configuran todos los recursos que se desean compartir.

Para hacer esto primeramente debemos configurar los parámetros globales, lo que quedaría de la siguiente forma:

[global]

workgroup = grupo_de_trabajo ;Nombre del grupo de trabajo de su máquina

server string = Cualquier descripcion ;Esto es opcional

encrypt passwords = yes ;Poner no para interoperar con clientes W 3.x y W95


Una vez hecho esto ya estamos en condiciones de compartir alguna carpeta de nuestro sistema.

[datos] ;Nombre del recurso compartido

path = /home/myuser ;Ruta de la carpeta que desea compartir

read only = no ;Si desea que sea de solo lectura o no, por defecto es yes

guest ok = no ;Si desea autorizar el acceso a invitados, por defecto es yes

browseable = yes ;Indica si el recurso debe ser visible o no

valid users = myuser,root ;Limitar el acceso al recurso a ciertos usuarios

admin users = root ;Limitar la administración del recurso a ciertos usuarios


Ya con esto tenemos configurado nuestro SAMBA para su correcto funcionamiento, ahora, debemos crear los usuarios de SAMBA que colocamos en el smb.conf.

smbpasswd -a nombreusuario

Una vez hecho esto ya estamos en condiciones de reiniciar nuestro SAMBA y empezar a utilizarlo.

/etc/init.d/samba restart

Nota: Este pequeño manual está hecho para ser utilizado en Debian, por lo que la ruta de los ficheros de configuración puede cambiar en alguna otra distribución de Linux.

Sunday, March 05, 2006

Web Semántica: La Web del futuro. (II Parte)

¿Cómo funciona?


La forma en la que se procesará esta información no sólo será en términos de entrada y salida de parámetros sino en términos de su SEMÁNTICA.

Para obtener esa adecuada definición de los datos, la Web Semántica utiliza RDF y OWL, dos estándares que ayudan a convertir la Web en una infraestructura global en la que es posible compartir, y reutilizar datos y documentos entre diferentes tipos de usuarios.

¿Qué es RDF?

RDF es un lenguaje para representar información sobre recursos de la Web (metadatos), el objetivo de RDF radica en “especificar semántica para los datos basados en XML, de una manera interoperable y estandarizada” y se utiliza, por ejemplo, en catálogos de libros, directorios, colecciones personales de música, fotos, eventos, etc.




Sintaxis del RDF



¿Y OWL?

OWL es un lenguaje RDF que puede definir mejor un vocabulario o desarrollar temas específicos en los que asociar esos recursos. Lo que hace OWL es proporcionar un lenguaje para definir ontologías estructuradas que pueden ser utilizadas a través de diferentes sistemas. Las ontologías, que se encargan de definir los términos utilizados para describir y representar un área de conocimiento, son utilizadas por los usuarios, las bases de datos y las aplicaciones que necesitan compartir información específica, es decir, en un campo determinado como puede ser el de las finanzas, medicina, deporte, etc. Las ontologías incluyen definiciones de conceptos básicos en un campo determinado y la relación entre ellos.


Ejemplos de Aplicaciones

Dos de los ejemplos más conocidos de aplicación de Web Semántica son RSS (http://web.resource.org/rss/1.0/) y FOAF (http://www.foaf-project.org/).

  • RSS es un vocabulario RDF basado en XML que permite la catalogación de información (noticias y eventos). Los archivos RSS contienen metadatos sobre fuentes de información especificadas por los usuarios cuya función principal es avisar a los usuarios de que los recursos que ellos han seleccionado para formar parte de esa RSS han cambiado sin necesidad de comprobar directamente la página.

  • FOAF es un proyecto de Web Semántica, que permite crear páginas Web para describir personas, vínculos entre ellos, y cosas que hacen y crean. Se trata de un vocabulario RDF, que permite tener disponible información personal de forma sencilla y simplificada para que pueda ser procesada, compartida y reutilizada. Con esta descripción de, los datos personales serán compartidos en la Web, pasando a formar parte de un motor de búsqueda donde será posible descubrir información a cerca de una persona en concreto y de las comunidades de las que es miembro de una forma sencilla y rápida.

Los buscadores semánticos (Ej. “swoogle” http://swoogle.umbc.edu/) son un ejemplo más de aplicaciones basadas en Web Semántica. Su objetivo es satisfacer las expectativas de búsqueda de usuarios que requieren respuestas precisas.

Friday, March 03, 2006

Web Semántica: La Web del futuro. (I Parte)

Actualmente es una interrogante para muchos como será la Web de futuro, pues la manera como se desarrolle la Web influirá en nuestra forma de usarla (consultas, compras,...), así que conviene saber hacia adónde podría dirigirse la Web.

Para los entendidos en el tema ya es un hecho que la Web del futuro será “inteligente”. Es decir, que estará llena de información que las máquinas podrán “comprender” y a partir de la cual extraerán conclusiones de interés para los usuarios.

La necesidad de una Web “inteligente” aparece en cuanto consideramos que la Web actual está formada por unas 11.500 millones de páginas estáticas (no creadas en respuesta a las acciones de los usuarios). Los buscadores Web más usados cubren bastante bien el total de la red: Google cubre 8.800 millones de páginas; Yahoo 8.000 millones, y MSN, 7.100 millones.

Ninguno de ellos ofrece búsquedas “inteligentes”, adaptadas a las intenciones de los usuarios. Los procedimientos que usan para valorar la relevancia de los resultados devueltos obedecen a criterios estadísticos, no a los del usuario. Por ejemplo, un buscador Web puede encontrar miles de páginas que contengan las palabras “García”, “México D. F” y “Venezuela”; pero es incapaz de aceptar una petición del tipo “Busco a una persona apellidada García que viven en la calle Venezuela de la ciudad de México D. F.”.

Problemas de la Web actual

Las Web inteligentes deben resolver los problemas de la Web actual, pues si bien esta última constituye un avance tecnológico impresionante, adolece de dos carencias cruciales.

En primer lugar, no incorpora mecanismos que permitan el procesado automático de la información; esto es, que hagan que la información pueda ser procesada por máquinas. Por ejemplo, un programa buscador de información que acceda a la página Web de un profesor universitario desconoce que en el mundo hay personas que trabajan en unas instituciones llamadas universidades y que imparten clases a las que asisten unas personas llamadas alumnos, a quienes el profesor asigna calificaciones según sus conocimientos de la materia impartida en las clases. Ignorando toda esta información, el programa sólo puede realizar un procesado muy primitivo de la información presentada en la página del profesor, basado en la búsqueda de palabras clave en el texto de la página.

En segundo lugar, la Web actual no incluye mecanismos para la interoperabilidad completa de los sistemas de información (SI) basados en la Web.

Para que haya una comprensión común de un dominio, los sistemas de información de las partes interesadas en él deben cumplir tres tipos de interoperabilidad:

Interoperabilidad técnica. Se refiere a la capacidad de los SI para intercambiar señales.

Interoperabilidad sintáctica. Se refiere a la capacidad de los SI para leer datos procedentes de otros SI y obtener una representación que puedan usar.

Interoperabilidad semántica. Es la capacidad de los SI para intercambiar información basándose en un común significado de los términos y expresiones que usan.



Dificultad para encontrar información

No son los buscadores los responsables últimos de la dificultad para encontrar información en la Web, sino el lenguaje con que se construyen las páginas Web (HTML).

Este lenguaje de etiquetado sólo permite especificar cómo se va a mostrar una página HTML, pero resulta inútil para dar “contexto” a una página. Por ejemplo, HTML no permite expresar que la palabra “antenas” en un documento está relacionada con un insecto blancuzco y famoso por su voracidad hacia la madera, y no con un emisor o receptor de radiofrecuencias. En pocas palabras, el HTML no proporciona semántica a los datos.

Ahora, ¿Cuál será la solución a los problemas anteriores?

La solución a estos problemas vendrá de lo que se conoce como la Web semántica. Esta es una Web extendida, dotada de mayor significado en la que cualquier usuario en Internet podrá encontrar respuestas a sus preguntas de forma más rápida y sencilla, gracias a una información mejor definida.



Comparación entre una red de datos y una red semántica

La Web semántica se basa en que las máquinas comprendan el significado de la información disponible en ella; de ahí el adjetivo “semántica”.

Para las máquinas actuales, “comprender” no debe entenderse en el sentido de “comprensión humana”, sino en el de “inferir, deducir” mediante procesos lógico-matemáticos.