Instalación de Samba como Controlador de Dominio
¿Qué es Samba?
Samba es una suite de aplicaciones Unix que habla el protocolo SMB (Server Message Block). Muchos sistemas operativos, incluídos Windows y OS/2, usan SMB para operaciones de red cliente-servidor. Mediante el soporte de este protocolo, Samba permite a los servidores Unix entrar en acción, comunicando con el mismo protocolo de red que los productos de Microsoft Windows. De este modo, una máquina Unix con Samba puede enmascararse como servidor en tu red Microsoft y ofrecer los siguientes servicios:
• Compartir uno o más sistemas de archivos.
• Compartir impresoras, instaladas tanto en el servidor como en los clientes.
• Ayudar a los clientes, con visualizador de Clientes de Red.
• Autentificar clientes logeándose contra un dominio Windows.
• Proporcionar o asistir con un servidor de resolución de nombres WINS.
El objeto de este artículo es hacer que nuestra máquina Unix sea un Controlador de Dominio (PDC) de un dominio Windows para poder beneficiarnos de todas sus caracterísiticas: autentificación de usuarios, scripts de inicio de sesión, perfiles móviles, directivas de sistemas, etc...
Dominio Windows
Un Dominio Windows va un paso más allá. Es un grupo de trabajo de máquinas SMB que tienen una añadido: un servidor que actúa como controlador de dominio. Debes tener un controlador de dominio para poder tener un dominio Windows.
Controlador de Dominio
El controlador de dominio es el centro nervioso de un dominio Windows, tal como un servidor NIS lo es del servicio de información de una red Unix. Los controladores de dominio tienen una serie de responsabilidades. Una de las que te va a implicar a ti es la autentificación. La autentificación es el proceso de garantizar o denegar a un usuario el acceso a recursos compartidos o a otra máquina de la red, normalmente a través del uso de una password.
Cada controlador de dominio usa un security account manager (SAM) para mantener una lista de combinaciones nombre_usuario-contraseña. El controlador de dominio entonces forma una central repositoria de passwords que están enlzadas a nombres de usuarios (una password por usuario), lo cual es más eficiente que mantener en cada máquina cliente centenares de passwords para cada recurso de red disponible.
En un dominio Windows, cuando un cliente no autorizado solicita acceso a los recursos compartidos de un servidor, el servidor actúa y pregunta al controlador de dominio si ese usuario está autentificado. Si lo está, el servidor establecerá una conexión de sesión con los derechos de acceso correspondientes para ese servicio y usuario. Si no lo está, la conexión es denegada. Una vez un usuario es autentificado por el controlador de dominio, una ficha especial de autentificación será retornada al cliente, de manera que el usuario no necesitará relogearse a otros recursos en ese dominio. En éste punto, el usuario se considera "logeado" en el dominio.
Un Vistazo a la Distribución Samba
Como mencionamos antes, Samba actualmente contiene varios programas que sirven para diferentes propósitos. Vamos a introducirnos en cada uno de ellos brevemente y veremos cómo funcionan. La mayoría de los programas que vienen con la distribución de Samba se centran en sus dos demonios. Echemos un vistazo a las responsabilidades de cada demonio:
smbd
El demonio smbd es responsable de manejar los recursos compartidos entre la máquina servidora Samba y sus clientes. Proporciona servicios de archivos, impresión y visualización a los clientes SMB a través de una o más redes. smdb controla todas las notificaciones entre el servidor Samba y los clientes de red. En adición, es responsable de la autentificación de usuarios, bloqueo de recursos y la compartición de datos a través del protocolo SMB.
nmbd
El demonio nmbd es un sencillo servidor de nombres que imita la funcionalidad de los servidores WINS y de resolución de nombres NetBIOS. Este demonino está a la escucha de peticiones para el servidor de nombres y proporciona la información apropiada cuando se le llama. También proporciona listas de visualización del Entorno de Red y participa en las elecciones de los visualizadores.
La distribución de Samba también está acompañada por un pequeño grupo de herramientas tipo línea de comandos Unix:
smbclientUn cliente tipo FTP Unix que puede ser usado para conectar a recursos compartidos por Samba.
smbtar
Un programa para realizar copias de seguridad de datos sitos en los recursos compartidos, similar al comando Unix "tar".
nmblookup
Un programa que proporciona búsquedas de nombres NetBIOS sobre TCP/IP.
smbpasswd
Un programa que permite a un administrador cambiar las passwords encriptadas usadas por Samba.
smbstatus
Un programa para reportar las conexiones de red actuales hacia los recursos compartidos por el servidor Samba.
testparm
Un simple programa para validar la sintaxis del fichero de configuración de Samba.
testprns
Un programa que testea si varias impresoras son reconocidas por el demonio smbd.
La distribución más estable a la fecha de este artículo es la 3.2.0 y está disponible en la página oficial de Samba
El Fichero de Configuración
La clave para configurar Samba está en un único fichero de configuración: smb.conf. Este fichero de configuración puede ser muy simple o extremadamente complejo. Por el momento, mostraremos cómo crear una configuración basada en un PDC, la cual te permitirá iniciar los demonios Samba y ver que todo está funcionando como debiera.
El proceso de instalación no crea automáticamente un fichero de configuración smb.conf, aunque esto depende de la distribución que estemos usando. Para montar nuestro servidor, usaremos el siguiente fichero. Este debería llamarse smb.conf y estar ubicado en el directorio /usr/local/samba/lib, aunque esta ubicación, una vez mas, dependerá de la distribución.
Iremos explicando cada línea del fichero smb.conf
[global]
; Configuración básica del servidor
workgroup = DOMINIO ; Nombre del Dominio
netbios name = NOMBRE ; Nombre Netbios del servidor
server string = Controlador de Dominio ; Comentario que veremos en "Mi Sitios de Red" con la opción detalles
os level = 64 ; indica el nivel de sistema operativo que Samba adoptará en un proceso de elección de visualizador. Si quieres que Samba gane la elección de visualizador maestro, debes establecer el primer nivel superior de S.O. al de cualesquiera otros que puedan existir en tu red
preferred master = yes ; Solicita que Samba establezca el bit de maestro preferido cuando participe en una elección. Esto le da al servidor el status más alto en el grupo de trabajo con respecto al resto de máquinas al mismo nivel de S.O.
domain master = yes ; El visualizador maestro de dominio es una máquina usada para propagar listas de visualización a cada uno de los visualizadores maestros locales existentes en las subredes del dominio.Por lo tanto, debes activar esta opción.
local master = yes ; Especifica si Samba intentará convertirse en el visualizador maestro local para la subred cada vez que arranque Samba
; Configuramos Samba para que sea un servidor WINS
wins support = yes
; Opciones de debug
debug level = 2 ; establece el nivel de depuración (este varía de 0 a 9)
log file = /usr/local/samba/var/log.%U ; ubicación del fichero log, el parámetro %U significa que creará un fichero por cada usuario samba
max log size = 50 ; tamaño del fichero log (kB), una vez superado este tamaño ira creando varios ficheros.
; Configura Samba como un servidor de autenticación para los usuarios dados de alta
security = user
; Acepta contraseñas cifradas
encrypt passwords = yes
; Soporte para controlador de dominio
domain logons = yes
; fichero de logon script para todos los usuarios, estará ubicado en recurso compartido NETLOGON
logon script = logon.bat
; ruta donde se almacenarán los perfiles de usuario
logon path = \\%L\profiles\%U
; Ruta del recuro home y con que unidad se mapeará en nuestro equipo
logon drive = H:
logon home = \\%L\%U
; esto provocara que nmbd haga peticiones para nombres de maquinas usando dns
; si un nombre no es encontrado por wins
dns proxy = yes
; Con esto conseguimos que nuestros clientes sincronizen la hora con el PDC a través del comando net time
time server = yes
; Recurso Home para cada usuario
[homes]
comment = Home Directories
browseable = no ; esta opción establece que el recurso esté oculto en el entorno de red
writable = yes ; el usuario tendrá permisos de escritura
; Recurso Netlogon, donde residirán los scripts de conexión y las directivas del sistemas
[netlogon]
comment = Network Logon Service
path = /var/lib/samba/netlogon
read only = yes
write list = root ; solo el usuario root tendrá acceso a escribir en este recurso
browseable = no
; Recurso Profiles, donde se almacenara la informacion de los perfiles móviles de cada usuario
[profiles]
comment = User profiles share
path = /var/lib/samba/profiles
browseable = no
read only = no
create mask = 0600 ; Las máscaras de archivos ayudan a definir los permisos que un archivo o directorio recibirá en el momento de ser creado.
directory mask = 0700
Creación de cuentas de máquina y de usuario
Tendremos que crear una cuenta de máquina por cada equipo que queramos introducir en el dominio, la cuenta de máquina estará formada por una cuenta de usuario unix y una cuenta de usuario samba y a diferencia de la cuenta de usuario esta tendrá el símbolo dolar
Creamos la cuenta de máquina unix ,la introducimos en el grupo machines y no le asignamos una shell
# /usr/sbin/useradd -g machines -d /dev/null -c "machine nickname" -s /bin/false machine_name$
Bloqueamos la cuenta unix para evitar el acceso a una shell
# passwd -l machine_name$
Creamos la cuenta samba, la opcion –m indica que se trata de una cuenta de tipo máquina
#smbpasswd -a -m machine_name
También tendremos que crear una cuenta unix y una cuenta samba por cada usuario que demos de alta en el dominio,
# useradd userid
# passwd -l userid
# smbpasswd -a userid
Enter Password:
Una vez hecho esto, nos vamos a los PC’s Windows e iremos agregándoles en el dominio, para ello introduciremos el nombre del dominio, nos pedirá una contraseña con derechos para agregar máquinas al dominio, esta será de le root que previamente habremos creado su cuenta samba.
Una vez que lo hallamos añadido nos pedirá que reiniciemos la máquina con lo que quedará lista para iniciar una sesión en el dominio.
Ya tenemos un contralador de dominio listo, todo el resto de configuracion se basa en el fichero smb.conf que podra ser tan complejo como queramos, para cualquier ampliación de este fichero tenéis los siguientes enlaces:
http://us3.samba.org/samba/docs/man/Samba-HOWTO-Collection/.http://es.tldp.org/Manuales-LuCAS/USANDO-SAMBA/usando-samba-html/
1 comentario:
Tu blog se vinculo al sitio de Fedora-ni. Tu articulo me parecio bueno, y me gustaria incluirlo en el sitio wiki de fedora nicaragua. http://faq.fedora-ni.net/
Personalmente me gustaria que lo postiaras, para que quede registrado como tu aporte. Hay una parte de servidores, donde quedaria perfecto.
Saludes
Publicar un comentario