You are on page 1of 18

QUE ES SAMBA

Es un software que permite a tu ordenador con Ubuntu poder compartir


archivos e impresoras con otras computadoras en una misma red local. Utiliza
para ello un protocolo conocido como SMB/CIFS compatible con sistemas
operativos UNIX o Linux, como Ubuntu, pero además con sistemas Windows
(XP, NT, 98...), OS/2 o incluso DOS.

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 actúen como clientes en redes de Windows. Samba también
permite validar usuarios haciendo de Controlador Principal de Dominio, como
miembro de dominio e incluso como un dominio Active Directory para redes
basadas en Windows; aparte de ser capaz de servir colas de impresión,
directorios compartidos y autenticar con su propio archivo de usuarios.

Samba fue desarrollado originalmente para Unix por Andrew Tridgell utilizando
un sniffer o capturador de tráfico para entender el protocolo a través de la
ingeniería inversa. El nombre viene de insertar dos vocales al protocolo
estándar que Microsoft usa para sus redes, el SMB o server message block.

En un principio, Samba tomó el nombre de smbserver pero tuvieron que


cambiarlo por problemas con una marca registrada. Tridgell buscó en el
diccionario de su máquina Unix alguna palabra que incluyera las letras “s”, “m”
y “b” con la orden grep hasta que dio con Samba.

Samba configura directorios Unix-Linux (incluyendo sus subdirectorios) como


recursos para compartir a través de la red. Para los usuarios de Microsoft
Windows, estos recursos aparecen como carpetas normales de red. Los
usuarios de Linux pueden montar en sus sistemas de archivos estás unidades
de red como si fueran dispositivos locales, o utilizar la orden smbclient para
conectarse a ellas muy al estilo del cliente de la línea de órdenes ftp. Cada
directorio puede tener diferentes permisos de acceso sobrepuestos a las
protecciones del sistema de archivos que se esté usando en Linux. Por
ejemplo, las carpetas home pueden tener permisos de lectura y escritura para
cada usuario, permitiendo que cada uno acceda a sus propios archivos; sin
embargo, deberemos cambiar los permisos de los archivos localmente para
dejar al resto ver nuestros archivos, ya que con dar permisos de escritura en el
recurso no será suficiente
INSTALACION DE SAMBA EN UBUNTU

Lo primero es instalar Samba (como siempre les recuerdo que para instalar
cualquier cosa en Linux necesitan tener privilegios de administrador o ser root,
en el caso de utilizar Ubuntu colocando sudo antes de los comandos permite
adquirir privilegios de root).

Primero que todo actualizamos todos los paquetes que temenos con el
siguiente comando apt-get update
Luego nos vamos a instalar el programa con el siguiente comando apt-get install
samba

Ahora descargamos el paquete smbclient este nos sirve para ver los recursos
disponibles en el servidor.
El archivo de configuración de Samba puede ser encontrado en
/etc/samba/smb.conf vamos a editar este archivo, primero realizamos una
copia de respaldo:

Siempre es bueno realizar una copia de los archivos de configuración que


modifiquemos en caso de que cometamos algún error podamos volver a la
configuración inicial, además podemos agregarle la fecha en que se realizo la
copia para tener un registro.

Para agregar una carpeta

Primero debemos crear una carpeta con permisos (por ejemplo) :

$ mkdir /home/public
$ chmod 755 /home/public

Ahora entramos a editar el archivo llamado “prueba” y dentro de este copiamos


algo como “bienvenidos al mejor baile del mundo samba” con el comando nano
prueba.”
Para guardar el archivo tienen que teclear ctrl+”o” (aquí sobre escriben el
archivo original) y luego ctrl+”x” (para salir del editor nano).

Para modificar el grupo de trabajo

Primero abrimos el archivo chmod 755 /home/publicpara modificarlo:

Luego buscamos (control+w) la línea que diga algo como:

Nota: usar nano nos libra de estar pensando con que entorno grafico estamos,
siempre recordar que se aplica solo en distros debían o derivadas como es
Ubuntu.

En el archivo que tenemos en edición cambiamos donde dice workgroup =


MSHOME y reemplazamos MSHOME por el nombre de nuestro grupo de
trabajo asi:

Workgroups = ESTUDIANTES

Donde ESTUDIANTES es el nombre del grupo de trabajo de MS Windows o el


nombre de dominio, de donde será parte el servidor Samba. Tienes que
configurar el mismo grupo de trabajo en tus computadoras Windows, esto lo
puedes hacer en Panel de control>Sistema>Nombre de Equipo>Cambiar
Nombre.

Si quieres tambien puedes cambiar la linea donde dice server string esto es
simplemente la descripción que verá tu grupo del servidor puedes colocar algo
como:
server string = %h Servidor de archivos
%h lo que hace es imprimir el nombre de host de tu servidor.
Guarda los cambios y sigamos.

Para agregar una carpeta y Para Compartir la Unidad de CDRom

Primero debemos crear una carpeta con permisos (por ejemplo) :


$ mkdir /home/public
$ chmod 755 /home/public

