Navegar por una red SMB/CIFS sin Samba

¡Hola Amigos!. Como recomendamos en nuestro artículo anterior, debemos ir de lo sencillo a lo complejo. Por tanto, continuamos la serie aprendiendo a Navegar y Utilizar los recursos que encontramos en una red SMB/CIFS.

Las imágenes mostradas corresponden a una estación de trabajo con Debian Wheezy con el GNOME-Shell. Pienso que todo lo que explicaremos a continuación sea válido también para Ubuntu.

Debian instala por defecto la librería libsmbclient, paquete que permite a las aplicaciones de nuestro equipo conversar con servidores Samba y Microsoft Windows.

Lo cual indica que NO es necesario tener instalado Samba para acceder a redes SMB/CIFS. Este soporte está presente en el núcleo de nuestro sistema operativo. Por supuesto sus funciones son básicas pero suficientes para navegar.

Si abrimos el Nautilus y hacemos clic sobre el botón «Examinar la red», y tenemos habilitada en las preferencias que se nos muestre el «Lugar:», veremos como cambia de /home/usuario al lugar network:///. Si continuamos navegando, veremos lo siguiente:

samba-ii-01

Al hacer doble clic sobre el icono «Red de Windows», se nos mostrarán todos los Grupos de Trabajo o «Workgroup» de nuestra LAN. En nuestro caso se muestra solamente el grupo «DCH». Ahora, observen como cambió el «Lugar:» de network:/// a smb:///:

samba-ii-02

Observen el cambio a smb://dch/ al hacer doble clic sobre el Grupo de Trabajo:

samba-ii-03

Finalmente obtenemos la lista de equipos que pueden o no tener recursos compartidos, pero que soportan el protocolo SMB/CIFS. Al seleccionar el equipo de nuestro interés se debe mostrar la Lista de sus Recursos Compartidos, sólo si el servidor o máquina en cuestión permite que cualquier usuario pueda obtener esa lista, lo cual constituye el comportamiento por defecto. De paso observen el cambio del Lugar: a smb://alpha:

samba-ii-04

Si el recurso compartido que deseamos abrir esta protegido por nombre de usuario y contraseña, lo normal en redes empresariales, y nosotros conocemos que tenemos permiso para acceder a él, después que nos validemos correctamente podemos acceder a su contenido.

Observen que el nombre del DOMINIO que en éste caso es el nombre del Grupo de Trabajo está en mayúsculas.

samba-ii-05

Después que nos autenticamos correctamente, el Lugar: cambia a smb://alpha/des/, y además aparecerá un icono en el escritorio -en caso de que tengamos activado el escritorio- con el nombre de «des en alpha«, el cual actúa como un «Enlace» a nuestro recurso remoto.

También en el Nautilus se reflejará en su barra lateral de Lugares el recurso «des en alpha» en la zona «Red».

samba-ii-06

samba-ii-07

Si necesitamos abrir un determinado archivo -vía red- con la aplicación local -instalada en nuestro equipo- asociada a ese tipo de archivo, veremos como algunos SI abren de forma satisfactoria, mientras que otros NO. Dependerá, entre otros factores, del soporte que tenga nuestra aplicación para el protocolo SMB/CIFS.

Si no podemos abrir el archivo remotamente y no queremos instalar más paquetes para montar localmente el recurso compartido, y necesitamos abrirlo como solo lectura o modificarlo -acorde a los permisos que tengamos-, lo que podemos hacer es copiarlo hacia nuestro equipo y trabajar el archivo de forma local.

Si queremos cerrar la conexión establecida con el Recurso Remoto, lo podemos hacer en el propio Nautilus haciendo clic con el botón derecho del ratón sobre el icono correspondiente y seleccionando la opción «Desmontar».

Una forma más rápida de acceder a recursos cuya ubicación conozcamos de antemano, sería ejecutar -mediante Alt + F2 o por consola- el comando siguiente:

nautilus smb://servidor/recurso

Ejemplos:

nautilus smb://mixp/musica
nautilus smb://mixp.amigos.cu/musica
nautilus smb://192.168.10.100/musica
nautilus smb://federico@mixp/musica

Prueben y verán que, si para acceder al recurso se requiere autenticación, cuando se indica el usuario, varía un poco el diálogo de autenticación.

En caso de que sea un Servidor Independiente (Standalone) no registrado en un Dominio, el usuario debe existir en el Servidor y debe tener permisos para leer y/o modificar el recurso. El nombre del DOMINIO será el del propio Servidor Standalone.

En GNOME y KDE al menos, también existe la alternativa de «Conectar con el Servidor». El navegador de archivos Dolphin de KDE nos la pone fácil con su icono «Red», al igual que el Nautilus.

