Cocido Balmasedano es el humilde blog de Iñigo Sastre (Balmasedano). Joven apasionado por las nuevas tecnologías y los medios de comunicación que anota en este espacio todas sus inquietudes y proyectos. Más...
AVISO: Montar un servidor Samba sólo es necesario si tienes algún Windows dentro de tu red Linux, si tu red es 100% Windows, lógicamente Windows trae los correspondientes asistentes. Si tu red es 100% Linux, puedes usar Samba perfectamente para compartir archivos, pero hay métodos más seguros, que desconozco.
Tras mucho tiempo intentando configurar una red Samba en Linux en condiciones, hoy ha llegado el día en el que he acertado.
Han sido muchas horas, pero estoy satisfecho con el trabajo. Estoy usando estos aparatos:
En fin, este es mi hardware influyente en la red.
Todos los Linux mencionados son Ubuntu, versión ultimísima: 5.10 “Breezy Badger”.
Con esto, empiezan los pasos. Si queréis seguirlos, no tenéis más que continuar leyendo.
Así pues, os deseo suerte y que podáis tener una red tan útil como la mía. No es necesario para nada tener este hardware, es únicamente el usado para hacer este mini-howto ;-).
Lo primero, si estamos en alguna Debian o Ubuntu, vamos a instalar unos paquetes, para eso hacemos en una consola:
sudo apt-get install samba samba-common smbfs samba-client
Introducimos contraseña, se descargarán de Internet los programas y automáticamente se instalarán.
A continuación, hacemos de nuevo en esa consola
sudo gedit /etc/samba/smb.conf
Así, se nos abrirá el editor de textos de Gnome, y el archivo en cuestión: el de Samba.
Aquí llega una parte fácil: borra todo lo que venga en el archivo, y copia esto. Si has hecho alguna modificación importante tú mism@, adapta lo siguiente a tus modificaciones, si aún no has configurado nada o lo que has hecho te ha salido mal, borra todo y copia y pega esto:
#======================= Global Settings =======================
[global]
## Browsing/Identification ###
# Change this to the workgroup/NT-domain name your Samba server will part of
# Escribe el nombre del grupo de trabajo de vuestra red. En Windows por defecto
# suele ser INICIOMS, pero cámbiala a tu antojo.
workgroup = INICIOMS# server string is the equivalent of the NT Description field
# Escribe el nombre del equipo que tiene el Linux que estás configurando, que
# será el que vean los demás ordenadores, pon el que quieras.
server string = LINUX# Windows Internet Name Serving Support Section:
# WINS Support - Tells the NMBD component of Samba to enable its WINS Server
; wins support = no# WINS Server - Tells the NMBD components of Samba to be a WINS Client
# Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
; wins server = w.x.y.z# This will prevent nmbd to search for NetBIOS names through DNS.
dns proxy = no# What naming service and in what order should we use to resolve host names
# to IP addresses
; name resolve order = lmhosts host wins bcast#### Debugging/Accounting ####
# This tells Samba to use a separate log file for each machine
# that connects
log file = /var/log/samba/log.%m# Put a capping on the size of the log files (in Kb).
max log size = 1000# If you want Samba to only log through syslog then set the following
# parameter to ‘yes’.
; syslog only = no# We want Samba to log a minimum amount of information to syslog. Everything
# should go to /var/log/samba/log.{smbd,nmbd} instead. If you want to log
# through syslog you should set the following parameter to something higher.
syslog = 0# Do something sensible when Samba crashes: mail the admin a backtrace
panic action = /usr/share/samba/panic-action %d####### Authentication #######
# “security = user” is always a good idea. This will require a Unix account
# in this server for every user accessing the server. See
# /usr/share/doc/samba-doc/htmldocs/ServerType.html in the samba-doc
# package for details.
# A pesar de ser más seguro utilizar security = user, que pediría
# contraseña a la hora de acceder a las carpetas vía red, vamos a usar share,
# sin contraseña que es la que menos problemas me ha dado en Windows.security = share
# You may wish to use password encryption. See the section on
# ‘encrypt passwords’ in the smb.conf(5) manpage before enabling.
encrypt passwords = true# If you are using encrypted passwords, Samba will need to know what
# password database type you are using.
passdb backend = tdbsam guestobey pam restrictions = yes
guest account = nobody
invalid users = root# This boolean parameter controls whether Samba attempts to sync the Unix
# password with the SMB password when the encrypted SMB password in the
# passdb is changed.
; unix password sync = no# For Unix password sync to work on a Debian GNU/Linux system, the following
# parameters must be set (thanks to Augustin Luton for
# sending the correct chat script for the passwd program in Debian Potato).
passwd program = /usr/bin/passwd %u
passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n .# This boolean controls whether PAM will be used for password changes
# when requested by an SMB client instead of the program listed in
# ‘passwd program’. The default is ‘no’.
; pam password change = no########## Printing ##########
# If you want to automatically load your printer list rather
# than setting them up individually then you’ll need this.
# Aquí definimos las opciones de nuestras impresoras:
# ubicación, servidor que las gestiona… Más abajo las haremos
# ver a Windows.
load printers = yes# lpr(ng) printing. You may wish to override the location of the
# printcap file
printing = bsd
printcap name = /etc/printcap# CUPS printing. See also the cupsaddsmb(8) manpage in the
# cupsys-client package.
printing = cups
printcap name = cups# When using [print$], root is implicitly a ‘printer admin’, but you can
# also give this right to other users to add drivers and set printer
# properties
; printer admin = @ntadmin######## File sharing ########
# Name mangling options
; preserve case = yes
; short preserve case = yes############ Misc ############
# Using the following line enables you to customise your configuration
# on a per machine basis. The %m gets replaced with the netbios name
# of the machine that is connecting
; include = /home/samba/etc/smb.conf.%m# Most people will find that this option gives better performance.
# See smb.conf(5) and /usr/share/doc/samba-doc/htmldocs/speed.html
# for details
# You may want to add the following on a Linux system:
# SO_RCVBUF=8192 SO_SNDBUF=8192
socket options = TCP_NODELAY# The following parameter is useful only if you have the linpopup package
# installed. The samba maintainer and the linpopup maintainer are
# working to ease installation and configuration of linpopup and samba.
; message command = /bin/sh -c ‘/usr/bin/linpopup “%f” “%m” %s; rm %s’ &# Domain Master specifies Samba to be the Domain Master Browser. If this
# machine will be configured as a BDC (a secondary logon server), you
# must set this to ‘no’; otherwise, the default behavior is recommended.
; domain master = auto# Some defaults for winbind (make sure you’re not using the ranges
# for something else.)
; idmap uid = 10000-20000
; idmap gid = 10000-20000
; template shell = /bin/bash#======================= Share Definitions =======================
wins support = no
# La opción [homes] nos otorga la posibilidad de compartir los directorios
# personales al completo utilizando contraseña, descubre tú lo que se puede
# hacer con ello y coméntalo en el blog, porque yo aún no lo he tocado.
# Están activadas, desactívalas poniendo una ; delante de cada línea.
[homes]
comment = Home Directories
browseable = no# By default, the home directories are exported read-only. Change next
# parameter to ‘yes’ if you want to be able to write to them.
writable = no# File creation mask is set to 0700 for security reasons. If you want to
# create files with group=rw permissions, set next parameter to 0775.
create mask = 0700# Directory creation mask is set to 0700 for security reasons. If you want to
# create dirs. with group=rw permissions, set next parameter to 0775.
directory mask = 0700# Un-comment the following and create the netlogon directory for Domain Logons
# (you need to configure Samba to act as a domain controller too.)
;[netlogon]
; comment = Network Logon Service
; path = /home/samba/netlogon
; guest ok = yes
; writable = no
; share modes = no# Las siguientes opciones nos darán la posibilidad de hacer que Windows vea
# las impresoras de nuestro Linux. Esta opción está activada, si deseas
# desactivarla pon una ; delante de cada opción debajo de [printers] Ej:
# ; comment = All Printers[printers]
comment = All Printers
browseable = no
path = /tmp
printable = yes
public = no
writable = no
create mode = 0700# Windows clients look for this share name as a source of downloadable
# printer drivers
[print$]
comment = Printer Drivers
path = /var/lib/samba/printers
browseable = yes
read only = yes
guest ok = no
# Uncomment to allow remote administration of Windows print drivers.
# Replace ‘ntadmin’ with the name of the group your admin users are
# members of.
; write list = root, @ntadmin# Esta opción sirve para compartir la unidad de CD-ROM. No está
# activada, si quieres activarla quita las ; de cada línea.
[cdrom]
; comment = Samba server’s CD-ROM
; writable = no
; locking = no
; path = /cdrom
; public = yes# The next two parameters show how to auto-mount a CD-ROM when the
# cdrom share is accesed. For this to work /etc/fstab must contain
# an entry like this:
#
# /dev/scd0 /cdrom iso9660 defaults,noauto,ro,user 0 0
#
# The CD-ROM gets unmounted automatically after the connection to the
#
# If you don’t want to use auto-mounting/unmounting make sure the CD
# is mounted on /cdrom
#
; preexec = /bin/mount /cdrom
; postexec = /bin/umount /cdrom# Aquí vemos cómo hemos de hacer para compartir una carpeta,
# sin embargo existe un pequeño menú gráfico en Ubuntu que nos ahorra
# el hacerlo en modo texto. En “path” escribimos la ruta de la carpeta
# a compartir, y un comentario en “comment”, ambos a vuestro gusto.
# La carpeta compartida tiene que estar fuera de una home, con la que
# aparece en el ejemplo me ha funcionado.
[Compartido]
path = /home/Compartido
comment = Ordenador con Linux
available = yes
browseable = yes
public = yes
writable = yes
Si has modificado las diferentes partes con las instrucciones en negrita, todo habrá salido bien. Guarda el archivo y haz en terminal:
sudo /etc/init.d/samba restart
Ahora puede ser el momento oportuno para compartir más carpetas en modo gráfico, así no volveremos a tocar consola.
Si estamos en Ubuntu 5.10, vamos a Sistema, Administración, Carpetas compartidas

