QUE ES SAMBA

Samba es el protocolo de comunicaciones que permite configurar maquinas con sistema operativo UNIX (LINUX, HP-UX, AIX, IRIX, etc) como servidores de ficheros e impresoras SMB, ademas de servidor de nombres NetBios (NBNS). Atraves de estos protocolos podemos compartir archivos de Windows con Samba.

Paso 0: Descargando la Distribución.

 Bajar el fuente o binarios

 La ultima versión la podemos bajar de los sitios FTP que podemos encontrar en www.samba.org, El archivo se llama samba-latest.tar.gz (latest significa ultimo). Preferiblemente bajarlo en el root de Linux o guardarlo en un CD–Rom.

 Descomprimirlo  desde el  root

             gzip –dv samba-lastest.tar.gz      (se descomprimirá parcialmente)

            tar –xvf samba-lastest.tar          (Extraerá el fichero samba-latest.tar en el directorio actual)

 La opción f,  le dice a tar que el siguiente argumento samba-latest.tar es el nombre del archivo a crear.  La opción v fuerza a tar en el modo verbose, (osea mostrando en pantalla el progreso de la tarea que realiza, en este caso los nombres de los ficheros según se archivan) y la x extrae el archivo.

             ls –al   (para listar lo que hemos descomprimido)  

Si tenemos el archivo samba-latest.tar.gz  en el cd-rom, montamos el cd-rom desde el directorio raiz, con la instrucción:

/#mount ../mnt/cdrom

Abra el directorio mnt: #cd mnt  y el directorio cdrom: mnt#cd cdrom

copiar el archivo samba-latest.tar al root, de la siguiente forma:

cdrom#cp samba-latest.tar.gz ../../root

luego puede descomprimir como se realizo en los pasos anteriores.

Paso 1: Estructuración de los Binarios.

 Crear el Makefile

 Esto es lo que hacemos cuando utilizamos "./configure". No hay mucha ciencia en este paso, aunque "./configure --help" nos dará una ayuda de parámetros adicionales que nos pueden servir.  Automáticamente se configurara Samba para su sistema de operaciones

 Pasos a seguir:

          #cd samba 2.2.5

            #cd source

            source# ./configure

 Compilar Samba  

source#make

Estando en el directorio /source, ejecutemos el comando make, esto creara los Binarios, los ficheros smbd, nmbd y smclient.

Ademas crea los siguientes clientes:

Instalar Samba

 Ahora ejecutemos "make install". Si la compilacion no ha producido errores puede utilizar 'make install', esto creara directorios y copiara archivos a los mismos, instalara los Binarios y páginas del manual.

source# make install

 Los directorios que se crean son los siguientes:

/usr/local/samba - Raiz de los demas directorios

 /usr/local/samba/bin - Los binarios de Samba

 /usr/local/samba/lib - smb.conf, lmhosts, etc. Si estamos utilizando una distribución binaria, lo mas probable es que estos archivos esten en /etc.

 /usr/local/samba/man - Paginas del manual

/usr/local/samba/private - Archivo encriptado de claves

/usr/local/samba/swat - Archivos de la aplicación SWAT

/usr/local/samba/var - Archivos de registro, de bloqueo, y demas misceláneos.

Atención, en las distribuciones binarias esta estructura no es así generalmente! Los binarios están en /usr/sbin, por darles un ejemplo.

 Paso 2: Cree el archivo de configuración smb.conf

 Configurar Samba

 La configuración de todo Samba se basa en el archivo smb.conf. Este archivo puede ser muy simple, o verdaderamente complejo, este archivo te permitirá iniciar los demonios y ver que todo esta funcionando como debiera; este fichero deberá estar ubicado en el directorio /usr/local/samba/lib. 

 Editar el archivo smb.conf  

Puede editar este archivo a través del editor VI  de Linux ó pico:

 [global]

# WORKGROUP: Nombre del grupo de trabajo o dominio en WINDOWS

workgroup = SANFRANCISCO

netbios name = SAMBA

