martes, 4 de diciembre de 2007

Tutorial Samba

Fuente: ThinkUbuntu

Aqui presento un tutorial sobre Samba. Os animo a que lo leais pues comento como aprovechar algún “fallo de seguridad” de windows, que nos permite acceder a cualquier dispositivo de almacenamiento, incluso no estando éste compartido explícitamente.

El tutorial es bastante simplón, pero cumple con los objetivos que me planteaba: aprender a poder compartir nuestras carpetas y ver recursos compartidos por otros usuarios.

0) ¿Qué es Samba?

Samba es una implementación libre del protocolo de archivos compartidos de Microsoft Windows (antiguamente llamado SMB, renombrado recientemente a CIFS) para sistemas de tipo UNIX. De esta forma, es posible que ordenadores con Linux o Mac OS X se vean como servidores o actúen como clientes en redes de Windows.

1) Accediendo a carpetas compartidas (Linux como cliente Samba)

Con Ubuntu, no tenemos que hacer nada en especial para utilizar nuestro PC como cliente Samba, es una función que viene activada por defecto. De modo que si queremos ver una carpeta compartida en la red por otro PC, tan solo debemos indicar su nombre o dirección IP precedido del protocolo samba, por ejemplo:

smb://choqui-pc

o equivalentemente

smb://192.168.7.110

Seguidamente se mostrarán las carpetas compartidas por el PC (si este las tiene), como en la siguiente imagen:

samba2.jpg

Podemos aprovechar un pequeño gran error de Micro$oft con Window$ XP (desconozco si ocurre también en Vi$ta) muy curiosete. Se trata de que por defecto XP, comparte TODOS los dispositivos de almacenamiento como un recurso administrativo. ¿Qúe significa esto? Pues que si conocemos el nombre de usuario y clave de un PC con XP, podemos acceder a TODOS sus dispositivos (Discos duros, unidades USB, unidades CD/DVD,…) sin que estos estuviesen compartidos explícitamente por el usuario y además con todos los permisos disponibles :)

Por ejemplo, podemos ver todo el contenido de su disco C si escribimos lo siguiente:

smb://choqui-pc/C$

Donde choqui-pc es el nombre del PC en cuestión. Repito que esto sólo es posible si la máquina tiene la compartición como recurso administrativo sobre la unidad C, aunque esto es por defecto, asi que es lo más probable porque la gente no se toma la molestía (quizás por desconocimiento) de quitarlos, pero para esto esta Micro$oft, para facilitarnos estos “truquitos”.

No vamos a comentar aqui como se desactivan este tipo de compartición, para eso ya existirán, imagino, blogs acerca del mundo de Gates :)

2) Compartiendo carpetas desde Linux

Para poder compartir carpetas de nuestro PC con Ubuntu, debemos antes hacer una serie de cosillas. Para empezar debemos instalar el siguiente paquete

$ sudo apt-get install samba

Pero esto no es suficiente, porque Ubuntu tiene cerrado el acceso inmediato por defecto, vamos igualito de seguro que windows XP ;)

Para desbloquear dicho acceso, debemos crear un usuario Samba:

Abrimos la terminal y tecleamos:

$ sudo smbpasswd -a thinkUbuntu

Donde “-a” sirve para agregar al usuario “thinkUbuntu”

Aquí nos pedirá que asignemos una contraseña y la confirmemos. Una vez creado el usuario, nos vamos a Sistema > Administración > Carpetas Compartidas

menu.jpg

En esta ventana, tenemos la posibilidad de añadir/editar las carpetas compartidas por nuestro equipo. Todo es tremendamente intuitivo, muy simple hasta para el más novato en estos temas de administración. Vemos que podemos dar permisos de Solo Lectura, para evitar que ningún cliente que se conecte nos pueda “toquetear” a su gusto, asi que en principio es lo más recomendable. Lo vemos en la siguiente imagen:

share.jpg

3) Accediendo a carpetas compartidas por Linux (Linux como Servidor Samba)

Después de todos estos pasos, ya podemos acceder desde Windows/Linux/MAC (cualquier cliente conectado a la red) a nuestras carpetas compartidas desde Ubuntu. Para ello podemos hacerlo igual que en el paso 1) Especificando el nombre o la dirección IP.

Por ejemplo si el cliente que intenta acceder a nuestra carpeta compartida, usa Linux con Samba, escribirá:

smb://motu

Si el cliente usa Window$, escribirá en la barra de direcciones lo siguiente

\\motu

Donde motu es el nombre en este caso del PC con Ubuntu.

Cuando lo hagamos, se nos pedirá escribir el usuario y la contraseña previamente asignados en Ubuntu.

Aqui os dejo una imagen, conectado a Ubuntu Gutsy desde Window$ XP

Desde Windows

Espero que haya servido de ayuda, si teneis cualquier duda o sugerencia, pues me dejais un comentario.

2 comentarios:

Anónimo dijo...

hola tu tutorial me ha servido sin embargo me pasan unas cosas algo curiosas cuando me conecto via wireless:

puedo acceder desde firefox a algunas carpetas compartidas via samba y el ip incluso como comentas puedo ver todas las unidades, pero desde la interfaz grafica para ver las redes aunque si veo al red de windows no me sale ningun equipo, intente desde rithmbox (mi intencion era ecuchar algo de musica que esta en la pc de mi hermano) y el asistente detecta la red de mi casa pero no me muestra ningun equipo he apagado los firewalls y aun asi nada puedes escribirme a dragonazul007@gmail.com

saludos
Edson

Victor dijo...

Lo cierto es que el navegador de red de windows tb me hace cosas raras, lo mejor es acceder desde nautilus, desde la barra de direcciones tal y como se muestran en las capturas y ya desde ahi tratar las carpetas del mismo modo que harias en modo local.

Por ejemplo yo para escuchar musica lo que hado es entrar desde nautilus y en la carpeta musica botón derecho y abrir con mi reproductor de música (siempre y cuando este me permita abrir archivos a través de la red).

Un saludo