Modulo 3 - Samba y DHCP
Modulo 3 - Samba y DHCP
Modulo 3 - Samba y DHCP
Administrador Linux
Módulo 3
Samba y DHCP
Objetivos
Temario
3.1 Servidor Samba
3.2 Instalación
3.3 Configuración
3.4 Seguridad
3.5 Usuarios
3.6 Acceso a recursos compartidos
3.7 Servidor DHCP
Examen
Los participantes deberán rendir el examen online o presentar el material solicitado
según corresponda.
Este es un protocolo del tipo request/response que permite operaciones básicas para
el manejo de archivos tales como: crearlos, abrirlos, cerrarlos, borrarlos, escribir en
ellos, y en el caso de las impresoras, imprimir archivos en ellas. Este mecanismo
también está dotado de un control de acceso que varía de acuerdo al sistema
operativo o las configuraciones establecidas.
Linux brinda varias herramientas clientes del protocolo SMB que permiten acceder a
los archivos o impresoras compartidas en una máquina con sistema operativo
Windows (o similar).
La implementación del servidor del protocolo SMB para Linux se instala a través del
paquete llamado samba que necesita a su vez del samba-common.
smbd:
Permite el acceso a archivos e impresoras en el servidor
Linux por parte de los clientes SMB.
# /etc/init.d/samba start
Starting Samba daemons: nmbd smbd.
# /etc/init.d/smb reload
Reloading /etc/samba/smb.conf: smbd only.
# /etc/init.d/samba start
Stopping Samba daemons: nmbd smbd
3.2 Instalación
Para instalar samba debemos al menos instalar los siguientes paquetes:
Esto se debe a que contiene muchos comentarios e incluye todos los posibles
aspectos a configurar. Sin embargo, básicamente, smb.conf solo consta de varias
secciones que se identifican a través de una cadena encerrada entre corchetes que
identifica el nombre del recurso a compartir.
Cada nuevo recurso a compartir será definido en una nueva sección y el nombre de la
sección será el nombre que identificará al recurso ante los clientes.
[global]
workgroup = REDES
netbios name = DELTHA
server string = Deltha Samba Server on Linux
encrypt passwords = Yes
log file = /var/log/samba/log.%m
max log size = 50
[homes]
comment = Home Directories
browseable = no
writable = yes
Globales
Básicos
netbios name: almacena el nombre NetBios del servidor con el que será
reconocido por los clientes.
Seguridad
Recursos Compartidos
Impresoras
# testparm
Este comando permite chequear los niveles de acceso que tiene el host especificado
a cada uno de los recursos compartidos. Se deben indicar tanto el nombre NetBios
como la dirección IP de la máquina.
Para añadir un servidor Samba a un dominio NT se deben seguir los siguientes pasos:
2. Ejecutar en Linux:
4. Ejecutar en Linux:
# /etc/init.d/smb reload
Podemos también utilizar el comando net (igual que en las maquinas Windows)
Existen muchas posibles configuraciones del servicio Samba para las posibles
necesidades de una red, depende de nosotros llegar a la configuración más adecuada
y esto, si bien puede llevar su tiempo, nos dará completa dimensión de las
posibilidades de integración con otra redes.
Swat
Existe una herramienta con interfaz Web conocida como SWAT (Samba Web
Administration Tool) que facilita este trabajo de configuración del servidor Samba. Esta
se instala a través del paquete swat.
Dado que se accede por un puerto debe activarse mediante initd (o xinetd)
service swat
{
disable = no
socket_type = stream
protocol = tcp
wait = no
user = root
server = /usr/sbin/swat
}
# /etc/init.d/xinetd reload
Existen otras alternativas de front-ends más completos como ebox. Este tiene una
sección de configuración específicamente para el servicio de Samba.
Samba acepta cuatro tipos de seguridad. Los tipos son share, user, server y domain.
Cada uno de estos tipos de seguridad se basa en un principio distinto.
1). SHARE: indica que no se exige por parte del servidor ningún tipo de
autenticación por lo que se mostrarán todos los recursos compartidos.
3). SERVER: permite la autenticación en otro servidor, en caso de que esta falle
se hará en el servidor Samba.
Linux iptables
#!/bin/bash
SAMBA_SERVER="10.0.0.1"
NETWORK="10.0.0.0/24" # Local area network
BROADCAST="10.0.0.255" # Local area network Broadcast Address
Windows Firewall
Los usuarios de Samba aunque se administren de forma diferente a los del sistema,
siempre requieren de un equivalente en el mismo. O sea no se puede añadir un
usuario a Samba si no existe previamente uno con el mismo login en el sistema. Las
contraseñas y otras propiedades si pueden ser diferentes.
Para administrar los usuarios del servidor Samba se emplea básicamente el comando
smbpasswd. Este permite añadir usuarios, cambiar sus contraseñas, habilitarlos,
deshabilitarlos, eliminarlos, entre otras posibilidades. Todas estas acciones se pueden
realizar, no solo en el servidor local, sino también en otros servidores Samba o de
SMB en general.
A los usuarios distintos de root smbpasswd les permite modificar su propia contraseña
localmente o no. Para ello el comando necesita funcionar en modo cliente-servidor, por
lo que será necesario que el daemon smbd esté ejecutándose
Algunas opciones:
# smbpasswd -a usuario1
New SMB password:
Retype new SMB password:
Added user usuario1.
# smbpasswd -x usuario1
Deleted user usuario1.
A partir de aquí definiremos nuestro directorio compartido, por ejemplo, como sigue:
[share]
comment = compartido
path = /home/samba/
valid users = dmenino, cfella, mperez
browseable = yes
[test]
comment = acceso solo root
valid users = root
path = /root/test
browsable = no
[test1]
comment = acceso solo root
valid users = @Ususarios
path = /home/test1/
# testparm
# mkdir /home/samba
# mkdir /root/test
# mkdir /home/test1
Usualmente se utiliza una cuenta del tipo anónima para los recursos compartidos.
Cambiaremos en owner de las carpetas creadas
Iniciamos Samba:
# /etc/rc.d/init.d/samba start
# smbclient –L debian
Pedirá un password, podemos solo presionar “Enter” con los que hará un login
anónimo.
Probando desde un equipo con Linux, vemos los recursos compartidos por el equipo
Windows.
En caso de encontrar alguna falla o problema podemos recurrir al log de Samba para
chequear cual es el problema. Existe un log por cada uno de los dos demonios. El log
/var/log/log.smb registra las actividades de compartir archivos e impresoras mientras
que el /var/log/log.nmb registra la actividad de WINS y de los servicios de resolución
de nombre.
ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
DHCPDARGS=eth1;
option routers 10.0.0.1;
option subnet-mask 255.255.255.0;
option broadcast-address 192.168.100.255;
option domain-name-servers 10.0.0.1;
subnet 10.0.0.0 netmask 255.255.255.0 {
range 10.0.0.10 10.0.0.20;
}
Como podemos observar no tenemos default gateway ni DNS, etc, etc. Pasamos
entonces a realizar una configuración más apropiada para un entorno de trabajo real.
Utilizaremos la siguiente configuración para la parte de subnet
# dhclient eth0
Otra posible situación real es que tengamos, por ejemplo, un servidor. En este caso
necesitaremos que se él asigne siempre la misma IP, para esto cambiaremos la
entrada host del archivo de configuración.
Host SERVIDORTEST {
hardware ethernet 00-50-56-C0-00-08;
fixed-address 10.0.0.77;
option domain-name “internal.example.org”;
option host-name "ServidorTest";
}