Diseño Web
1
sep
2007

Instalando Samba en Fedora Core 5 / Core 6 para compartir archivos e impresoras en redes Windows

  • Sigue a Vensign en Twitter
  • Digg Esto!
  • Compartelo en Facebook
  • Compartelo en Buzz
Visto 8.647 veces | 66 Comentarios | Imprimir Imprimir
Samba es un programa de código abierto que permite compartir archivos e impresoras desde una computadora Linux hacia una computadora con MS Windows, como si fuera una mas de ella, lo cual es muy util ya que podemos tener un servidor de archivos y de impresión basado en Linux colocado en una red donde se conectan PC con Windows. La página oficial de Samba la puedes encontrar aquí. Si tienes Ubuntu o Debian instalado puedes encontrar el tutorial aquí. Lo primero que vamos a hacer es instalar Samba en nuestra computadora con Fedora, para esto debes tener privilegios de root, ejecutamos el siguiente comando en el shell:
yum install samba
El archivo de configuración de Samba lo podemos encontrar en /etc/samba/smb.cof, vamos a realizar una copia de respaldo de este archivo:
cp -p /etc/samba/smb.conf /etc/samba/smb_29082007_copia.conf
Siempre es bueno realizar una copia de seguridad a los archivos de configuración en caso de que cometamos algún error podamos volver a lo que teníamos, ademas yo siempre le agrego la fecha para saber cuando hice el respaldo. Ahora editamos el archivo de configuración de samba. (Puedes utilizar el editor de tu preferencia vim, nano, gedit, kate... etc.)
gedit /etc/samba/smb.conf
En el archivo de configuración cambia donde dice workgroup = MSHOME (puede ser distinto en tu caso) a:
workgroup = MIGRUPO
Donde MIGRUPO 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.

Como crear, editar o eliminar usuarios en Samba

Los usuarios que queremos que tengan acceso al servidor Samba deben estar creados como usuarios en nuestro servidor linux, podemos crear un grupo samba y agregar a ese grupo todos los usuarios que tendrán acceso al servidor samba: Para agregar un usuario a linux podemos utilizar el comando:
adduser nombre_usuario
Nos pedira la clave que queremos utilizar para ese usuario y algunos datos que son opcionales, luego podemos cambiar sus privilegios. Supongamos que tenemos un usuarios ya creado llamado jose y que lo queremos agregar a los usuarios de Samba, para esto ejecutamos el siguiente comando:
sudo smbpasswd -a jose
Nos aparecerá algo como:
smbpasswd -a jose
 New SMB password:
 Retype new SMB password:
 Added user jose.
Colocamos la clave que queremos que tenga ese usuario para ingresar al servidor Samba, la clave puede ser distinta a la clave que tiene el usuario para ingresar a Linux. Vamos a crear un nuevo archivo donde estarán todos los usuarios autorizados para conectarse al Servidor de Samba, para esto ejecutamos:
gedit /etc/samba/smbusers
En el nuevo archivo copiamos la siguiente línea:
nombre_enlinux = "Nombre en Windows"
Donde nombre_enlinux es el nombre del usuario que tenemos en linux en este caso jose y Nombre en Windows es el nombre del usuario de red en Windows. Tenemos que agregar una nueva línea por cada usuario que creemos para Samba. Para editar un usuario ejecutamos:
smbpasswd -a nombre_usuario
Para borrar un usuario ejecutamos:
smbpasswd -x nombre_usuario
Ahora que ya tenemos a los usuarios creados procedamos a ver como se compaten archivos y directorios.

Compartiendo Archivos con Samba

Vamos a modificar el archivo de configuración de Samba:
gedit /etc/samba/smb.conf
Busca la línea que dice:
;   security = user
Y la modificamos por:
security = user
 username map = /etc/samba/smbusers
