Monday, December 08, 2008

¿Qué es Samba y cómo instalo Samba ?

Al leer el título de ¿ cómo se instala?, se le debió haber ido al lector la loca idea, que hablaremos acerca de una danza brasileña.
Lamentable para varios, interesante para muchos otros, en esta ocasión tocaremos el tema de qué es el software de Samba, y cómo se puede instalar en una máquina, para tenerlo listo para usar.
En primera instancia es importante entender, ¿para qué usaríamos Samba?
Es claro que Linux es genial, y lo amamos, sin embargo no vivimos en un mundo aislado, esto es podemos tener nuestro sistema Linux, mas es muy comùn que queramos acceder a archivos en otros sistemas operativos--el más típico es uno que esté corriendo Microsoft Windows. El paquete de Samba se puede instalar en la distribución Linux que se tenga,para hacer posible que se puedan compartir archivos.
En si Samba es una herramienta para los sistemas UNIX que permite compartir archivos sobre una red que tenga Microsoft Windows o cualquier otro sistema operativo que soporte el modo de compartimiento de archivos que utiliza Microsoft Windows, Microsoft Windows file sharing, este protocolo se suele llamar SMB, el cual mantiene las siglas de Server Message Block,ie. Bloque de Mensaje de Servidor.

Para instalar Samba, simplemente se escribe en la consola:
sudo apt-get install samba

¡No se debe cerrar la terminal al concluir la instalaciòn, ya que la usaremos aún para otras tareas!

Ahora veremos cómo se debe configurar Samba.
Para ello primero detengamos a Samba

sudo /etc/init.d/samba stop

Debido a que lo que se acaba de instalar de Samba, mete un archivo predefinido, que no hace mucho, lo vamos a renombrar, (siempre es bueno mantenerlo, por si ocurre cualquier cosa incómoda) para trabajar con el archivo original, y meterle las cosas que requerimos.
sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.template
Después crearemos un archivo nuevo vacío.
sudo touch /etc/samba/smb.conf
finalmente necesitamos abrir el archivo dentro de algún editor.

sudo nano /etc/samba/smb.conf

Se deberá copiar/pegar el contenido de la sección que se muestra a continuación en el editor y continuar ...

[global]
; General server settings
netbios name = TU_NOMBRE_DE_HOST
server string =
workgroup = TU_GRUPO_DE_TRABAJO
announce version = 5.0
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192

passdb backend = tdbsam
security = user
null passwords = true
username map = /etc/samba/smbusers
name resolve order = hosts wins bcast

wins support = yes

printing = CUPS
printcap name = CUPS

syslog = 1
syslog only = yes

; NOTE: If you need access to the user home directories uncomment the
; lines below and adjust the settings to your hearts content.
;[homes]
;valid users = %S
;create mode = 0600
;directory mode = 0755
;browseable = no
;read only = no
;veto files = /*.{*}/.*/mail/bin/

; NOTE: Only needed if you run samba as a primary domain controller.
; Not needed as this config doesn't cover that matter.
;[netlogon]
;path = /var/lib/samba/netlogon
;admin users = Administrator
;valid users = %U
;read only = no

; NOTE: Again - only needed if you're running a primary domain controller.
;[Profiles]
;path = /var/lib/samba/profiles
;valid users = %U
;create mode = 0600
;directory mode = 0700
;writeable = yes
;browseable = no

; NOTE: Inside this place you may build a printer driver repository for
; Windows - I'll cover this topic in another HOWTO.
[print$]
path = /var/lib/samba/printers
browseable = yes
guest ok = yes
read only = yes
write list = root
create mask = 0664
directory mask = 0775

[printers]
path = /tmp
printable = yes
guest ok = yes
browseable = no

; Uncomment if you need to share your CD-/DVD-ROM Drive
;[DVD-ROM Drive]
;path = /media/cdrom
;browseable = yes
;read only = yes
;guest ok = yes

[MyFiles]
path = /media/samba/
browseable = yes
read only = no
guest ok = no
create mask = 0644
directory mask = 0755
force user = TU_NOMBRE_DE_USUARIO
force group = TU_NOMBRE_DE_FRUPO
Ahora bien, para que funcione en su red esto, deberá hacer sólo algunos cambios al archivo, estos son:



-> netbios name = TU_NOMBRE_DE_HOST

en donde dice "TU_NOMBRE_DE_HOST", ponga su nombre de hostname ó de cliente.(Es importante, que NO SE USEN ESPACIOS!!) Lo mejor es poner el mismo nombre que se uso cuando se configuró la instalación.
Ejemplo:
netbios name = DAPPER

