Home » , , , , , , , , , , , » Instalar Samba en Fedora 20/19/18/17/16 - Compartir archivos e impresora entre Fedora 20/19/18/17/16 y Windows

Instalar Samba en Fedora 20/19/18/17/16 - Compartir archivos e impresora entre Fedora 20/19/18/17/16 y Windows

Written By @dmin on 26 mar 2013 | 3/26/2013

Compartir archivos e impresora entre Linux y Windows en Fedora 20/19/18/17/16 con SAMBA
En este post aprenderemos a compartir archivos entre Fedora GNU/Linux y Windows o entre Fedora GNU/Linux con cualquier otra distribución de GNU/Linux o cualquier sistema operativo. 

Para que sea más practica la edición de los archivos de configuración, utilizaremos el editor de texto nano, puedes utilizar el editor de texto que quieras.



Logueate como usuario root:
su

Instalamos nano:
yum install nano
No olvides seguirme en Facebook, Twitter y YouTube. Buscame como TuxFed, o haz clic en los nombres de los servicios, he puesto los enlaces. ; )

Ahora empecemos:
1. Deshabilitar SELinux.
nano /etc/selinux/config
Cambiamos el valor de SELINUX.
SELINUX=disabled
2. Reiniciamos nuestro sistema.
init 6
3. Instalamos Samba y los paquetes necesarios para que este funcione.
yum install cups-libs samba samba-common samba-client
4. Editamos el archivo de configuración de Samba: Pero antes de realizar cambios, hay que hacer una copia de seguridad .
cp /etc/samba/smb.conf /etc/samba/smb.conf.ORIGINAL
Ahora si a configurar, y si algo sale mal, podemos restablecer el archivo original con:
cp /etc/samba/smb.conf.ORIGINAL /etc/samba/smb.conf
Vamos a configurar el archivo de configuración de Samba.
nano /etc/samba/smb.conf
Verificamos que contenga la siguiente configuración, si no es así, entonces configuramos.
security = user
passdb backend = tdbsam
Con nano podemos buscar texto con la combinación de teclas “Control + W”,tecleamos la palabra a buscar y presionamos enter. Si queremos buscar la misma palabra, pulsamos de nuevo la combinación de teclas y presionamos enter, si queremos buscar otra palabra habrá que teclearla, previamente pulsando la combinación de teclas antes mencionada. 

¿Que hace el punto 4?
Habilita que los usuarios de nuestro Sistema operativo Linux se puedan logueara nuestro servidor Samba.