#HOSTS ALLOW: Aquí autorizamos las máquinas de nuestra red

#hosts allow = 10.10.9. 255.255.255.0        

 # SERVER STRING: Descripción del servidor

server string = SERVIDOR SAMBA LINUX

 # Por favor lea ENCRYPTION.txt, Win95.txt and WinNT.txt en la

# documentación de Samba.

# No active estas opciones sin haber leído este documento

encrypt passwords = yes

smb passwd file = /etc/samba/smbpasswd

 # Definición de fólder compartidos

[homes]

   comment = Carpetas de cada usuario

   browseable = yes

   writable = yes

 [Publico]

   comment = Carpeta general accesible a todos los usuarios

   path = /publico _ samba

   available = yes

   public = yes

   writable = yes

   browseable = yes

   quest = ok

 La sección [global] es donde se introducen los parámetros que se aplicarán al servidor o se usarán como parámetros predeterminados para algunas secciones, por ejemplo, el grupo de trabajo al que pertenece el servidor SAMBA (workgroup).

 La sección [homes] Directorios personales, hace que un directorio personal de cada usuario esté disponible desde una máquina Windows con su nombre de usuario y contraseña, y permite a los usuarios remotos acceder a sus respectivos directorios principales en la máquina Linux local.

path indica donde está en la máquina Linux el directorio que se quiere poner como recurso compartido. Debe crear este directorio en el mismo camino que especifico en el path (/publico _ samba ). Las maquinas de Windows veran entoses la carpeta publico_samba, y dentro de ella todo los archivo que tengamos dentro.

 Paso 3: Testeando su archivo config con testparm.

 Es importante probar la validez de su archivo smb.conf que usa el programa testparm en usr/local/samba/bin.  Si testparm corre ¡Vale¡ entonces esto pondrá en una lista los servicios cargados.  Si no esto dará un mensaje de error.

 bin#./testparm

 Paso 4: Comienzo del smbd y nmbd.

 Usted debe decidir comenzar smbd y nmbd como demonios o inetd.  ¡No intente hacer ambos. La ventaja principal de comenzar el método del demonio smbd y nmbd, consiste en que ellos responden ligeramente mas rápidamente a una petición de conexión inicial. Utilizaremos para este proyecto los demonios smbd y nmbd.

 Comienzo del smbd y nmbd como demonios.

 Para comenzar el servidor como un demonio usted debería crear un script (escritura) quizás llamándolo startsmb, en usr/local/bin para arrancar los demonios: 

 #!/bin/sh

 /usr/local/samba/bin/smbd -D
/usr/local/samba/bin/nmbd -D


Entonces hágalo egecutable con chmod +x startsmb. 

bin# chmod +x startsmb

Usted puede entonces controlar el startsmb a mano o ejecutarlo de /etc/rc.local.

Si desea ver los permisos ejecute el siguiente comando.

bin# ls –al   x es permiso de ejecución

Correr los demonio 

Corra los demonio desde la huvicación (usr/local/samba/bin)

bin#./startsmb  

Gestión de usuarios y contraseñas bajo FreeBSD

FreeBSD es un sistema operativo, que nos permite poder realizar cualquier tipo de modificación o desarrollo sobre él, compilarlo, y comprobar los resultados.

 Para hacer Samba más seguro, tenemos que usar contraseñas encriptadas y la gestión de usuarios de forma correcta.

 Esta opción establece el uso de contraseñas encriptadas o de texto plano para la autenticación. Si la opción esta activada con yes en el archivo smb.conf, Samba esperara que los clientes envíen contraseñas encriptadas:

 encrypt passwords = yes

El fichero smbpasswd

Samba almacena sus contraseñas encriptadas en un fichero llamado smbpasswd, que por defecto reside en /usr/local/samba/private. El fichero smbpasswd ha de ser guardado tan celosamente con el fichero passwd; debe ser colocado en un directorio donde solo el usuario root tenga derechos de lectura/escritura. Todos los demás usuarios no deberán ser capaces de leer el directorio. Además el fichero ha de tener todos los accesos cerrados a todo el mundo excepto a root. Movemos  este archivo a: /etc/samba/smbpasswd. 