Luego abrimos el archivo /etc./samba/smb.conf para modificarlo:

Y le agregamos, al final, algo como esto:


Las opciones son auto-sugerentes, por ejemplo "public = yes" es para que se
pueda acceder a la carpeta (el permiso x de sistema), y "writable = no" es
para que no se pueda escribir (el permiso w de sistema).

A la unidad de CD-ROM (le agregamos un nuevo parámetro "browseable =


yes" esto sirve para ingresar a la maquina por medio de windows y Linux de
forma remota y ver la carpeta que esta compartida)

Más sobre los permisos de las carpetas

Generalmente al usuario externo que tiene acceso al equipo a través de


Samba, el sistema le da como nombre de usuario nobody y como nombre de
grupo nogroup, es así como podemos cambiar el nombre de usuario y nombre
de grupo a nuestras carpetas, con el fin de que el sistema también sepa quién
es el propietario de esa carpeta:

$chown nobody: nogroup /home/public


$ chmod 555 /home/public

Y si queremos que también pueda escribir sobre esta carpeta

$sudo chmod 755 /home/public


Y además debemos decirle a Samba que se lo permita (acuérdate que para
que un permiso sea válido, tanto el sistema como Samba deben estar de
acuerdo).
PARA NO USAR CONTRASEÑA

Abrimos el archivo /etc/samba/smb.conf para modificarlo

Buscamos (control+w) la línea donde diga algo como:

; security = user

Y la reemplazamos por:

security = SHARE

Cambiar contraseña de un usuario en un dominio Windows desde Ubuntu

Para cambiar la contraseña de un usuario de dominio de Windows no es


necesario ir a un PC Windows sino que se puede hacer desde el propio
Ubuntu. Para hacerlo sólo hay que abrir un terminal y ejecutar este comando:

smbpasswd -r WindowsDC -U nombreUsuario

Donde WindowsDC es en este caso la dirección del controlador de dominio de


Windows y nombreUsuario el usuario en el dominio.
Al ejecutar el comando pedirá la antigua contraseña en primer lugar y
posteriormente pedirá la nueva.

Una vez hecho esto ya podemos hacer login con la nueva contraseña.

Agregando usuario

Suele pasar que cuando entras desde Windows a una carpeta compartida en
ubuntu, te pide usuario, puede hacer lo siguiente:

sudo smbpasswd -a tu_usuario

si deseas le pones contraseña por motivos de seguridad, y si no necesitas la


constraseña solo dale enter.

Para reiniciar samba

Luego de efectuar algún cambio en el archivo /etc/samba/smb.conf debemos


reiniciar samba, para ello:

Y ya tenemos instalado samba.

Con todo lo anterior deberíamos ser capaces de entrar desde un equipo con
Windows o Linux a la carpeta /home/public sin necesidad de tener nombre de
usuario ni password:

Desde Windows colocamos en la barra de direcciones de alguna ventana:

\\192.168.3.1\public

Desde Linux (que tenga instalado el paquete samba-client) abrimos una


carpeta y colocamos en la barra de direcciones:

o smbclient //192.168.3.1/public/

Donde 192.168.3.1 es "la IP privada" del equipo Linux que contiene a la


carpeta /home/public
En nuestro navegador copiamos el siguiente link

ftp://10.0.2.15 e inmediatamente ingresaremos a nuestro archivo compartido

Le damos clic en el archivo y nos mostrara la información de dichas carpetas


CONFIGURACIÓN DEL CLIENTE WINDOWS

Lo primero que haremos será asignarle la dirección IP del servidor por el cual
queremos compartir las carpetas de Ubuntu. Nos vamos a la barra de tares y
en el icono conexión de área local le damos clic y nos aparecerá esta ventana

Abrimos el cuadro y nos aparecerá lo siguiente, buscamos la opción


Protocolo Internet TCP/IP y le damos doble clic
Nos mostrara esta ventana y le agregamos dirección IP del servidor DNS
de Ubuntu, al cual queremos acceder para compartir carpetas y le damos
aeptar

Para poder compartir la información modificamos el grupo de trabajo de


Windows INICIO >MI PC >CLIC DERECHO>PROPIEDADES
Nos mostrara esta pantalla le damos clic en nombre del equipo

En este cuadro nos vamos a la opción que dice grupo de trabajo y lo


cambiamos por el que configuramos en samba y le damos aceptar
Para ver finalmente nuestras carpetas compartidas nos vamos por
inicio>panel de control>conexiones de red

Le damos clic y nos aparecerá esta ventana buscamos la opción mis sitios de
red y le damos clic y luego nos aparece otra ventana y le damos en la opción
ver equipos del grupo de trabajo
En grupos de trabajo buscamos nuestro grupo de trabajo que en este caso nos
aparece así: Sena-desktop server (samba, Ubuntu), Sena server samba,
Ubuntu).

Le damos clic y podemos entrar a nuestra carpeta compartida la cual nos


pedirá una contraseña que es la del servidor
Abrimos las carpetas y podremos ver el contenido de ellas