Cómo instalar y configurar Samba en Ubuntu 14.10

samba linux windows

Samba es una implementación de servicios y protocolos compatibles con SMB (ahora llamado CIFS) con el que los ordenadores Windows se comunican entre sí: Fue desarrollado por Andrew Tridgell mediante ingeniería inversa, utilizando capturadores de tráfico del estilo Wireshark (anteriormente conocido como Ethereal) para ofrecer compatibilidad en entornos *nix, algo que se necesitaba para no quedar aislados en entornos corporativos y educativos en los cuales suelen coexistir varias plataformas (Windows, Linux, Mac OS X).

Veamos entonces cómo instalar y configurar un servidor Samba en Ubuntu 14.10 Utopic Unicorn, preparado para ofrecer shares anónimos y también otros más seguros en las cuales sea necesario autenticarse para acceder, para así poder ofrecer archivos a todo tipo de usuarios. Y vamos a partir de la base de que tenemos instalado Ubuntu 14.10 server, la versión de la distro de Canonical dedicada a estos menesteres, con una dirección IP fija de 192.168.1.100; además de esto desde luego vamos a necesitar algún otro equipo en la misma red local, y dentro del mismo grupo de trabajo, para probar como ha quedado configurado todo.

Para comenzar, vamos a instalar los paquetes de Samba, algo muy sencillo puesto que forman parte de los repositorios oficiales:

# apt-get install samba samba-common python-glade2 system-config-samba

Ahora lo que tendremos que hacer es editar el archivo /etc/samba/smb.conf, que es el que lleva toda la configuración de nuestro servidor Samba. Previo a esto hacemos un backup del archivo actual:

# cp /etc/samba.conf /etc/samba/smb.conf.back

Ahora si editamos el archivo principal:

# nano /etc/samba/smb.conf

Editamos la sección [global], que es en la que especificamos el nombre del grupo de trabajo, la cadena con la que se identifica en la red local, el nombre netbios, tipo de seguridad y demás. Lo dejamos como sigue (podemos cambiar los tres primeros parámetros si lo deseamos):

[global]
workgroup = GRUPODETRABAJO
server string = Servidor Samba %v
netbios name = ubuntu
security = user
map to guest = bad user
dns proxy = no

A continuación nos vamos bien abajo en el archivo, a la sección que dice ‘Share Definitions’ y que comienza con [Anonymous]. Allí añadimos (desde luego, podemos cambiar la ruta a la carpeta que vamos a compartir):

[Anonymous]
path = /samba/anonymous
browsable =yes
writable = yes
guest ok = yes
read only = no

Ahora reiniciamos el servidor Samba:

# service smbd restart

Un par de aspectos a considerar son el hecho de que la carpeta que vamos a ofrecer para acceso anónimo tiene que existir en nuestro sistema de archivos y además debe ser accesible para todos los usuarios, es decir que al listarla con:

ls -l

Nos debe mostrar permisos de lectura y ejecución para todos, es decir drwxr-xr-x, o 755 en la jerga numérica. Si no es el caso debemos hacer que así sea (cambiamos ‘carpetaacompartir’ por el nombre y ruta que deseemos):

# chmod -R 0755 /carpetaacompartir

Una vez que tenemos configuardo el acceso anónimo vamos a hacer lo propio con el acceso restringido por contraseña, y esto es algo que lleva un poco más de trabajo, así que vamos a empezar. En primer lugar, dado que en la configuración general establecimos que la seguridad es a través de user, esto significa que para acceder a las carpetas protegidas tendremos que hacerlo mediante nombre de usuario y contraseña que exista en el servidor Ubuntu 14.10 Utopic Unicorn, y por ello habrá que crear esa cuenta (podemos usar el nombre que deseemos, en lugar de usuariosamba como hemos hecho nosotros):

# useradd usuariosamba -G sambashare

Ingresamos la contraseña del usuario cuando se nos solicita, y luego añadimos la contraseña de samba:

# smbpasswd -a usuariosamba

También se nos pedirá que ingresemos la contraseña dos veces, tras lo cual el usuario que hemos creado ya tendrá su contraseña de Samba. Ahora debemos añadir las opciones de configuración para compartir una carpeta protegida mediante contraseña, así que volvemos a abrir para edición el archivo de configuración de Samba.

# nano /etc/samba/smb.conf

Añadimos:

[accesoseguro]
path = /home/samba/compartido
valid users = @sambashare
guest ok = no
writable = yes
browsable = yes

La carpeta /home/samba/compartido debe tener acceso de lectura, escritura y ejecución para todo el grupo sambashare, así que para esto vamos a ejecutar:

# chmod -R 0770 /home/samba/compartido

#chown -R root:sambashare /home/samba/compartido

Eso es todo, ya podremos acceder a esta carpeta desde cualquier equipo de la red local que forme parte del grupo de trabajo GRUPODETRABAJO, y al hacerlo incluso podremos guardar la contraseña para un futuro acceso más rápido desde Windows, Mac OS X o desde otros equipos Linux.


Categorías

Ubuntu

Willy Klew

Ingeniero en Informática, soy un fanático de Linux, Android, la programación, redes y todo lo que tenga que ver con las nuevas tecnologías. Ex... Ver perfil ›