Por otra parte, si necesitamos un acceso profesional a una LAN empresarial y no queremos unir al dominio a nuestra estación de trabajo, para no necesitar autenticarnos cada vez que queramos acceder a un determinado recurso, podemos instalar el paquete smb4k en cualquier ambiente de escritorio aunque éste sea originario del KDE.

Este paquete instala entre otras dependencias a: samba-common-bin, smbclient y smbfs, al menos en Squeeze. Tiene una interfaz en extremo intuitiva y mi juicio, profesional.

Lo hasta aquí explicado puede parecer muy elemental. De hecho la mayor parte del proceso que ocurre en los servidores y que nos permite navegar por una red SMB/CIFS, es totalmente transparente para el usuario. A pesar de todo queremos puntualizar los siguientes aspectos:

  • Para acceder a los recursos de una red con un Dominio, ya sea de Windows o de Samba, NO es obligatorio tener registrado nuestro equipo cliente en el Dominio, aunque si lo hacemos sería más cómoda la navegación por la LAN pues sólo nos autenticamos una sola vez.
  • Cada equipo conectado a una LAN debe compartir una misma red o «network» y una misma máscara de red. Si la red es la 192.168.10.0 y la máscara es 255.255.255.0 (192.168.10.0/24), nos indica una red Clase «C» en la cual podemos tener hasta 254 equipos. Una red de esta Clase satisface y con mucho las necesidades de la inmensa mayoría de las pequeñas y medianas empresas. Por tanto, cada equipo conectado a la red debe tener una dirección IP 192.168.10.xxx/255.255.255.0, para que se pueda afirmar que participan de la misma red.
  • Si en la red no se está ejecutando el servicio DNS, no puede existir una correcta resolución de nombres a partir de las direcciones IP de los equipos, a menos que distribuyamos para cada uno de ellos, un archivo hosts cuyo contenido será el de todos los nombres de los equipos y sus respectivas direcciones IP. Vea /etc/hosts o man hosts. El archivo hosts no es más que la Tabla Estática de Búsqueda de Nombres de Hosts a partir de sus Direcciones IPs.
  • Aunque para cerrar un conexión elegimos la opción «Desmontar» en el Nautilus o en el Enlace creado en el Escritorio, «los recursos no están realmente montados en nuestro sistema de archivos local». El Enlace redirige nuestra petición a un Lugar Especial (consulte la ayuda del GNOME 2.xxxx) que es una URL del tipo smb://equipo-remoto/recurso-compartido.
  • El soporte para redes SMB/CIFS que nos permite conversar con servidores Windows y Samba, es parte del Núcleo de Linux, NO del programa Samba. Tampoco lo son los paquetes smbfs, smbnetfs y cifs-utils. Para más información, consulte «Samba3-ByExample. Chapter 13 Performance, Reliability, and Availability«.
  • Acorde a lo recomendado por Samba, y siempre que sea posible, se debe tener un servidor WINS instalado en cada subnet. Este servicio, el cual lo presta también el propio Samba, facilita enormemente la resolución de nombres NetBIOS. El servicio WINS es a una red SMB/CIFS lo que es el DNS a Internet. NO debe tener más de un servidor WINS en una misma subnet.

Como este post no pretende sustituir ni por asomo a la documentación abundante y exuberante :-), aclaren sus dudas leyéndola. Samba no perdona a los Impacientes y se hace amigo de los que la estudian aunque sea básicamente.

Y me parece que es bastante por hoy. Por tanto, ¡se acabó la Actividad, amigos!.

Hasta la próxima aventura!!!.