Si pulsamos en Añadir nos saldrá una ventana tal que así:

Seleccionamos la carpeta y el modo SMB y elegimos las opciones.
En fin, suerte con ello.
Si queréis más información y enlaces os podéis pasar por este artículo de Fabio.com.ar.
Cocinado el 27-Dic-2005Embotado en Informática
10 Responses to “Mini HowTo: Red Windows<>Linux con Samba”
Febrero 22nd, 2006 at 22:27
segui todas las instrucciones y resulta que al correr el comando sudo /etc/init.d/samba restart no sirvio, ya ni me acuerdo que error marco ,
La solucion:
intente compartir una carpeta y algo se empezo a instalar, despues de eso ya jalo el comando sudo /etc/init.d/samba restart
perdon si lo que digo es muy baboso o es obvio para algunos, como podran notar apenas estoy aprendiendo. pero a lo mejor a alguien en las mismas condiciones que yo le sirve
Muchas gracias al que escribio esta ayuda
Febrero 23rd, 2006 at 16:18
Pues a ti muchas gracias, yo soy el que escribió la ayuda, en parte porque no había encontrado aún un tutorial que me ayudara en este caso de Ubuntu y de la forma en la que lo necesitaba.
Sobre el error que te daba, creo que es porque se te olvidó instalar alguno de los paquetes, porque me pasó a mí, pero tampoco me di cuenta hasta que descubrí la utilidad gráfica de “Compartir Carpetas”.
Saludos y muchas gracias por visitar el blog
Marzo 23rd, 2006 at 21:30
Hola, que bueno que existen paginas como la tuya. No me considero experto en Linux, pero tampoco soy novato de un dia.
Ultimamente me he sentido muy perezoso y no deseo editar mas archivos extraños, ni introducir comandos interminables, por eso empiezo a amar las interfases graficas de usuario.
He puesto a prueba mi ubuntu dapper (mucho mas amigable aun que warty) y encontre que la configuracion general de archivos compartidos en windows (Boton del ultimo screenshot) es muy amigabley realmente hace lo que tiene que hacer (excepto poner el acceso de las capetas compartidas en modo user).
Solo me falta comentar que debemos asegurarnos que los paquetes libgnomevfs2-extra y smbclient esten instalados (en dapper no lo esta por defecto y gnome no puede visualizar la red de windows inicialmente).
Felicidades, un articulo digno de tomarse en cuenta.
Marzo 23rd, 2006 at 22:01
¡Hola Noe!
Me alegra muchísimo el comentario, visto lo visto voy a tener que escribir Howtos más a menudo. Éste lo hice, porque, tras la cantidad de horas que pasé buscando archivos prefabricados para hacer mi configuración de red, decidí colgar el mío que me costó bastante hacer funcionar a la perfección.
He comprobado que también funciona en Fedora, aunque trae un asistente bastante completo, aunque en su momento decidí poner el archivo ya hecho en Fedora para no empezar de cero.
Pues eso, que, aunque veo que te conectas desde Dapper, si quieres activar XGL en alguna Breezy que tengas cerca pronto explicaré los pasos que he tenido que hacer ;-).
Nos leemos, taluego :-D.
Marzo 25th, 2006 at 6:44
Gracias por este mini-HowTo!!!
Me ha funcionado a la perfeccion con ubuntu 5.10.
Muchas gracias!
Abril 13th, 2006 at 21:12
Me alegro mucho Jorge. Y mucho más de que nos hayas visitado ;-).
Abril 21st, 2006 at 11:53
Muy buen manual! Solo me ha ocurrido un problema, en el ordenador con windows, cuando accedo al ordenador con ubuntu, veo las carpetas compartidas pero cuando quiero abrir alguna me dice que no tengo permisos suficientes…. a que se puede deber? Tengo puesto la opcion de “Permitir examinar la carpeta”. Muchas gracias de antemano y gracias por el manual.
Abril 22nd, 2006 at 16:34
Hmmm, no se me ocurre nada ahora. Prueba a darle con chmod o Nautilus los premisos adecuados a la carpeta, aunque realmente no sé por qué puede ser.
Saludos y gracias a ti por leernos
Abril 24th, 2006 at 9:30
Hola, yo uso Ubuntu dapper drake 6.06. El caso es que no consigo que me funcione bien. voy aprobar con este tutorial. Haber si consigo que funcione. Pero una pregunta a los linuxeros, Mis tarjetas de red, son de su padre y madre. Puede haber algun tipo de conflicto entre ellas y por eso no puedo ver los equipos en red, tanto de win a win como de linux a linux, como de win a linux, como de linux a win. Gracias. perdon por el galimatias. jeje
Saludos a todos
Abril 24th, 2006 at 23:47
Por fin he conseguido que mis dos ubuntus se vean, copartan cosas, y tngo internet sin ningun problema. Solo me pasa una cosa, en mi linux base tengo una impresora que esta bien configurada he imprime. En el otro portatil, cuando configuro la impre, le digo que por samba smb, me pide usuario y contraseña, le doy la que tiene el pc con la impre, y me detecta los dos equipos y la impresora que hay en el. Pero cuando le doy imprimir pagina de prueba me dice que esta en pausa, y no imprime nada. Esta conectada por USB a #1. Haber si agluien a tenido el mismo problema y lo a solucionado.
Saludos Linuxeros.
Deja tu respuesta