Con esto lo que estamos haciendo es diciendole a Samba que vamos a autenticar por usuario y donde está la lista de los usuarios permitidos que fue la que creamos anteriormente. Para darle acceso a los usuario a sus respectivos directorios home o personales, hacemos lo siguiente: Buscamos las línea donde dice
;[homes]
 ; comment = Home Directories;
 ;browseable = no
 ;valid users = %S
 ;writable = no
Y le quitamos el ; para descomentarlos, y en writable le cambiamos no por yes para que el usuario pueda escribir en el directorio. Siempre que cambiemos la configuración del archivo smb.conf debemos ejecutar el siguiente comando:
testparm
lo que hace este parámetro es verificar que los parámetros del archivo smb.conf estén correctos, luego que nos diga que todo esta bien ejecutamos:
service smb restart
para aplicar los cambios. Ahora si quieremos compartir un directorio que llamaremos grupo hacemos lo siguiente, primero creamos la carpeta que queremos compartir si ya no la habíamos creado:
mkdir /home/grupo
 chmod 777 /home/grupo
La puedes crear donde quieras. Ahora vamos a modificar el archivo de smb.conf, voy a suponer que ya modificaste la parte de security y agregaste /etc/samba/smbusers a este archivo y que ya sabes como abrirlo para editarlo de ahora en adelante. Agregamos la siguientes lineas al final del archivo:
[Grupo]
 comment = Archivos Compartidos
 path = /home/grupo
 public = yes
 writable = yes
 create mask = 0700
 directory mask = 0700
 force user = nobody
 force group = nogroup
Analicemos esta estructura, comment simplemente es un comentario de lo que es la carpeta puedes colocar lo que quieras, path por supuesto es donde esta la carpeta que queremos compartir, public es si quieres hacer esta carpeta disponible publicamente o no, para cambiarlo simplemente coloca no, writable permite definir si se puede escribir en la carpeta o no, create mask y directory mask es la mascara con la que se crearan los archivos (es decir que privilegios tendrán los archivos y directorios creados) si quieras que puedan hacer cualquier acción en la carpeta coloca 0777 en ambas, force group y force user es para forzar que solo un grupo específico o usuario se pueda conectar a esta carpeta. Si además queremos que solo un grupo de usuarios pueda accesar a la carpeta agregamos esta línea después de writable:
valid users = nombre_usuario1 nombre_usuario2
Donde puedes agregar los usuarios que quieras que tengan acceso. Luego de que termines de agregar las carpetas que quieras compartir Guarda el archivo y probamos el archivo smb.conf y reiniciamos el servidor de Samba:
testparm
 service smb restart

Compartiendo Impresoras

Voy a suponer que ya tienes una impresora conectada y funcionado en tu PC Linux. Compartir impresoras en Samba es muy sencillo simplemente busca estas dos líneas en el archivo /etc/samba/smb.conf (Recuerda hacer una copia de respaldo) :
 ...
 # printing = cups
 # printcap name = cups
 ...
Y descomentalas:
...
 printing = cups
 printcap name = cups
 ...
Guarda el archivo cimprueba los parámetros de smb.conf y reinicia el servidor de Samba ejecutando:
testparm
 service smb restart
Y eso es todo, ya puedes ir a tu PC Windows y buscar en tu grupo de trabajo las carpetas compartidas de Linux en Samba y además agregar la impresora. Espero que les haya servido este tutorial, más adelante publicaré un tutorial acerca de como configurar un servidor WINS con Samba. El manual oficial de Samba lo pueden conseguir aquí. Como siempre espero sus comentarios Saludos Olivers

Otros artículos que te pueden interesar

  1. Instalando Samba en Ubuntu / Debian para compartir archivos e impresoras en redes Windows Samba es un programa Open Source que nos permite compartir...
  2. Instalar un servidor LAMP en Fedora Core 6 , Core 7 y Core 8 Actualización: Existe una versión más nueva de este tutorial para...
  3. Curso de instalación y configuración de Samba en Ubuntu / Debian por IRC Hoy estaré dando un pequeño curso del servidor Samba para...
  4. Samba nueva versión arregla vulnerabilidades DoS La nueva versión de Samba 3.4.8 (de la serie 3.4)...
  5. Copiando y Editando Archivos desde SmoothWall desde Linux o Windows Esta es una recopilación de tutoriales sacados de los foros...