Antes de que puedas usar contraseñas encriptadas, necesitas crear una entrada para cada usuario Unix en el fichero smbpasswd. La estructura de este fichero es similar a la del fichero passwd, pero tiene diferentes campos. La figura ilustra el diseño del fichero smbpasswd; La entrada que se muestra es, de hecho, una sola línea del fichero.

Figura: Estructura una entrada de fichero smbpasswd (actualmente es una sola línea)

Vamos a ver un poco cada uno de los campos:

Username (Nombre de usuario). Este es el nombre de usuario de la cuenta. Se toma directamente del fichero de contraseñas del sistema.

UID. Es el ID Unix del usuario. Como el nombre de usuario, se toma directamente del fichero de contraseñas del sistema y debe coincidir con el usuario que representa en este.

Información sobre la contraseña LAN Manager.

Es una secuencia hexadecimal de 32 bits que representa la contraseña que utilizaran los clientes Windows.

Información sobre la contraseña NT.

Es una secuencia hexadecimal de 32 bits que representa la contraseña que utilizarán los clientes NT

Datos de la cuenta.

Este campo consiste en 11 caracteres entre 2 corchetes ([]). Cualquiera de los siguientes caracteres puede aparecer en cualquier orden, el resto serán espacios:

U Esta cuenta es una cuenta de usuario estándar de Unix.

D Esta cuenta está desactivada y Samba no permitirá ningún acceso.

N Esta cuenta no tiene contraseña asociada

Esta opción global indica la localización del fichero de contraseñas encriptadas. Por defecto, esta establecida a /usr/local/samba/private. Puedes establecerlo a otro valor como sigue:

 [global]

  smb passwd file = /etc/samba/smbpasswd  

Por lo tanto deberás mover el archivo smbpasswd a la dirección /etc/samba/smbpasswd

 Añadiendo usuarios a SAMBA.

Para permitir que los usuarios de Windows accedan a los recursos del servidor SAMBA, se deben adicionar sus nombres y contraseñas a una base de datos, para lo cual utilizaremos el comando:

smbpasswd -a nombreusuario

El programa solicitará la contraseña para este usuario, asegurar que estos datos sean los mismos que en Windows.Este programa esta en el directorio /usr/local/samba/bin.  

Nota:

Si usted desea egecutar todo estos comando desde cualquier lugar, debe copiar todo los archivos de /usr/local/samba/lib  a un directorio publico de Samba como /usr/local/bin

Ejm.:

# smbpasswd -a info09-02

  New SMB password:

  Retype new SMB password:

  Added user info09-02.

  Password changed for user info09-02.

#

Si sólo queremos cambiar la contraseña a un usuario ya existente, haremos lo mismo pero sin el modificador -a.

 Conectar una unidad de Windows con máquinas Linux

 smbclient (Un cliente SMB para maquinas UNIX)

Esta es una herramienta parecida a ftp que le permite conectarse a una PC Windows.  Es el cliente que nos instala samba por defecto.  Este comando permite acceder, desde un cliente GNU/Linux, a recursos puestos a disposición a través de servidores CIFS, bien se trate de un servidor Samba o de un servidor basado en Microsoft Windows. La interfaz es parecida a la del ftp, es de este modo es posible transferir ficheros sin esfuerzo.

 La sintaxis es : smbclient //maquina/recurso

 Opciones:

·        smbclient -L win -N (consulta lista de recursos compartidos accesibles en las PC denominada win a través de SMB)

·        smbclient //win/trabajo  o  smbclient \\\win\\trabajo (conectarse al recurso compartido trabajo en la PC denominada win)

·        smbclient //win/work -Tc trabajo.tar (crea archivador .tar del recurso compartido trabajo)

·        car carta.txt | smbclient //win/nombre_impresora mi_contraseña \ -N -c "put - darth" (para imprimir un archivo carta.txt con mi_impresora conectada a la PC win)