5. Configuramos para que Samba se inicie con el sistema e iniciamos el servicio.
chkconfig smb on
service smb start
6. Añadiendo usuarios. Crearemos una carpeta que será accesible para todos los usuarios. Creamos la carpeta a compartir y le asignamos como grupo “usuarios”.
mkdir -p /home/shares/allusers
chown -R root:users /home/shares/allusers/
chmod -R ug+rwx,o+rx-w /home/shares/allusers/
7. Añadimos lo siguiente al final del archivo de configuración de Samba.
nano /etc/samba/smb.conf
[...]
[allusers]
comment = All Users
path = /home/shares/allusers
valid users = @users
force group = users
create mask = 0660
directory mask = 0771
writable = yes
OPCIONAL: Si quieres permitir que los usuarios logueados al servidor samba puedan modificar su carpeta de usuario, ingresa lo siguiente al final. (comenta o elimina las lineas de la otra configuración de [homes] en el archivo.
[...]
[homes]
comment = Home Directories
browseable = no
valid users = %S
writable = yes
create mask = 0700
directory mask = 0700
8. Reiniciamos samba.
service smb restart
NOTA: Cada vez que modifiques el archivo de configuración de samba, es necesario reiniciar el servicio de este.
9. Añadimos un usuario
useradd NombreUsuario-m -G users 
NombreUsuario debe ser sustituido por el nombre que quieras.
OPCIONAL: si quieres que el usuario exista para que se logue en tu sistema operativo entonces le agregas una contraseña, esta clave no te servirá para conectarte al servidor samba.
passwd NombreUsuario
Ingresar dos veces la contraseña. 

NOTA: Puedes añadir los usuarios que quieras. si quieres utilizar algún usuario que ya tengas en tu sistema, entonces solo le agregarías una contraseña en samba, eso se hace con el paso 10, osea, el siguiente. 

10. Añadimos una contraseña al usuario para que se pueda conectarse al servidor samba.
smbpasswd -a NombreUsuario
Tendrás que ingresar dos veces la contraseña, recuerdala, ya que le servirá al que quiera conectarse a samba.

11. Configuramos el cortafuegos para que acepte conexiones de nuestros clientes. Vamos a Actividades, tecleamos cortafuegos y abrimos la aplicación. Hacemos clic en public, luego tildamos los servicios samba y samba-client.
(NOTA: Esto lo tendrás que realizar cada vez que quieras utilizar el servidor samba)

12. Nos conectamos desde Windows a nuestra carpeta compartida o de usuario, ingresando lo siguiente en el explorador de archivos o en la ventana de ejecutar (Windows + R): 
\\192.168.1.69 

Nos pedirá nuestro nombre de usuario y contraseña que definimos en el paso 9 y 10. Obviamente pondrás la IP de la PC que tiene Samba.

NOTA: Con esto también podemos compartir la impresora. Tengo instalado una impresora HP Deskjet 1000 J110 en Fedora 18, y desde otros clientes Windows puedo imprimir, sin tocar nada más en la configuración. Quizás tengan que instalar los controladores en las maquinas clientes. Ahora ya puedes  compartir archivos e impresoras con Windows o Linux.

Si lo que quieres es acceder a los archivos compartidos desde otra distro GNU/Linux entonces:

1. Abres tu explorador de archivos (Nautilus, Konqueror, etc).
En Nautilus presionas “Control + L” y pegas lo siguiente:
smb://192.168.1.69/

Nos pedirá nuestro nombre de usuario y contraseña que definimos en el paso 9 y 10. También te puedes conectar de la siguiente forma:

smb://NombreUsuario:Contraseña@192.168.1.69/

Obviamente pondrás la IP de la PC que tiene Samba.

Sígueme: 
Mi Facebook TuxFed.
Mi Twitter TuxFed 
Mi YouTube TuxFed

VIDEO:

PD: Con esta configuración logré compartir archivos e impresora entre Fedora con Windows y Fedora con Fedora. Espero que te funcione y me ayudó el siguiente post en ingles, aunque yo le puse mi granito después de investigar en la red. http://www.howtoforge.com/fedora-18-samba-standalone-server-with-tdbsam-backend

32 comentarios:

  1. Gran aporte. Muchas gracias.

    ResponderEliminar
  2. Opino lo mismo , gran aporte claro, sencillo y facil de implementar.

    ResponderEliminar
    Respuestas
    1. a mi no me funciona esta explicación, ni el video ni nada, gracias

      Eliminar
  3. Muchas gracias por tu ayuda

    ResponderEliminar
  4. Excelente aporte muy bueno. Muchas Gracias podrías hacer un tutorial de nfs en fedora? desde ya muchas gracias

    ResponderEliminar
  5. disculpa y si quiero hacer lo contrario instalar una impresora en fedora que esta conectada en red en un pc con windows

    ResponderEliminar
  6. Muy buenos tus tutoriales, pero sabes porque cuando quiero instalar samba me sale el siguiente mensaje??? "Podría intentar utilizar el comando --skip-broken para sortear el problema"
    Soy nuevo en linux, aunque esto ya lo habia instalado en CentOS y nunca me salia este problema.
    Uso el Fedora 19 y tambien me sale eso cuando quiero actualizar.
    De antemano gracias!!!

    ResponderEliminar
  7. solo me equivoque en el nano /etc/selinux/config y le puseel nombre de nano /etc/samba/smb.conf y se sobre escribió y ya no aparece el archivo para Verificamos
    security = user
    passdb backend = tdbsam

    NO PODRIDAS PASAR LO QUE DISE EL ARCHIVO O COMO LO VUELVO APONER EL ORIGINAL

    ResponderEliminar
    Respuestas
    1. # This is the main Samba configuration file. For detailed information about the
      # options listed here, refer to the smb.conf(5) manual page. Samba has a huge
      # number of configurable options, most of which are not shown in this example.
      #
      # The Official Samba 3.2.x HOWTO and Reference Guide contains step-by-step
      # guides for installing, configuring, and using Samba:
      # http://www.samba.org/samba/docs/Samba-HOWTO-Collection.pdf
      #
      # The Samba-3 by Example guide has working examples for smb.conf. This guide is
      # generated daily: http://www.samba.org/samba/docs/Samba-Guide.pdf
      #
      # In this file, lines starting with a semicolon (;) or a hash (#) are
      # comments and are ignored. This file uses hashes to denote commentary and
      # semicolons for parts of the file you may wish to configure.
      #
      # Note: Run the "testparm" command after modifying this file to check for basic
      # syntax errors.
      #
      #---------------
      # Security-Enhanced Linux (SELinux) Notes:
      #
      # Turn the samba_domain_controller Boolean on to allow Samba to use the useradd
      # and groupadd family of binaries. Run the following command as the root user to
      # turn this Boolean on:
      # setsebool -P samba_domain_controller on
      #
      #
      # If you create a new directory, such as a new top-level directory, label it
      # with samba_share_t so that SELinux allows Samba to read and write to it. Do
      # not label system directories, such as /etc/ and /home/, with samba_share_t, as
      # such directories should already have an SELinux label.
      #
      # Run the "ls -ldZ /path/to/directory" command to view the current SELinux
      # label for a given directory.
      #

      Eliminar
    2. # Set SELinux labels only on files and directories you have created. Use the
      # chcon command to temporarily change a label:
      # chcon -t samba_share_t /path/to/directory
      #
      # Changes made via chcon are lost when the file system is relabeled or commands
      # such as restorecon are run.
      #
      # Use the samba_export_all_ro or samba_export_all_rw Boolean to share system
      # directories. To share such directories and only allow read-only permissions:
      # setsebool -P samba_export_all_ro on
      # To share such directories and allow read and write permissions:
      # setsebool -P samba_export_all_rw on
      #
      # To run scripts (preexec/root prexec/print command/...), copy them to the
      # /var/lib/samba/scripts/ directory so that SELinux will allow smbd to run them.
      # Note that if you move the scripts to /var/lib/samba/scripts/, they retain
      # their existing SELinux labels, which may be labels that SELinux does not allow
      # smbd to run. Copying the scripts will result in the correct SELinux labels.
      # Run the "restorecon -R -v /var/lib/samba/scripts" command as the root user to
      # apply the correct SELinux labels to these files.
      #
      #--------------
      #
      #======================= Global Settings =====================================
      [global]

      # ----------------------- Network-Related Options -------------------------
      #
      # workgroup = the Windows NT domain name or workgroup name, for example, MYGROU$
      #
      # server string = the equivalent of the Windows NT Description field.
      #
      # netbios name = used to specify a server name that is not tied to the hostname.
      #
      # interfaces = used to configure Samba to listen on multiple network interfaces.
      # If you have multiple interfaces, you can use the "interfaces =" option to

      Eliminar
    3. # configure which of those interfaces Samba listens on. Never omit the localhost
      # interface (lo).
      #
      # hosts allow = the hosts allowed to connect. This option can also be used on a
      # per-share basis.
      #
      # hosts deny = the hosts not allowed to connect. This option can also be used on
      # a per-share basis.
      #
      # max protocol = used to define the supported protocol. The default is NT1. You
      # can set it to SMB2 if you want experimental SMB2 support.
      #
      workgroup = MYGROUP
      server string = Samba Server Version %v

      ; netbios name = MYSERVER
      ; interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
      ; hosts allow = 127. 192.168.12. 192.168.13.

      ; max protocol = SMB2

      # --------------------------- Logging Options -----------------------------
      #
      # log file = specify where log files are written to and how they are split.
      #
      # max log size = specify the maximum size log files are allowed to reach. Log
      # files are rotated when they reach the size specified with "max log size".
      #

      # log files split per-machine:
      log file = /var/log/samba/log.%m
      # maximum size of 50KB per log file, then rotate:
      max log size = 50

      # ----------------------- Standalone Server Options ------------------------
      #
      # security = the mode Samba runs in. This can be set to user, share
      # (deprecated), or server (deprecated).
      #
      # passdb backend = the backend used to store user information in. New
      # installations should use either tdbsam or ldapsam. No additional configuration
      # is required for tdbsam. The "smbpasswd" utility is available for backwards
      # compatibility.
      #

      security = user
      passdb backend = tdbsam


      # ----------------------- Domain Members Options ------------------------
      #
      # security = must be set to domain or ads.
      #
      # passdb backend = the backend used to store user information in. New
      # installations should use either tdbsam or ldapsam. No additional configuration
      # is required for tdbsam. The "smbpasswd" utility is available for backwards
      # compatibility.
      #
      # realm = only use the realm option when the "security = ads" option is set.
      # The realm option specifies the Active Directory realm the host is a part of.
      #
      # password server = only use this option when the "security = server"
      # option is set, or if you cannot use DNS to locate a Domain Controller. The
      # argument list can include My_PDC_Name, [My_BDC_Name], and [My_Next_BDC_Name]:
      #
      # password server = My_PDC_Name [My_BDC_Name] [My_Next_BDC_Name]
      #
      # Use "password server = *" to automatically locate Domain Controllers.

      ; security = domain
      ; passdb backend = tdbsam
      ; realm = MY_REALM

      ; password server =

      # ----------------------- Domain Controller Options ------------------------
      #
      # security = must be set to user for domain controllers.
      #
      # passdb backend = the backend used to store user information in. New
      # installations should use either tdbsam or ldapsam. No additional configuration
      # is required for tdbsam. The "smbpasswd" utility is available for backwards
      # compatibility.
      #
      # domain master = specifies Samba to be the Domain Master Browser, allowing
      # Samba to collate browse lists between subnets. Do not use the "domain master"
      # option if you already have a Windows NT domain controller performing this tas$
      #
      # domain logons = allows Samba to provide a network logon service for Windows
      # workstations.
      #
      # logon script = specifies a script to run at login time on the client. These
      # scripts must be provided in a share named NETLOGON.
      #
      # logon path = specifies (with a UNC path) where user profiles are stored.
      #
      #
      ; security = user
      ; passdb backend = tdbsam

      ; domain master = yes
      ; domain logons = yes

      Eliminar

    4. # the following login script name is determined by the machine name
      # (%m):
      ; logon script = %m.bat
      # the following login script name is determined by the UNIX user used:
      ; logon script = %u.bat

      ; logon path = \\%L\Profiles\%u
      # use an empty path to disable profile support:
      ; logon path =

      # various scripts can be used on a domain controller or a stand-alone
      # machine to add or delete corresponding UNIX accounts:

      ; add user script = /usr/sbin/useradd "%u" -n -g users
      ; add group script = /usr/sbin/groupadd "%g"
      ; add machine script = /usr/sbin/useradd -n -c "Workstation (%u)" -M -d /$
      ; delete user script = /usr/sbin/userdel "%u"
      ; delete user from group script = /usr/sbin/userdel "%u" "%g"
      ; delete group script = /usr/sbin/groupdel "%g"


      # ----------------------- Browser Control Options ----------------------------
      #
      # local master = when set to no, Samba does not become the master browser on
      # your network. When set to yes, normal election rules apply.
      #
      # os level = determines the precedence the server has in master browser
      # elections. The default value should be reasonable.
      #
      # preferred master = when set to yes, Samba forces a local browser election at
      # start up (and gives itself a slightly higher chance of winning the election).
      #
      ; local master = no
      ; os level = 33
      ; preferred master = yes

      #----------------------------- Name Resolution -------------------------------
      #
      # This section details the support for the Windows Internet Name Service (WINS).
      #
      # Note: Samba can be either a WINS server or a WINS client, but not both.
      #
      # wins support = when set to yes, the NMBD component of Samba enables its WINS
      # server.
      #
      # wins server = tells the NMBD component of Samba to be a WINS client.
      #
      # wins proxy = when set to yes, Samba answers name resolution queries on behalf
      # of a non WINS capable client. For this to work, there must be at least one
      # WINS server on the network. The default is no.
      #
      # dns proxy = when set to yes, Samba attempts to resolve NetBIOS names via DNS
      # nslookups.

      ; wins support = yes
      ; wins server = w.x.y.z
      ; wins proxy = yes
      ; dns proxy = yes

      # --------------------------- Printing Options -----------------------------
      #
      # The options in this section allow you to configure a non-default printing
      # system.
      #
      # load printers = when set you yes, the list of printers is automatically
      # loaded, rather than setting them up individually.
      #
      # cups options = allows you to pass options to the CUPS library. Setting this
      # option to raw, for example, allows you to use drivers on your Windows clients.
      #
      # printcap name = used to specify an alternative printcap file.
      #

      Eliminar

    5. load printers = yes
      cups options = raw

      ; printcap name = /etc/printcap
      # obtain a list of printers automatically on UNIX System V systems:
      ; printcap name = lpstat
      ; printing = cups
      # --------------------------- File System Options ---------------------------
      #
      # The options in this section can be un-commented if the file system supports
      # extended attributes, and those attributes are enabled (usually via the
      # "user_xattr" mount option). These options allow the administrator to specify
      # that DOS attributes are stored in extended attributes and also make sure that
      # Samba does not change the permission bits.
      #
      # Note: These options can be used on a per-share basis. Setting them globally
      # (in the [global] section) makes them the default for all shares.

      ; map archive = no
      ; map hidden = no
      ; map read only = no
      ; map system = no
      ; store dos attributes = yes


      #============================ Share Definitions ==============================

      [homes]
      comment = Home Directories
      browseable = no
      writable = yes
      ; valid users = %S
      ; valid users = MYDOMAIN\%S

      [printers]
      comment = All Printers
      path = /var/spool/samba
      browseable = no
      guest ok = no
      writable = no
      printable = yes

      # Un-comment the following and create the netlogon directory for Domain Logons:
      ; [netlogon]
      ; comment = Network Logon Service
      ; path = /var/lib/samba/netlogon
      ; guest ok = yes
      ; writable = no
      ; share modes = no

      # Un-comment the following to provide a specific roving profile share.
      # The default is to use the user's home directory:
      ; [Profiles]
      ; path = /var/lib/samba/profiles
      ; browseable = no
      ; guest ok = yes

      # A publicly accessible directory that is read only, except for users in the
      # "staff" group (which have write permissions):
      ; [public]
      ; comment = Public Stuff
      ; path = /home/samba
      ; public = yes
      ; writable = yes
      ; printable = no
      ; write list = +staff



      Eliminar
  8. por que me vuelve aparres el desactivado de SELINUX=disabled por que cuando lo guarde me equivoque y le puse el nombre de /etc/samba/smb.conf

    ResponderEliminar
  9. En mi S.O. nativo Windows en el explorador de archivos Al momento de poner la IP del S.O. Fedora 18 que tiene samba el cual es virtual me dice que puede haber problemas con la red o que este mal escrito. Puede ser por que mi SO nativo es Windows y el que tiene samba es virtual? o por que había que configurar algo en la red? o por que seria?

    De antemano muchas gracias.

    ResponderEliminar
  10. Te confirmo que en Fedora 20 sigue siendo válido este tutorial. En vez de 192.168.1.69 he usado la IP que tiene mi pc en la red local, 192.168.1.130. Perfecto. Un saludo :)

    ResponderEliminar
  11. no me permite entrar a mi carpeta, aun ingresando mi nombre de usuario y password, a que se deberá, un saludo

    ResponderEliminar
  12. al agregar un usuario y su contraseña me sale este error failed to add entry for user nombre de usuario. Gracias

    ResponderEliminar
  13. Hola, una consulta.. teniamos una red (cuando ingres ene el trabajo) con windows 2000 server donde este hacia de server de dominio y compartia carpeta con los distintos usuarios con PC que contaban con Windows XP y 7... ahora la Mayora de las PC cuentan con Linux MINT 16, algunas LUBUNTU 14 (xq son mas viejas) y alguna eran tan viejas que quedaron con el XP. Se compro un Servidor nuevo y mas potente al que se le instalo FEDORA, mi idea es hacer un Server de dominio con carpetas compartidas para los usuario... como puedo hacer ya que no lo encuentro a ese tuto por ningun lado y soy semi nuevo el linux... Desde ya, muchas gracias

    ResponderEliminar
  14. Hola tux estoy con un problemaso va no se si problemaso pero te cuento que estoy usando fedora 20 y segui tu guia al pie de la letra, la cosa es que cuando intento abrir una carpeta creada desde windows a /allusers de fedora no la puedo abrir no puedo ver el contenido tendras alguna solucion para esto?? desde ya muchas gracias muy buenas tus guias genio. PD: me dice que me faltan permisos. salen con una X las carpetitas. disculpa la mala ortografia.

    ResponderEliminar
  15. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  16. Hola, estoy atorado en el paso 5:
    5. Configuramos para que Samba se inicie con el sistema e iniciamos el servicio.
    1 chkconfig smb on
    2 service smb start

    Mi duda es que hacer, agrego esas 2 lineas al fichero con nano, o que hago? porque busque esas 2 lineas y no aparecen. si es agregar eso, lo hago donde sea o hay alguna linea en especifico.
    Saludos y gracias

    ResponderEliminar
    Respuestas
    1. Se olvido de indicar que esas 2 lineas van en la Terminal, despues del paso 4 guarda el archivo smb y en la terminal escribe esos 2 codigos del paso 5

      Eliminar
  17. Muchas gracias !! el único tuto q sirve

    ResponderEliminar
  18. hola . He seguido este tutorial y me ha vuncionado bien. Comparto varias carpetas e impresoras. solo hay un detalle. Mi pc no aparece listada al explorar la red pero si puedo acceder poniendo la dirección ip. Es decir que no puede acceder usando el nimbre netbios. Alguna sugerencia.

    FEDORA 20 gnome 3.12

    ResponderEliminar
  19. Excelente, muy bien explicado!

    USER_FEDORA

    ResponderEliminar
  20. Es totalmente necesario crear el usuario?. Lo pregunto porque al final he podido ingresar con mi usuario primario sin total problemas- Claro está que estoy usando Fedora 25 y no sé si se deba a eso. Lo otro es que tuve que tildar las opciones de samba no solo en Public, sino en Workstation y otras allí para que me pudiese funcionar.

    ResponderEliminar
  21. gracias por tu ayuda ojalá que nunca muera tu blog esta muy bueno, he seguido los pasos para compartir archivos por samba en win2 sí muestra la carpeta pero cuando agrego algo en mi fedora no lo muestra, gracias

    ResponderEliminar
  22. hola disculpa pero creo que cometí un error, estoy compartiendo todo el /home y yo solo quiero una sola carpeta a compartir

    ResponderEliminar

Comenta respetando al autor del post y a los lectores.
Puedes comentar como anónimo, pero tendrás que estar al pendiente, visitando el post para saber si te respondí, si quieres que la respuesta llegue a tu correo, comenta utilizando algunos de los servicios disponibles, o puedes preguntar en mis redes sociales.

Translate

Visita mi Canal de Youtube.

Todo el contenido está disponible bajo los términos de la licencia Creative Commons. Con la tecnología de Blogger.