Creative Commons License
Este trabajo está licenciado bajo Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 Unported License

Comparte este Artículo!

  • Sigue a Vensign en Twitter
  • Digg Esto!
  • Compartelo en Facebook
  • Compartelo en Buzz

Suscribirse sin comentar

66 Comentarios

  1. Oliver gracias por todo, una pregunta mas, las computadoras con XP entran muy bien al servidor con fedora, pero las computadoras con windows vista me dicen que no tengo permiso para ingreesar, y le estoy ingresando el mismo usuario y el mismo pasword de identificación

  2. Victor says:

    Hola te queria agradecer y feicitar por tu tutorial si puedo compartir carpetas atravez de una pc con windows XP que tengo conectada atravez de interntet, pero intenté compartir archivos mediante una laptop por mdio de red inalambrica y windows vista home y no me adejado compartir.

    Te muestro mi si siguiete configuración:

    [global]
    server string = Samba Server Version %v
    passdb backend = tdbsam
    username map = /etc/samba/smbusers
    log file = /var/log/samba/log.%m
    max log size = 50
    printcap name = cups
    cups options = raw

    [homes]
    comment = Home Directories
    path = /home/kill/Programas/
    valid users = %S
    read only = No

    [printers]
    comment = All Printers
    path = /var/spool/samba/
    printable = Yes
    browseable = No

    [Grupo]
    comment = Archivos Compartidos
    path = /home/grupo/
    force user = nobody
    force group = nogroup
    read only = No
    create mask = 0777
    directory mask = 0777
    guest ok = Yes

    en donde en configure la lap con con el mismo grupo grupo de trabajo llamado workgroup, aquí esta mi agregué el los usuaios /etc/samba/smbuser:

    usuario = familia1, VCO
    #donde familia1 es el nombre de la lap.

    Espero que me puedas echar una mano con esto. ¡Saludos!

  3. Hola Victor, si te funcionó con Windows XP y no con Windows Vista el problema no está en la configuración de Samba sino más bien en el Windows Vista, fijate que estés permitiendo la conexión remota al Windows Vista, que el firewall este permitiendo la conexión y que estén dentro del mismo grupo.

    Entre Windows XP y Windows Vista tienes algún problema?

    Saludos
    Olivers

  4. Hola q tal ya segui todo al pie de la letra pero esta instruccion no funciona:
    /etc/init.d/samba restart
    me dice q el fichero o directorio no existe

  5. Hola Javier, estas haciendo esta operacion como root?

    Prueba

    service smb start
    service smb stop
    service smb restart

    Saludos
    Olivers

  6. Emm muy buen tutorial…
    Una duda Esto tambien funciona para CentOS 5??
    pregunto porque que son muy similares

  7. Hola Silver si debería funcionar igual igual prueba y cualquier duda puedes preguntar por aca

    Saludos
    Olivers

  8. Flower says:

    Estoy estudiando linux y estamos trabajando con fedora 8 , quiero compartir archivos e realizado todos los pasos antes mencionados , pero al hacer \\la ip de mi Servidor Samba Linux veo mi home Directory y la carpeta que estoy compartiendo pero no puedo ingresar a ellas ya le di permisos con el comando chmod 777 pero igual, en adicion en mis sitios de red de mis pcs windows no veo a mi servidor linux, talves e obviado alguna parte , podrían apoyarme …SOS..

  9. Flower, puede ser muchas cosas.

    1. Revisa el archivo de smbusers y verifica que:

    nombre_enlinux = “Nombre en Windows”

    2. En el archivo de configuracion de Samba asegurate que diga en la carpeta que compartes:

    browseable = yes

    3. Verifica que hayas reiniciado el servidor Samba despues de que hagas los cambios

    testparm
    service smb restart

    Si después de esto no puedes acceder a la carpeta vuelve a escribir.

    Saludos
    Olivers

  10. diego says:

    Solo una pregunta, funcionaria en fedora 10¿?

    gracias

  11. Hola Diego si si funciona en Fedora 10

    Saludos
    Olivers

  12. Hairo says:

    He visto todas las formas para compartir archivos e impresoras desde linux hacia windows, pero no he visto lo contrario…

    como seria si tengo la impresora conectada a windows?

    Como haria para ver la impresora en linux (tengo fedora 12) estando esta conectada en un pc windows.

    Es muy importante para mi….Gracias

    hairosv@hotmail.com

  13. Hola Hairo, es muy sencillo

    1. Primero asegurate que tienes instalado el cliente de Samba

    yum install samba-client

    2. La impresora debe estar compartida en Windows

    Luego simplemente ve al menú de Sistema>Administración>Impresión ahí te aparecerá un diálogo presionas sobre Añadir en el siguiente cuadro puedes probar buscando una impresora en red y si esto no te funciona coloca la dirección IP o la dirección con la que compartes la impresora.

    Con esto ya deberías poder añadir la impresora que compartes en Windows

    Para ver carpetas compartidas en Windows las deberías ver en el menú de Lugares>Red

    Espero que te sea de utilidad

    Saludos
    Olivers

    • Hairo says:

      Todo bien Oliver, hasta el momento en que mando una impresion, me pide nombre de usuario y clave la cual no se porque mi red esta en fuera de dominio (grupo de trabajo) cada quien entra con su clave.

      No obstante en la pcwin donde está la impresora instala utilizo la misma clave que tiene dicha pc para entrar y aun asi no puedo conectarme a la impresora.

      Lo unico que puedo hacer es instalarla en la pcFedora, pero para imprimir desde dicha pc me pide la bendita clave esa….

  14. Andres says:

    Hola, primero que todo, muy buen tutorial;

    tengo el siguiente problema, he configurado una carpeta para compartir archivos, la cual debe ser mapeada en varios equipos con windows, y tengo algunas dudas:

    - es necesario una cuenta por acceso? – me explico, pueden conectarse de 10 maquinas distintas con un mismo usuario/password?

    - puede una cuenta guest hacer lo recien planteado?

    He realizado pruebas con Ubuntu 10.04, CentOS 5.0, y ahora Fedora Core 13, y he tenido problemas para realizar la configuracion de usuarios, ahora en FC13 veo la carpeta en la red, pero no puedo acceder a las sub carpetas, he creado un usuario y password en smb para acceder a ella, les dejo la configuracion de la carpeta:

    [compartido]
    comment = ficheros
    path = /home/administrador/compartido
    read only = no
    browseable = yes
    guest ok = yes
    create mask = 0777
    directory mask = 0777

    la seguridad esta por usuario.

    Agradezco cualquier respuesta de antemano

  15. Hola amigos,
    tengo un problema y espero me puedan ayudar.
    tengo un equipo con fedora 13 y estoy tratando de configurarlo para que se vea
    en la red con los demas equipos con windows, segui todos los pasos que aparecen en el tutorial pero no me resulta, cuando voy al icono red me dice “buscando red de windows” luego me arroja un mensaje “no se pudo montar el lugar, fallo al obtener la lista de comparticion del servidor”.
    espero me puedan ayudar ya que necesito subir pronto este equipo a la red.

    Saludos.

Deja tu comentario, duda o sugerencia

Agrega tu comentario, o trackback desde tu sitio web. Tambien puedes Registrarte o ingresar en Vensign para obtener mucho más (volveras a esta página luego de registrarte)

Puedes utilizar el siguiente código HTML:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Este blog soporta Gravatares. Para obtener tu avatar, por favor registrate en Gravatar.

52 queries. 0,627 seconds.