16 comentarios, deja el tuyo

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   eliotime3000 dijo

    ¡WOW! Ésta es la forma perfecta en la cual estaba buscando de conectarme a las carpetas compartidas de Windows sin necesidad de complicaciones del SAMBA ni cualquier otro tipo.

    Gracias, colega. Ésto puede servir hasta para los más nóveles.

  2.   rolo dijo

    muy bueno el art. pero… no estoy convencido de que samba este en el kernel, es mas que seguro que tengas el cliente smbclient instalado y es por ello que podes entrar a una red samba o de win.

    1.    Federico A. Valdés Toujague dijo

      Nada más alejado de la verdad. Como dije en el artículo, los propios Samberos afirman no tener nada que ver con el soporte que da el núcleo para navegar por redes SMB/CIFS. Incluso, el smbclient que SI es de Samba, se puede instalar a posteriori.

      1.    pasaba por aqui dijo

        si tenes nautilus, seguro se vincula con el gvfs y por eso instala

        aptitude show libsmbclient
        Package: libsmbclient
        State: not installed
        Multi-Arch: same
        Version: 2:3.6.16-1
        Priority: optional
        Section: libs
        Maintainer: Debian Samba Maintainers
        Architecture: i386
        Uncompressed Size: 6164 k

        podes tirar un apt-cache rdepends libsmbclient y ver con que va

        1.    Federico A. Valdés Toujague dijo

          aptitude show libsmbclient
          Paquete: libsmbclient
          Nuevo: sí
          Estado: instalado
          Instalado automáticamente: sí
          Versión: 2:3.5.6~dfsg-3
          Prioridad: opcional
          Sección: libs
          Desarrollador: Debian Samba Maintainers
          Tamaño sin comprimir: 6242 k
          Depende de: libc6 (>= 2.5), libcap2 (>= 2.10), libcomerr2 (>= 1.01),
          libgssapi-krb5-2 (>= 1.7+dfsg), libk5crypto3 (>= 1.6.dfsg.2),
          libkrb5-3 (>= 1.8+dfsg), libldap-2.4-2 (>= 2.4.7), libtalloc2 (>=
          2.0.0), libwbclient0 (>= 2:3.4.0~pre2), zlib1g (>= 1:1.1.4)
          Descripción: shared library for communication with SMB/CIFS servers
          This package provides a shared library that enables client applications to talk
          to Microsoft Windows and Samba servers using the SMB/CIFS protocol.
          Página principal: http://www.samba.org

          1.    pasaba por aqui dijo

            Salvando la version, es lo mismo, la cosa es para el otro lado, por eso puse lo del rdepends
            lo pongo de atras para adelante
            apt-cache depends nautilus
            apt-cache depends gvfs
            apt-cache depends gvfs-backends
            apt-cache depends libsmbclient
            y llegamos al aptitude show
            es valido que no instale el smbclient o samba. si usa gvfs como backend

            o quiza a lo que pone en Description con (apt-cache o aptitude ) show smbclient o samba
            respecto de cifs-utils

  3.   Federico A. Valdés Toujague dijo

    apt-cache rdepends libsmbclient
    libsmbclient
    Reverse Depends:
    xmms2-plugin-smb
    libxine1-misc-plugins
    vlc-nox
    smbnetfs
    smbc
    libwbclient0
    libsmbclient-dev
    python-smbc
    mplayer
    mplayer-gui
    mencoder
    libfilesys-smbclient-perl
    kdebase-runtime
    gvfs-backends
    libgnomevfs2-extra
    fusesmb

    Y en Squeeze, si ejecutas «apt-cache depends nautilus | grep libsmbclient», no te devuelve nada.
    Bueno, lee bien que en artículo escribo:

    «Debian instala por defecto la librería libsmbclient, paquete que permite a las aplicaciones de nuestro equipo conversar con servidores Samba y Microsoft Windows.»

    Observa que digo «Aplicaciones». Una instalación limpia con GNOME o con KDE la instala

  4.   truko22 dijo

    Interesante, tenia entendido que esto lo hacia samba-client 😀

  5.   rolo dijo

    acabo de instalar un debian wheezy cd1 y samba cliente aparece como instalado en forma virtual
    v samba-client

    veo que el paquete libsmbclient esta instalado por defecto por lo tanto el titulo es incorrecto
    fijence en el contenido del cd 1
    http://cdimage.debian.org/debian-cd/current/i386/list-cd/debian-7.1.0-i386-CD-1.list.gz

    1.    Federico Antonio Valdés Toujague dijo

      El título es correcto, @rolo, pues la Suite Samba NO está instalada. El paquete samba NO está instalado. Por otra parte, debes revisar el concepto de lo que es un Paquete Virtual. Gracias por Comentar!!!.

      1.    Julio Cesar Dominguez dijo

        Saludos

        !!!Que buenos conocimiemtos de samba..?; Yo es que no entiendo nada; por momentos me funciona muy bien y un 40% se cae la conexion ya me da lo mismo; de todos modos me alegra saber que hay gente que sabe muchisimo en la materia.
        felicidades

  6.   Kevin dijo

    Simplemente increíble, perfecta serie de artículos para iniciarse en SAMBA, genial!!!
    Leyéndolo pacientemente y con mucho gusto!

    1.    federico dijo

      Gracias por comentar !!!. El propósito es ese: dar un punto de entrada al tema Samba

  7.   DaniFP dijo

    ¡Fenomenal este y el resto de artículos sobre Samba! La verdad es que detesto usar SMB/CIFS, pero cuando me veo obligado a ello, artículos como este alivian mucho los quebraderos de cabeza. ¡Gracias!

    1.    federico dijo

      Gracias por tu comentario y me satisface el haberte ayudado.

  8.   Miguel dijo

    Hola, tengo una duda. ¿ es posible denegar el acceso a examinar la red en Nautilus a un usuario determinado en debian 8 ? Si es así, cómo sería.
    Muchas gracias y enhorabuena por su artículo.