21 comentarios

  1.   Campanero dijo

    GRacias por el aporte,pero creo que es complicarse la vida un poco,si pones el ratón encima de una carpeta con el botón derecho del mismo aparece la opción “recurso compartido en la red local”,simplemente con activarlo ubuntu instala y configura automáticamente todo lo necesario para que funcione.

    1.    Willy Klew dijo

      Es cierto, Campanero

      Pero hemos querido mostrar como se hacen las cosas ‘a mano’, no porque nos guste complicarnos sino porque la idea es que se aprenda el proceso. Así, si alguna vez tenemos que hacer algo más complejo, como permitir acceso a ciertos usuarios pero no a otros, o permitir acceso de solo lectura a todos y de escritura a un determinado grupo, sabremos como hacerlo.
      Gracias por comentar! Saludos

  2. Hola está genial tu posto me ha ayudado, gracias, por cierto tengo instalado Ubuntu Gnome 14.10 y no puedo abrir LibreOffice ¿algun tuto o algo para solucionarlo? un saludo.

  3.   tron dijo

    Muy bien explicado… pero no me funciona, no es por el tutorial, no se por que.

    Estoy con kde y no hay manera veo las carpetas pero luego no tengo permisos.que suplicio

  4.   Willy Klew dijo

    Hola tron, que mensaje recibes del sistema?

    Has añadido los usuarios como usuarios del grupo sambashare y también como usuarios del sistema?

    1.    tron dijo

      Hola Willy gracias por contestar.

      No se si estoy cometiendo un fallo, me mi pretensión era crear un usuario, por ejemplo luis y añadirlo al grupo de samba share y listo.

      El fallo que me da es falta de permisos.

  5.   Mike Silver dijo

    Hola, podrías ayudarme configurar un directorio de carpetas en la cual deben de accesar con user y pass, pero uno de esos users no debe de entrar a x carpeta?

    Excelente tuto!

  6.   yakon79 dijo

    Perdona, pero hay un pequeño error en la siguiente linea:

    cp /etc/samba.conf /etc/samba/smb.conf.back, la correcta seria:

    cp /etc/samba/samba.conf /etc/samba/smb.conf.back

    A parte de eso, el post esta genial

  7.   David Figueroa dijo

    Amigo excelente tu aporte. yo he estado tratando de dar acceso a ciertos usuarios para este tipo de carpeta compartida y no consigo una salida.

  8.   iamneox dijo

    Buenas tardes,

    disculpad las molestias pero no soy capaz de crear bien los accesos…

    logro ver las carpetas cuando conecto a \\ip
    pero cuando quiero acceder a la carpeta con “acceso seguro ” me sale el mensaje de que.. “no se puede obtener acceso”

    Da la sensación de que he puesto mal el usuario y password, pero no , lo he comprobado y está correcto.

    Adjunto pantallazo del mensaje :

    http://gyazo.com/b50a36dfa3b11b726063021a5d830f7b

    Gracias de antemano.

  9.   yomopa dijo

    hola alguien me colabore desde ubuntu veo toda la red local y todos los equipos en ella pero desde un pc con win 7 no muestra el servidor con ubuntu carga en la red todos los otros pero no el de ubuntu…. gracias a su pronta respuesta

  10.   abacuc dijo

    Hola buen post yo utilize la interfa grafica para instalarlo y todo funciona. Sin embargo cuando hay problemas electricos al iniciar el servidor hay que iniciar los servicios samba manualmente y no e conseguido que se inicie de forma automatica al iniciar el sistema podrian ayudarme?

  11.   aa dijo

    no funciona

  12.   makenciee dijo

    mmmmmmmmmmmmmmmmmm que interestante yo quiero ponerle contraceña cuando recien se prende

  13.   Anonymous dijo

    no sale, hay varias cosas que estan mal en el tuto, algunos nombres estan mezclados y no se puede los permisos

  14.   Dark dijo

    Esta bueno el post aunque tendrías que actualizarlo para Ubuntu 16.04.

  15.   Jorge Menta dijo

    Estoy de acuerdo con Dark. El post esta muy bueno pero necesitarias actualizarlo a Ubuntu 16.04.
    Desde ya muchas gracias.
    Excelente trabajo +10

  16.   samuel dijo

    Hey yo queria instalar un servidor lamp en ubuntu 16 pero cuando trate de guardar bases de datos con my sql me decia error de php, que no tenia el modulo de mysql, de tanto investigar no encontre ninguna solucion concreta, entonces decidi instalar mi servidor en ubuntu 14, regrese aqui pero teniendolo todo ya instalado cuando trato de abrir una carpeta desde otra maquina con windows me manda error diciendo que probablemente mis credenciales no tengan los permisos y terminado ese error dice que el acceso ya no esta disponible, he estado tratando de solucionar eso pero nomas no puedo, alguien que me ayude?

  17.   Amigo dijo

    Gracias me quedo a la primera, Claro hay que tener cierto sentido común como en la ruta correcta del directorio.
    Saludos.

  18.   José Luis dijo

    Buenos días, te felicito por la pasión que le ponés a estos temas, yo soy de la electrónica más que la programación, pero me gusta ubuntu porque lo hacen desinteresadamente y con un atractivo único.
    Gracias por sus enseñanzas.
    Felicitacionespor lo del fútbol, soy hincha de boca, de Argentina.
    Abrazo.

  19. Muy útil, me ha venido genial este artículo ya se instalar correctamente Samba, saludos.

Escribe un comentario