Otra cosa, que se deberá cambiar es el grupo de trabajo:
-> workgroup = TU_GRUPO_DE_TRABAJO

donde dice "TU_GRUPO_DE_TRABAJO" ponga el nombre de su grupo de trabajo, pero deberá ser el mismo que se tiene configurado en Windows.

Para encontrar el grupo de trabajo que se tiene en Windows, se deben seguir los siguientes pasos:

- De click en Inicio
- de Click en Panel de Control
- Click en sistema
- De click en la segunda pestaña que dice el nombre de la computadora, y encuentre el grupo de trabajo que se tiene alli.

ejemplo:
workgroup = MSHOME

Donde dice
-> wins support = yes

Póngalo en no si su máquina no cuenta con una dirección ip estática.
En este caso no se tendrán los beneficios que tiene WINS :(

Donde dice
-> [MyFiles]
Este es el nombre de la carpeta que se mostrará para compartir, se puede dejar con ese nombre, o se puede poner otro nombre, sólo que no se deben usar más de 31 caracteres y evite los ESPACIOS!

Lo siguiente:
-> path = /media/samba/

sugiere que se ha montado una dispositivo, o que se ha hecho una partición. Aquí es donde todos los archivos compartidos se guardarán.

En linux podemos poner especificar también donde estará la carpeta que tendrá los archivos compartidos. Asumiendo que se desea poner dentro de la carpeta de home, haríamos lo siguiente, dentro de una nueva terminal:


sudo mkdir /home/samba
y en la otra consola que se tenía abierta, la que estaba con el edito, busque donde dice "path =" y ponga alli la dirección anterior.
ejemplo:
path = /home/samba/

También se debe editar lo siguiente:

-> force user = SU_NOMBRE_DE_USUARIO
-> force group =SU_NOMBRE_DE_USUARIO

Remplace "SU_NOMBRE_DE_USUARIO" con el nombre que use para el login, o para iniciar sesión a su máqina.(sin ESPACIOS!)

Ejemplo:

force user = stormbringer
force group = stormbringer

Hemos ya completado la parte de editar smb.conf
Guarde el archivo y salga del editor


Debido a que vamos estar compartiendo el archivo con otros usuarios, debemos poner los permisos adecuados.
Escriba:



sudo chmod 0777 /media/samba
NOTA: PONGA LA DIRECCIÓN ADECUADA A LA QUE HAYA ESCOGIDO EN WINDOWS ANTERIORMENTE!

Eso es todo. :)
Ahora se deberá prender samba.

Para prender samba por primera vez, escriba:

sudo /etc/init.d/samba start
No debió haberse sucitado ningún error- si se obtuvieron errores, se deberá checar que todas las rutas estén bien, ó busque por errores de ortografía etc.
Ahora se deberá agregar a si mismo, como usuario samba.

NOTA: SE LE PEDIRÁ UNA CONTRASEÑA-ASEGURESE QUE ES LA MISMA QUE PUSO PARA SU LOGIN!

sudo smbpasswd -L -a your_username
sudo smbpasswd -L -e your_username
Ya que se ha configurado samba y creado las cuentas de los usuarios, hemos terminado con la parte de Linux, sin embargo hay algo que se deberá poner en Windows.

Si escogió que no tenía IP estática, En la máquina con Windows:With WINS disabled:
- De click en INICIO
- botón derecho a mi PC
- Seleccione el mapa de drivers de la red
- Seleccione la letra del driver
- Escriba \\\MyFiles
NOTA: PARA ENCONTRAR LA DIRECCIÓN ip QUE TIENE SU MÁQUINA CON LINUX, DENTRO DE UNA TERMINAL ESCRIBA ifconfig, Y ENCUENTRE LA ip CORRESPONDIENTE A LA INTERFAZ CORRECTA (i.e. eth0). NO OLVIDE AJUSTAR EL sharename AL NOMBRE QUE SE ESCOGIÓ ANTES.

- Dé click en Terminar

Eso es todo samba está arriba y corriendo! Pruebelo, jale una imagen ó un archivo X, a la carpeta que tiene compartida, este archivo deberá aparecer después de unos instantes en ambas carpetas para compartir.






2 comments:

Cristo said...

Estaría chido que colaboraras con esta info en algún wiki, o sitio de howto's, pa que haya más gente que se beneficie con el tiempo que te tomo aprender este tronch

Saiph said...

pero si ponen en google, como instalo samba ya los lleva a este super agradable sitio que tiene mi foto!