domingo, 22 de mayo de 2016

Servidor Samba en Debian 8

Hola amigos, en ésta entrada vamos a instalar y configurar un servicio que muchas veces es útil en redes LAN, para compartir recursos como archivos, impresoras y otros detalles, el software SAMBA es un poderoso protocolo que tiene muchas características para interactuar entre estaciones Windows con GNU/Linux o Unix.

Samba es un protocolo que permite dicha acción dicha, para más información AQUI, :)

En este tutorial vamos a ver la forma básica de cómo una estación windows puede ver al servidor Debian que servirá para almacenar archivos.

Vamos a configurar a samba como stalone server no como controlador de dominio.

Pues vamos a configurar SAMBA :)

Paso 1: tener nuestro equipo Debian 8 instalado y funcionando con una ip estática, máscara de sub red y un gateway si es que sale a otras redes, y si tiene acceso a internet pues servidores dns :)

Paso 2: Vaerificar si está instalado el software samba, eso lo hacemos asi, consultamos:
#dpkg -l samba

En caso de no tener se agrega con:
#apt-get install samba
Yo tengo un server que instalé con el cd 1 de Debian, asi que no tengo samba y tampoco al smbclient (este me servirá para ingresar a una estación windows a un recurso que windows comparte), que se usa por línea de comandos, recuerden nuestro Debian es server puro, sin interfaz gráfica, se administra a pura cli (command line interface) :)

Paso 3: Vamos a configurar primero para que cualquier usuario vea a nuestro servidor samba y pueda copiar los archivos que ve, más no puede hacer otras cosas como borrar (son permisos los que deben jugar aquí), luego vamos a configurar un directorio seguro que se ve en red, pero no se puede ingresar a menos que sea con un usuario y contraseña que se crea en el server samba, suena interesante verdad, pues vayamos a hacerlo :)

Asi debe estar el samba ya instalado.


 ¿Vieron que dice ii?

Ingresamos a nuestro directorio donde esta nuestro archivo de configuración y hacemos un backup (copia de seguridad) y luego limpiamos ese archivo ya que nosotros escribiremos lo que queremos, por cierto el archivo ejemplo ya trae una configuración que ya funciona y hay recomendaciones, no está demás leer.

Es hora de usar a nano, el editor de archivos de Debian, vi no funciona bien en una instalación limpia, se tiene que añadir vim-nox, en fin mi editor de texto vi aqui no es tan cómodo asi que decidí usar nano para todo :), tambien cabe resaltar que las reglas iptables estan en sin confugrar, todo esta en ACCEPT, no habrá problema, pero si desea darle más seguridad puede añadir reglas iptables y tambiém en la configuración global de smb.conf indicarle desde qué segmentos se permitirá acceder al server, bueno ahora si a configurar samba en su archivo smb.conf (/etc/samba/smb.conf)

Les mostraré tal cual lo tengo yo y les voy a decir más abajo que se hizo.


 Es toda la configuración básica.
En global le digo todo lo que es general por decir para samba, nuestro grupo de trabajo es SAMBA, usted puede poner cualquier otro nombre que las estaciones windows tengan común en su grupo de trabajo, netbios name se pone el nombre del server, en mi caso es server1 y en /etc/hosts tengo el fqdn, osea el nombre completo asociado a una ip estática asi por ejemplo:
192.168.1.100 server1.redlocal.org server1
Cuando le hagas en la terminal hostname te va a salir server1 y cuando le hagas hostname -f te va a salir el nombre completo osea server1.redlocal.org con eso logras que desde una terminal windows escribas \\server1 y enter y te va a mostrar a Debian con su recurso compartido, pero tambien puedes usar la ip, depende de cada uno (\\ipdelserver)

Hemos creado una carpeta en /samba con el comando:
#mkdir -p /samba/anonimos, -p porque no existe /samba y anonimos esta dentro de una carpeta que no existe.
Le damos permisos:
#chmod -R 0755 /samba/anonimos
#chown -R nobody:nogroup /samba7anonimos, existe ese usuario nobody, verifica con
#groups nobody, vas a ver al usuario nobody y al grupo nogroup.

Reinicias al servicio samba
#service smbd restart, ya debe funcionar






 Lo que puedes hacer es copiar como root archivos y colocarlos ahi, yo me copié de mi usuario Debian un archivo grande y po puse en esa ruta, los anonimos lo van a ver y lo van a copiar, por alguna razón no van a poder eliminar :), pero fijate en los permisos, se le dió 0755, mmm, ponte a pensar que debería pasar? tarea para ti :)

Ahora vamos a configurar el modo seguro donde al hacer clic en esa carpeta segur va a mostranos un login.

Como se ve en la imágen de smb.conf arriba, creamos una nueva carpeta "seguro" y le damos permiso, pero antes creamos un grupo y ahi estaran los usuarios samba.

#addgroup smbgrp
#useradd tom -G smbgrp
#smbpasswd -a tom, con esas líneas estamos creando usuario exclusivamente para smba, no habrá nada en /home acerca de esos usuarios.

#mkdir /samba/seguro
#chmod -R 0770 /samba/seguro
#chown root:smbgrp /samba/seguro
Ojo con los permisos y a quien se asigna como propietario del directorio y grupo, luego se añade la línea [seguro] como te muestro en la imagen arriba donde esta todo mi smb.conf.

Reinicias el servicio y debe funcionar :), no te olvides de hacer
#testparm, para verificar y siempre mira los logs

Paso 4: quieres ver y copiar recursos que windows comparte? aquí te vamos a enseñar :), para eso esta smbclient que desde el server Debian lo puedes usar, por eso se añadió ese paquete, asi copias por ejemplo un directorio que en windows se comparte

$smbclient //ipdellaestacionwindows/recursocompartido -U usuariodelwindows
Al presionar enter te va a pedir contraseña del usuario windows que usas para logearte, si escribes los datos correctos vas a entrar al recursos compartidoy entras a una especie de terminal, para copiar desde tu estacion Debian en la capeta de tu usuario usas put, put va a copiar desde tu usuario Debian en su carpeta hacia la estación windows que entrate, ahora si quieres copiar cosas desde la estación windows hacia tu usuario en su directorio en Debian usa el comando get, ejemplo tengo un archivo en mi usuario debian y desde ahi lanzo el comando smbcliente... al poner put miarchivo, va a mandar tu archivo al directorio compartido windows, cuando estes dentro del directorio compartido windows hazle un dir para que veas su contenido como dije put copia del server al cliente, get copia del cliente al server :)

Cualquier pregunta o duda en los comentarios y no olviden compartir mi página con sus amiguitos :)


1 comentario:

  1. Lo he tenido casi a punto.
    Muchas gracias por el tutorial, lo voy a intentar más veces espero conseguirlo al final

    ResponderEliminar