Consideraciones previas:
Este tutorial está orientado exclusivamente a aquellos usuarios que son nuevos y principiantes en entornos GNU/Linux, para las distribuciones Ubuntu, Kubuntu y Xubuntu. Por lo tanto, este tutorial omite en reiteradas oportunidades aspectos de configuración avanzados y otro tipo de dificultades que no se consideran necesarias para una red hogareña ni para usuarios principiantes, así como aspectos técnicos y referidos a normas internacionales. También se considera que la red hogareña posee buen funcionamiento, buen mantenimiento y se ha utilizado anteriormente en otros sistemas operativos sin dificultades.
Convenciones:
Las líneas que disponen el signo “<” adelante se deben ser introducidas en la consola.
Las líneas que disponen el signo “>” adelante son las que se imprimen en la consola como salida del comando ejecutado.
Índice:
- 1. Introducción a samba:
- 1.1- El protocolo SMB.
- 1.2- Acerca de samba.
- 1.3- El archivo smb.conf.
- 1.4- Testparm, la utilidad de detección de errores de samba.
- 2.- Compartir carpetas sin usuario ni contraseña.
1.- Introducción a samba:
1.1- Introducción acerca del protocolo SMB:
SMB (Server Message Block) es un protocolo creado en 1985 por IBM (International Business Machines)
SMB fue originalmente diseñado para trabajar a través del protoclo NetBIOS (Network Basic Input/Output System), el cual a su vez trabaja sobre NetBEUI (NetBIOS Extended User Interface, o Interfaz de Usuario Extendida de NetBIOS), IPX/SPX (Internet Packet Exchange/Sequenced Packet Exchange, o Intercambio de paquetes interred/Intercambio de paquetes secuenciales) o NBT (NetBios over TCP), aunque también puede trabajar directamente sobre TCP/IP (Transfer Control Protocol/Internet Protocol, o Protocolo de Control de Transmisión/Protocolo de Internet)
1.2- Introducción acerca de Samba:
SAMBA (http://www.samba.org/) es un conjunto de programas, originalmente creados por Andrew Tridgell y actualmente mantenidos por The SAMBA Team (http://www.samba.org/samba/team.html), bajo la Licencia Pública General GNU (http://www.gnu.org/), y que implementan en sistemas basados sobre UNIX el protocolo SMB. Sirve como reemplazo total para Windows NT, Warp, NFS o servidores Netware.
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 SAMBA incluye utilidades para controlar el acceso de los archivos con la misma soltura que un WindowsNT. Veremos más adelante como configurarlo en detalle, pero es posible:
- * Proteger por contraseña el acceso a un directorio compartido.
- * Proteger con una contraseña personificada para cada usuario, y dotar de permisos de acceso individualizados.
1.3- El archivo smb.conf:
Samba utiliza un único archivo de configuración, llamado smb.conf , sito en /etc/samba/ que posee todas las entradas de configuración en modo texto, al estilo de los viejos archivos .ini de Windows. Para explicar este archivo, nada mejor que trabajar sobre un ejemplo. A continuación, expongo un archivo de configuración muy muy básico, que como verán es bastante autocomprensible:
[global]
workgroup = migrupo
security = share
[compartido]
path = /home/publico
read only = no
guest ok = yes
Las palabras puestas entre corchetes (“[" y "]“) significan lo que se llama una llave. Una llave sirve para establecer diferentes cosas. En este caso, utilizaremos 2 llaves, la ” global ” y la ” compartido “. La llave global establece directivas sobre cómo debe comportarse samba. En este caso, le especificamos a samba como se llama el grupo de trabajo.
La otra llave ( compartido ) es una llave donde cada uno puede establecer su nombre como le parezca, es decir, cada llave que se encuentre abajo de global será el nombre de como verán los otros usuarios de la red un recurso compartido.
En este caso cuando alguien se conecte a nuestra PC verá un recurso compartido llamado “compartido”, y no necesariamente se tiene que llamar igual que la carpeta (“publico”).
Ahora revisemos un poco para qué sirve cada clave:
NOTA: Algunas no aparecen en este ejemplo, pero en archivos de configuración más avanzados es altamente probable que las encuentren.
“workgroup” : Esta clave define en que grupo de trabajo vamos a encontrarnos con los otros PC’s de la red. Todos los PC’s de la red deben tener el mismo nombre de grupo de trabajo, de lo contrario, no podrán compartir los recursos de red.
“security” : Esta clave nos permite elegir entre compartir carpetas sin contraseña, o sea, a nivel servicio, o a nivel usuario, mediante la utilización de un usuario y una contraseña.
“path” : Esta clave se utiliza para indicarle a samba la ruta de la carpeta que queremos compartir, independientemente del nombre que elijamos para compartirla. Recordar que para compartir una carpeta, primero debemos asegurarnos de poseer los permisos necesarios para efectuar las operaciones que consideremos oportunas. Si en una carpeta tenemos acceso de sólo lectura, y compartimos la carpeta para que los otros usuarios de la red puedan cambiar el contenido, no podrán debido a que la carpeta no tiene los permisos requeridos.
“read only” : Como su nombre lo indica, esta clave establece si la carpeta compartida debe ser de solo lectura o no. Los valores posibles son “no” y “yes”.
“guest ok” : Esta clave es para habilitar lo que se llama el invitado, es para acceder sin usuario a una carpeta, y podamos verla. También supone un riesgo de seguridad esta clave, pero como estamos en un red hogareña, por el momento no nos interesa.
“netbios name” : Esta clave nos permite establecer el nombre de nuestra computadora en la red.
“comment” : Con esta clave, podremos agregarle un comentario a cada carpeta compartida.
“read list” : Es la lista de usuarios que tienen acceso de sólo lectura a este servicio. Los usuarios de esta lista NO poseerán el acceso de escritura, por que la opción de sólo lectura está activada.
“valid users” : Es la lista de usuarios que están permitidos para iniciar sesión en este servicio.
“write list” : Es la lista de usuarios que tienen acceso de escritura y lectura a este servicio. Los usuarios de esta lista SI poseerán el acceso de lectura, por lo tanto no es necesario ponerlo junto con “read list”. Aquí se utilizan juntos con fines de aprendisaje.
“encrypt passwords” : Con esta clave le indicaremos a samba si queremos encriptar las contraseñas almacenadas en el sistema.
De esta forma, si yo cambio el archivo smb.conf de la siguiente manera:
[global]
workgroup = migrupo
security = share
[ejemplo]
path = /home/publico
read only = no
guest ok = yes
Los otros usuarios de la red verán un recurso compartido llamado “ejemplo”.
Si quiero compartir más de una carpeta, en este ejemplo llamada “datos”, puedo hacer lo siguiente:
[global]
workgroup = migrupo
security = share
[publico]
path = /home/publico
read only = no
guest ok = yes
[segunda]
path = /media/datos
read only = yes
guest ok = yes
y los nombres de los recursos compartidos serán “publico” y “segunda” .
Para modificar el nombre con el que aparecemos en la red, podemos agregar la siguiente línea en la llave global:
netbios name = <nombre>
Donde <nombre> puede ser cualquiera que nos guste, recordar hacer testparm para evitar problemas por posibles restricciones en los nombres netBIOS.
Para cambiar la descripción de una carpeta, debajo de cada llave con el nombre de la carpeta podemos agregar:
comment = Los archivos de la mula
Así, un smb.conf de ejemplo nos podria quedar:
[global]
workgroup = migrupo
netbios name = pc_ricardo
security = share
[compartido]
path = /home/publico
read only = no
guest ok = yes
[emule]
path = /home/ricardo/descargas
comment = Los archivos de la mula
read only = yes
guest ok = yes
[mp3]
path = /home/ricardo/mp3
comment = Musica
read only = yes
guest ok = yes
1.4- testparm, la utilidad de corrección de errores de samba:
Para probar la configuración, existe un programa llamado TESTPARM que lee el archivo de configuración y reporta cualquier error de sintaxis. Cualquier parámetro de configuración aún no establecido será ajustado a su valor por defecto. Recuerde que su archivo de configuración puede estar sintácticamente correcto pero no apropiado para su uso, por ejemplo, si no creamos la carpeta “publico” en /home/ testparm EN NINGÚN CASO devolverá código de error.
Para estar seguros de que todo ande bien, adjunto la salida de testparm en mi computadora. Si no es idéntica la salida, no importa, cambia dependiendo de cada configuración.
< testparm
> Load smb config files from /etc/samba/smb.conf
> Processing section "[compartido]"
> Loaded services file OK.
> Server role: ROLE_STANDALONE
> Press enter to see a dump of your service definitions
> [global]
> workgroup = migrupo
> security = share
> [compartido]
> path = /home/publico
> read only = no
> guest ok = yes
2- Cómo compartir carpetas sin contraseña:
Instalación de los paquetes correspondientes:
Debemos instalar desde los repositorios los siguientes paquetes para asegurarnos de poseer todas las herramientas necesarias para compartir archivos e impresoras de manera correcta:
< sudo apt-get install -udV samba samba-common samba-doc-pdf gsambad < sudo apt-get install samba samba-common samba-doc-pdf gsambad
Los paquetes samba y samba-common son los básicos de samba, samba-doc-pdf como su nombre lo indica es la documentación del mismo en formato PDF (Portable Data Format) y gsambad es una utilidad de configuración gráfica de samba.
Una vez terminado el proceso (exitoso) de instalación, procedemos a configurar samba para poder comenzar a compartir.
Lo primero que tenemos que hacer, es generar una copia de back-up del archivo de configuración de samba. Luego, independientemente de qué sistemas operativos tengamos en las computadoras, establecer un grupo de trabajo (el mismo en todas) y un nombre para cada computadora (distinto en todas).
Para lograr lo primero hacemos:
< sudo cp /etc/samba/smb.conf /etc/samba/smb_old_0.conf
NOTA: El número se debe a que probablemente debamos configurar en reiteradas oportunidades este archivo, por lo tanto debemos generar distintos back-up’s del mismo por razones de seguridad, de esta manera sabremos que el 0 (cero) es el predeterminado de instalación.
Para establecer el grupo de trabajo simplemente consta en ponerse de acuerdo sobre el nombre del mismo y poner el mismo en todas las computadoras, tengan el sistema operativo que tengan.
Ahora vamos a compartir una carpeta de ejemplo, la crearemos por una cuestión de comodidad en /home/
< sudo mkdir /home/publico
Una vez creada la carpeta, debemos asignar los permisos necesarios para que los otros usuarios puedan acceder:
* Si queremos que los usuarios puedan escribir sobre la carpeta compartida ponemos:
< sudo chmod 755 /home/publico
* Si queremos que SOLO PUEDAN LEER (no podrán escribir ni modificar ni borrar archivos) ponemos:
< sudo chmod 555 /home/publico
Ahora bien, hecho esto pasamos a configurar directamente el archivo smb.conf. Por ahora, vamos a borrar completamente el contenido del archivo y vamos a copiar y a pegar exactamente esto:
para editar el archivo desde la interfaz gráfica: <sudo gedit /etc/samba/smb.conf
para editar el archivo desde la consola (terminal): <sudo nano /etc/samba/smb.conf
[global] workgroup = migrupo security = share [compartido] path = /home/publico read only = no guest ok = yes

Guardamos el archivo y ahora hay que comprobar si el archivo de configuración es correcto, para esto escribimos “testparm” en la terminal. (Ver apartado 1.5- Testparm, la utilidad de detección de errores de samba.)
Si todo salió bien, ahora debemos reiniciar el servidor samba para que tome los cambios propuestos, para esto hacemos:
< sudo /etc/init.d/samba restart
Debemos tener una salida como esta:
>* Stopping Samba daemons… [ OK ] >* Starting Samba daemons… [ OK ]
Con todo lo anterior deberíamos ser capaces de entrar desde un equipo con windows o linux a la carpeta /home/publico sin necesidad de tener nombre de usuario ni password:
* Desde Windows colocamos en la barra de direcciones de alguna ventana:
\\<direccion>\publico
O en su caso, acceder a redes en Windows desde el icono del escritorio REDES (Vista), MIS SITIOS DE RED (versiones windows anteriores)
* Desde Linux (que tenga instalado el paquete samba-client) abrimos una carpeta y colocamos en la barra de direcciones:
smb://<direccion>/publico/
donde <direccion> es “la dirección IP privada” del equipo GNU/Linux que contiene a la carpeta /home/publico. Desde sistemas operativos Windows también podemos acceder desde Entorno de red (o Mis sitios de red) por el explorador de Windows.
Linux- Menu Lugares ->Red->Red de Windows
y mostrará los equipos del grupo de trabajo definido por usted en los pasos anteriores.
Estos son los pasos, a mi me funciono en la red de la Universidad, cualquier detalle comenten aqui. Gracias
Hare otro articulo para explicar ahora con seguridad (contraseñas) en las carpetas compartidas.
ORACION DEL INGENIERO EN SISTEMAS
*****************************************
WebMaster nuestro que estas en www.heaven.com
Santificado sea tu server, venga a nosotros tu shareware
Hágase tu downloading así en el http como en el ftp
Danos hoy nuestro surfing de cada día,
Perdona nuestros bugs como nosotros también perdonamos a Microsoft.
No nos dejes caer en una HP y líbranos de toda NeXT.
Enter…
CREDO DEL INGENIERO EN SISTEMAS
**************************************
Creo en un solo lenguaje de programación, “C” Todopoderoso
Creador de Unix y de Windows ’98
Creo en un solo “C++”,
hijo único de “C” Nacido de “C” antes de “Visual C++”
“C” de “C”, Compilador de Compilador,
“C”©copyrighted, Compilado, no interpretado,
de los mismos programadores que el Padre
por quien todo es programado,
que por nosotros los hombres y nuestros servidores
fue desarrollado
y por obra del lenguaje Binario se encarnó en
ensamblador y se hizo lenguaje
y por nuestra causa
es ampliamente aceptado en tiempos de Bill Gates.
Decayó y fue olvidado y se renovó al tercer día,
según los usuarios.
Y subieron las ventas, y está ubicado dentro de todo Unix
Por quien todo es programado
Y de nuevo vendrá mejorado para juzgar a virus y programas
Y su dominio no tendrá fin.
Creo en el lenguaje
binario, código y base del sistema
Que precede al padre y al hijo Que con el padre y el hijo
recibe una misma aplicación y memoria
y que hablan por los procesadores…
Creo en la arquitectura IBM, que es una, sólida, compacta y compatible.
Confieso que no hay ni un sólo “undo” para la corrección de los errores
Espero la resurrección de las Macs y la vida en un mundo sin windows,
con Internet…
Enter