0% encontró este documento útil (0 votos)
19 vistas48 páginas

HOWTO Debian - SAMBA AC-DC - FileServer

Guía de instalación de Debian 12 – GNU Linux – v1.0
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
19 vistas48 páginas

HOWTO Debian - SAMBA AC-DC - FileServer

Guía de instalación de Debian 12 – GNU Linux – v1.0
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 48

Guía de instalación de Debian 12 – GNU Linux – v1.

0
Guía preparada por: Cristian Sepúlveda Sepúlveda, Informática Municipalidad de Vilcún

Este micro “Howto” cubrirá el proceso de instalación más básico de Debian GNU Linux.
Está orientado para para quienes se inician en el proceso de implementación de este sistema
operativo para un entorno de pruebas en máquina Virtual (se utilizará VirtualBox), de modo
que no se ahondará en aspectos muy complejos.

La instalación de Debian se hará en modo tradicional: texto sin interfaz gráfica de forma que
tampoco se realizará instalación de un gestor de escritorio gráfico ya que la idea es tener un
entorno mínimo sobre el cuál implementar diversos servicios.

En primer lugar, se ha de configurar la máquina virtual en VirtualBox, se sugieren las


siguientes características mínimas de hardware:

Memoria RAM: 2GB


Número de núcleos de procesador: 2
Almacenamiento disco duro: 20 GB
Memoria de video: 32 MB
Sistema Operativo: Debian GNU Linux AMD64 (64 Bits)

Se sugiere deshabilitar la tarjeta de audio virtual puesto que para este entorno de pruebas de
servidor no se requerirá.

1.- Proceso de instalación de Debian 12 GNU/Linux.

Después de preparar la máquina virtual y haber insertado la imagen ISO de Debian 12


(BookWorm), se iniciará la instancia virtual y aparecerá este primer menú de instalación:

1
Después de seleccionar la opción: “Install” el sistema avanzará a la pantalla para seleccionar
el lenguaje que deberá ser español:

Lo siguiente es seleccionar la ubicación: Chile.

2
Seleccionar a continuación el mapa de teclado a utilizar, puede ser latinoamericano o español
según el tipo de teclado del que se disponga:

Después de seleccionar la distribución de teclado, el proceso de instalación continuará la


carga de diversos componentes esenciales:

Por defecto la red se configurará como DHCP para este caso:

3
En este punto de la instalación se deberá elegir un nombre de red para la máquina que se está
configurando, a modo de ejemplo acá se utilizó “debiandc” puede ser cualquier otro:

Como nombre de dominio se puede indicar el siguiente: debian.informatica.lan u otro de


gusto propio:

El siguiente paso es proporcionar una clave para el usuario “root”:

4
Se nos solicitará repetir la clave anterior para verificarla:

En este púnto el proceso de instalación nos solicitará la creación de un usuario normal a parte
del administrador de sistema, en mi caso particular puse mi nombre, pero puedes poner el
tuyo o cualquier otro:

A continuación se nos pedirá un nombre de usuario para el “login” de la cuenta, puede ser
cualquier otro nombre de inicio de sesión:

5
Luego de haber introducido el nombre de usuario elegido, se solicitará una contraseña:

Y la validación de la clave anterior:

Después de configurar los datos de usuario, se solicitará la configuración de la zona horaria


para el reloj del sistema. En este ejemplo se elige “Santiago de Chile”, pero puede ser
cualquier otra zona de acuerdo a lo que se requiera:

El siguiente paso es el proceso de particionado de disco duro: En este menú se muestran


varias opciones, como se mencionaba al principio de este documento la idea es realizar una
instalación lo más sencilla posible así que se seleccionará la opción marcada en rojo:

6
“Guiado – utilizar todo el disco”:

A continuación se selecciona el disco duro que se va a particionar:

El esquema de particionado será el más sencillo: “Todos los ficheros en una partición:”

7
A continuación se muestra un resúmen con el esquema de particiones, seleccionamos:
“Finalizar el particionado y escribir los cambios en el disco”:

El instalador nos preguntará si deseamos escribir los cambios en el disco, respondemos que
“Sí”:

Tras lo cual comenzará a instalar el sistema base:

8
Luego solicitará revisar medios de instalación adicionales en caso que poseamos alguno. Para
este ejemplo indicamos que no ya que se asume que estamos instalando desde el DVD-1 que
contiene la imagen de instalación completa de Debian:

El instalador preguntará si deseamos utilizar una réplica de red, respondemos que NO, ya
que estamos instalando desde el DVD “Imagen ISO completa”:

Luego nos consulturán si deseamos participar en la encuesta del uso de paquetes: NO.

9
La siguiente fase de la instalación es la selección (barra espaciadora) de programas a instalar,
se deberán dejar los seleccionados con “*”, no se instalará gestor gráfico para este caso.

Después de seleccionar “Continuar”, el proceso comienza la instalación de la paquetería


seleccionada:

Luego que el proceso de instalación de paquetes finaliza, aparece este diálogo consultando
sobre la instalación del cargador de arranque “GRUB”, le damos a “Si” para que instale el
cargador en el disco duro principal:

10
Luego el diálogo de instalación consultará por dispositivo donde se instalará el cargador de
arranque maestro, que en nuestro caso será: /dev/sda (El primer disco duro). (Presionar
[Enter]) para seleccionar.

El proceso continúa para finalizar la instalación:

Una vez concluido el proceso de instalación, aparece este diálogo indicando que
seleccionemos “Continuar” para reiniciar la máquina y arrancar el sistema operativo recién
instalado:

11
Luego de reiniciar, aparecerá el cargador de arranque “GRUB” que iniciará el sistema Debian
GNU/Linux:

Hasta este punto el sistema ya se encuentra instalado y ahora lo que resta son algunas
configuraciones adicionales, para permitir una usabilidad mayor en la plataforma, como
configurar repositorios APT, instalación de algunas utilidades básicas adicionales, entre
otros.

2.- Actividades post-instalación.

Después de haber instalado satisfactoriamente el sistema operativo Debian/GNU Linux, la


tarea que llevaremos a cabo inmediatamente será la configuración de las fuentes de
paquetería APT. Al instalar por primera vez la plataforma, se contará con una funcionalidad
básica y será necesario instalar y configurar diversos paquetes de software según sea el
objetivo del despliegue del sistema.

2.1.- Configuración de las fuentes APT.


Para configurar las fuentes de paquetes APT ingresamos al sistema con el usuario
administrador: “root” para editar el archivo /etc/apt/sources.list.

Una vez dentro del sistema como root ejecutamos el siguiente comando:
# nano /etc/apt/sources.list

12
Se abrirá el editor de texto “GNU/Nano” y ahí deberán ingresarse las siguientes líneas de
repositorios:

La primera línea que hace referencia al cdrom de Debian, debe ser comentada
agregando un carácter “#” al inicio.

Después de editar el archivo y validar que las líneas estén correctas, guardar con: [CTRL+O]
[Enter] y para salir [CTRL+X].

Luego en la línea de comandos y con la máquina virtual conectada a internet, se ejecutará un


comando para actualizar el listado de paquetes de software:
# apt update

El comando mostrará una salida con una serie de líneas similares a las siguientes:

13
Guía de instalación de SAMBA AD-DC en Debian 12 – GNU Linux – v1.1
Guía preparada por: Cristian Sepúlveda Sepúlveda, Informática Municipalidad de Vilcún

Requisitos previos:

1.- Instalación de paquetes de software requeridos.

Para realizar la instalación del servidor SAMBA AD-DC, se requiere instalar los siguientes paquetes
necesarios (se asume que la máquina Linux está conectada a internet y tiene los repositorios de software
correctamente configurados). Para realizar esta instalación se ejecutará el comando apt install -t
bookworm-backports, seguido de los nombres de paquetes de software requeridos:

Nota: Para esta instalación utilizaremos los repositorios “backports” de Debian. La idea es contar
con un paquete de software SAMBA lo más actualizado posible para que tenga un buen soporte de
las últimas características que se hayan implementado en ese proyecto y así lograr una mejor
integración con los clientes MS-Windows.

# apt -t bookworm-backports install samba-ad-dc samba smbclient


krb5-user winbind samba-dsdb-modules samba-vfs-modules acl cifs-utils
libnss-winbind libpam-winbind ldb-tools bind9utils chrony

En el caso que la instalación del paquete: “krb5-user” presente un dialogo para consultar por datos sobre
el dominio “REALM” de Kerberos, se le debe poner “localhost” o dejar el dominio que sugiere, que para
el caso de esta guía puede ser: “debian.informatica.lan” y en los diálogos siguiente donde pregunta por
el servidor KDC y el servidor administrativo, deberá suplirse con la dirección IP: 127.0.0.1 o con
“localhost”, esto para cumplir con este paso de la configuración ya que, de todas formas, más adelante
se reemplazará por el archivo “krb5.conf” que ofrece la provisión de samba al final de ese proceso.

14
1.1.- Datos de ejemplo usados en esta guía:

Nombre del host local (hostname): debiandc


Nombre de dominio local: debian.informatica.lan
Dirección IP estática (address): 192.168.0.250/24
Dirección de difusión (broadcast): 192.168.0.255
Dirección de red (network): 192.168.0.0
Puerta de enlace (gateway): 192.168.0.1
DNS Externo (DNS Forwarder): 8.8.8.8

Los datos presentados aquí son de ejemplo, de modo que deberán ser ajustados de acuerdo a la realidad
donde se esté realizando la presente configuración del servidor de dominio.

2.- Configuración de la red de Debian.

2.1.- Direccionamiento IP:

Se requiere configurar una dirección IP estática para el sistema Linux, en el caso de Debian, se debe
editar el siguiente archivo:

# nano /etc/network/interfaces

que desplegará el contenido de dicho archivo y que para los efectos de una instalación por defecto, es
muy probable que la red esté en modo DHCP, mostrando una línea como la siguiente:

iface enp0s3 inet dhcp

15
se deberá modificar el archivo para que quede de la siguiente forma, cambiando “dhcp” por “static” e
indicando los demás parámetros de red: dirección ip (“address”), dominio de difusión (“broadcast”), la
dirección de red del segmento ip (“network”) y la puerta de enlace (“gateway”)

iface enp0s3 inet static


address 192.168.0.250/24
broadcast 192.168.0.255
network 192.168.0.0
gateway 192.168.0.1

una vez modificado el archivo, guardar los cambios y salir del editor.

2.2.- Configuración de nombres y resolución de DNS:

A continuación, se editarán los archivos necesarios para llevar a cabo la resolución básica de DNS para
que funcione el servidor SAMBA AD-DC (“Active Directory Domain Controller”)

2.2.1.- Archivo /etc/hostname

El archivo localizado en /etc/hostname, es el encargado de almacenar el nombre de la máquina local que


se está configurando, en este caso: “debiandc”, de modo que debería contener lo siguiente:

debiandc

en este archivo se puede definir cualquier otro nombre de máquina “host” que sea más adecuado que el
indicado en este ejemplo.

2.2.2.- Archivo /etc/hosts

El archivo /etc/hosts contiene los datos básicos donde se asocian las direcciones IP a nombres de “hosts”
máquinas de red.

Se debe ejecutar el siguiente comando para editar este archivo:

# nano /etc/hosts

que mostrará un contenido similar al siguiente:

127.0.0.1 localhost
192.168.0.250 debiandc.debian.informatica.lan debiandc

# The following lines are desirable for IPv6 capable hosts


::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

16
La dirección IP: 127.0.0.1, corresponde a la IP conocida como de “vuelta atrás” o “loopback”, está
presente por defecto prácticamente en todas las máquinas. Esta IP no debe llevar el nombre de dominio
solamente la palabra o alias “localhost”.

La segunda dirección IP después de la “loopback” corresponde a la IP local que se configuró en el punto


2.1 de esta guía y que debe apuntar al nombre completo de la máquina o “FQDN” “Fully Qualified
Domain Name” y que en este caso está formado por el nombre del “host” local “debiandc” + el nombre
de dominio definido “debian.informatica.lan”. Inmediatamente después de este nombre completo, va un
espacio y se repite sólo el nombre de la máquina local “debiandc” que en este caso y para este archivo
representa un alias del nombre completo o “FQDN”.

2.2.2.- Archivo /etc/resolv.conf

El archivo /etc/resolv.conf, contiene los datos para ejecutar la resolución de nombres de dominio (DNS)
en el sistema, para el caso de la configuración del servidor Active Directory con SAMBA, deberá quedar
de la siguiente forma:

search debian.informatica.lan
nameserver 192.168.0.250

El parámetro “search”, indica al sistema que dominio se utilizará para agregar a los nombres de host que
no especifican ningún dominio, p. ej: al realizar un ping al nombre “debiandc”, se le agregará
implícitamente el dominio: “debian.informatica.lan”.

El parámetro “nameserver” sirve para indicar al sistema la dirección IP del servidor DNS que se utilizará
para resolver las consultas de nombres. En este caso se coloca la misma dirección IP de la máquina que
se está configurando, ya que será la misma que tendrá el servidor DNS provisto por SAMBA para realizar
la resolución de nombres.

En este punto y una vez finalizada la configuración previa de la red local + los nombres de host y
dominios para la resolución básica del DNS, es importante REINICIAR LA MÁQUINA, para que los
cambios realizados tomen efecto y a partir de ahí seguir con las demás configuraciones siguientes.

17
3.- Provisionamiento del servicio SAMBA AD-DC.

En este punto del proceso, habiendo configurado correctamente todos los puntos anteriores, se realizará
la configuración del servidor “Active Directory Domain Controller”, mediante la provisión de diversos
parámetros para el servicio SAMBA.

A continuación, se muestra un listado de parámetros para el modo interactivo y no interactivo que se


pueden utilizar para el provisionamiento.

Modo de
Configuración
parámetro no Explicación
Interactiva
interactivo
--use-rfc2307 --use-rfc2307 Habilita las extensiones de NIS necesarias para la pestaña
Atributos Unix de ADUC.
Dominio de Kerberos. La versión en mayúsculas del
Realm --realm dominio DNS de AD. Por ejemplo:
SAMDOM.EXAMPLE.COM.
Nombre de dominio NetBIOS (Grupo de trabajo). Esto
puede ser cualquier cosa, pero debe ser una sola palabra,
Domain --domain no más larga de 15 caracteres y no contener un punto. Se
recomienda usar la primera parte del dominio DNS de AD.
Por ejemplo: samdom. No utilice el nombre corto del
equipo.
Server Role --server-role Instala la función de controlador de dominio “DC”.
Establece el motor de almacenamiento de DNS. El primer
“DC” en un “AD” debe ser instalado utilizando un motor
DNS backend --dns-backend de almacenamiento de DNS. Ten en cuenta que
BIND9_FLATFILE no es compatible y será eliminado en
una versión futura de Samba.
DNS forwarder Esta configuración solo está disponible al utilizar el motor
IP address No Disponible de almacenamiento de DNS SAMBA_INTERNAL.

Establece la contraseña del administrador de dominio. Si la


Administrator
password
--adminpass contraseña no cumple con los requisitos de complejidad, la
provisión falla.

Antes de comenzar a realizar el proceso de provisionamiento, se detendrán y desactivarán del inicio los
servicios SAMBA por defecto que se encuentran en funcionamiento, para ello se ejecutarán los siguientes
comandos:

# systemctl stop smb


# systemctl stop nmb
# systemctl stop winbind
# systemctl disable smb
# systemctl disable nmb
# systemctl disable winbind

18
A continuación, se deberán eliminar ciertos archivos con extensión “*.tdb” y “*.ldb” en algunos
directorios. Esto es necesario puesto que después de la instalación de samba, el proceso se inicia y se
crean algunas configuraciones por defecto. Ejecutar los siguientes comandos:

# rm /var/lib/samba/*.tdb
# rm /var/lib/samba/private/*.tdb
# rm /var/cache/samba/*.tdb
# rm /run/samba/*.tdb

Para eliminar los archivos “*.ldb”, ejecutar los mismos comandos anteriores, reemplazando “*.tdb” por
“*.ldb”

El siguiente paso es renombrar el archivo /etc/samba/smb.conf a /etc/samba/smb.conf.bak, para asegurar


que no exista una configuración previa ya que el mismo proceso de provisionamiento creará un archivo
smb.conf con las configuraciones adecuadas al caso. Ejecutar el siguiente comando:

# mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

Una vez ejecutados todos los comandos anteriores se procederá a realizar el provisionamiento para el
servicio de controlador de dominio con SAMBA, para ello se ejecutará el modo interactivo que consultará
diversos parámetros conforme se vayan proveyendo, ejecutar el siguiente comando:
# samba-tool domain provision --use-rfc2307 --interactive

En la imagen siguiente se observa el resultado de la ejecución del comando anterior, donde se piden y se
proveen los parámetros usados en esta guía de ejemplo:

Una vez finalizada la provisión de parámetros, aparecerán una serie de líneas informativas donde al final
se mostrará un resumen con datos del servidor de dominio configurado:

En este punto ya tendremos el servidor samba, como ad-dc, configurado en forma básica, los siguientes
pasos permitirán completar la configuración para una funcionalidad completa.

19
4.- Configuración de Kerberos e inicio de SAMBA.

El servicio de “Active Directory Domain Controller” provisto por SAMBA, depende de diversos
procesos y uno de ellos se denomina “Kerberos”, que es un protocolo de autentificación en red para
aplicaciones que permite a los clientes de SAMBA autenticarse contra el servidor. El proceso de provisión
de Samba, crea un archivo de configuración para kerberos, básico, adecuado para el funcionamiento y
en el caso de Debian se ubica en /var/lib/samba/private/krb5.conf. Dicho archivo deberá ser copiado a
/etc/krb5.conf mediante el siguiente comando:
# cp /var/lib/samba/private/krb5.conf /etc/

Después de copiar el archivo mencionado, se procederá a iniciar el servidor “Active Directory Domain
Controller” mediante el siguiente comando:

# systemctl start samba

Luego se procederá a verificar que el servicio se haya iniciado correctamente con el siguiente comando:

# systemctl status samba

Que debería devolver lo siguiente:

después de verificar que el servicio inició correctamente, se procederá a habilitar la opción para que se
cargue al arranque del sistema Debian con el siguiente comando:

# systemctl enable samba-ad-dc

Es una buena idea verificar que los mecanismos de autenticación de tu Controlador de Dominio estén
funcionando como se espera. Para probar esto, inicia sesión solicitando un ticket de Kerberos para la
cuenta de Administrador de Dominio, ejecutando el comando:
# kinit administrator

Se solicitará la contraseña del administrador del dominio, que se definió en el proceso de provisión de
samba:

20
Luego de haber solicitado el ticket de Kerberos, ejecutar el comando “klist”:
# klist
que debería dar el resultado que se muestra en la imagen siguiente:

Si todo sale como lo indicado anteriormente, entonces el servicio de autenticación está funcionando
correctamente.

5.- Configuraciones adicionales de DNS.

A continuación, se realizarán algunas configuraciones adicionales para el servicio de DNS, en primera


instancia se realizará la creación de una zona reversa, mediante el siguiente comando:
# samba-tool dns zonecreate debiandc.debian.informatica.lan 0.168.192.in-addr.arpa -U
Administrator

Luego se procederá a crear una zona de tipo puntero reverso mediante este comando:

# samba-tool dns add debiandc.debian.informatica.lan 0.168.192.in-addr.arpa 250


PTR debiandc.debian.informatica.lan -U Administrator

que debería producir el siguiente resultado:

5.1.- Verificaciones al servicio DNS.

Los siguientes comandos están destinados para verificar que el servicio de DNS está correctamente
configurado, para ello se verificará una serie de registros DNS que deben estar incorporados a la base de
datos del servidor SAMBA.

21
Verificar el registro SRV _ldap basado en TCP en el dominio:
# host -t SRV _ldap._tcp.debian.informatica.lan.
Resultado esperado:

El registro de recurso SRV _kerberos basado en UDP en el dominio:


# host -t SRV _kerberos._udp.debian.informatica.lan.
Resultado esperado:

El registro A del controlador de dominio:


# host -t A debiandc.debian.informatica.lan.

Resultado esperado:

Si has creado una zona inversa, el registro PTR del controlador de dominio:
# host -t PTR 192.168.0.250
Resultado esperado:

6.- Verificaciones al servidor de recursos compartidos del controlador de dominio.

Las verificaciones siguientes tienen por objeto asegurar que ciertos recursos compartidos esenciales están
funcionando en forma correcta.
Para listar todos los recursos compartidos proporcionados por el Controlador de Dominio:
# smbclient -L localhost -N

22
Para verificar la autenticación, conecta al recurso compartido netlogon usando la cuenta de administrador
de dominio:
# smbclient //localhost/netlogon -UAdministrator -c 'ls'

Si todos los resultados salieron como se muestra en las imágenes, entonces las verificaciones están
correctas y se puede continuar con el proceso.

7.- Configuración de Winbindd.

El servicio Winbindd te permite:

 Utilizar usuarios y grupos de dominio en comandos locales, como chown y chgrp.


 Mostrar usuarios y grupos de dominio en la salida de comandos locales, como ls.

Para configurar este servicio será necesario realizar unos pequeños pasos previos, el primero de ellos es
localizar la librería: “libnss_winbind.so.2”, que fue instalada al principio y en el caso de Debian12 con
el paquete samba 4.17 está ubicada en: /usr/lib/x86_64-linux-gnu
De todas formas, para localizar la ubicación de esta librería se puede emplear el siguiente comando:
# smbd -b | grep LIBDIR

Que dará el siguiente resultado:

Una vez localizado, se ejecutará este comando para generar un enlace simbólico en dicho directorio:
# ln -s /usr/lib/x86_64-linux-gnu/libnss_winbind.so.2 /usr/lib/x86_64-
linux-gnu/libnss_winbind.so
Después de crear el enlace simbólico se ejecutará el siguiente comando:
# ldconfig

Para habilitar la biblioteca de cambio de servicio de nombres (NSS) para que los usuarios y grupos de
dominio estén disponibles para el sistema local:

Agrega la entrada “winbind” a las siguientes bases de datos en el archivo /etc/nsswitch.conf:

# nano /etc/nsswitch.conf

23
Las líneas que corresponden con “passwd” y “group” deben tener al final la opción “winbind”, sino la
tienen debe ser agregada, posterior a esto: guardar el archivo y salir.

Nota:
Mantén la entrada de "files" como la primera fuente para ambas bases de datos. Esto permite que NSS
busque usuarios y grupos de dominio en los archivos /etc/passwd y /etc/group antes de consultar el
servicio Winbind.

No añadas la entrada de "winbind" a la base de datos de “shadow” de NSS. Esto puede causar que la
utilidad wbinfo falle.

6.1.- Probando Winbindd: Para probar que el servicio Winbindd está correctamente configurado y
funcionando, se llevarán a cabo algunas verificaciones:

Enviando un ping con Winbindd:


# wbinfo --ping-dc

Para buscar usuarios y grupos de dominio:


# getent passwd DEBIAN\\administrator

24
Para buscar el grupo de dominio "Domain Users":
# getent group "DEBIAN\\Domain Users"

Para obtener el listado de grupos del dominio:


# wbinfo -g

Para obtener el listado de usuarios del dominio:


# wbinfo -u

Con las pruebas anteriores se puede validar que el servicio Winbindd quedó correctamente configurado
y funcionando.

7.1.- Complejidad de contraseñas.


Opcionalmente se puede deshabilitar la complejidad de contraseñas ejecutando el siguiente comando:
# samba-tool domain passwordsettings set --complexity=off

25
8.- Configuración de Chrony.

El servicio de controlador de dominio “Active Directory” con Samba depende estrechamente, para su
funcionamiento correcto, de que la hora del sistema esté siempre ajustada y sincronizada tanto en el
servidor como en los equipos clientes. Para este guía de configuración se utilizará el paquete de software
chrony, que ayudará mantener el servidor a la hora correcta y al mismo tiempo servirá para sincronizar
los clientes que se autentiquen con el controlador de dominio.

Como este paquete se instaló al principio de esta guía, ahora queda que editar el archivo de configuración
ubicado en /etc/chrony/chrony.conf

# nano /etc/chrony/chrony.conf

El comando anterior abrirá el archivo de configuración de Chrony, en el que se deberá buscar las
siguientes líneas para comentarlas agregando un signo “#” al principio.

#pool 2.debian.pool.ntp.org iburst

Luego al final del archivo de configuración se agregarán las siguientes líneas:

#ipaddress of this DC
bindcmdaddress 192.168.0.250

#The source, where we are receiving the time from


server ntp.shoa.cl iburst

#dns netmask
allow 192.168.0.0/24

ntpsigndsocket /var/lib/samba/ntp_signd

Después de editar el archivo, guardar los cambios y salir del editor. Inmediatamente realizar los cambios
indicados a continuación con los siguientes comandos:

Cambiar los permisos del directorio /var/lib/samba/ntp_signd:

# chown root:_chrony /var/lib/samba/ntp_signd/

# chmod 750 /var/lib/samba/ntp_signd/

Luego de estas acciones, se debe reiniciar el servicio chrony:

# systemctl restart chrony

26
9.- Adición de un equipo Windows al dominio.

Después de haber configurado satisfactoriamente la configuración del servicio SAMBA como


controlador de dominio de “active directory” (“AC-DC”), el siguiente paso es unir una máquina Windows
al nuevo dominio y para ello se requerirá configurar algunos parámetros básicos en el adaptador de red
del sistema.

En primer lugar, el host cliente, deberá tener una dirección IP dentro del segmento de red del servidor
recién configurado, y en la sección de DNS se deberá poner la dirección IP del servidor “AC-DC”, que
en el caso de esta guía es: 192.168.0.250 (Ajustar según su propia configuración):

Después de configurar la dirección IP de la máquina cliente, el siguiente paso es hacer click en “Opciones
Avanzadas” para configurar el “sufijo de dns para esta conexión” en la pestaña “DNS” del cuadro de
dialogo que aparecerá.

El sufijo de DNS es de suma importancia, puesto que será agregado con el objetivo de resolver los
nombres de máquina del dominio “Active Directory” en forma local y permitirá que la máquina cliente
pueda resolver el dominio para unirse a el. En la página siguiente se muestra la imagen con la
configuración de ejemplo.

27
Después de haber configurado correctamente estos parámetros, se debe hacer “click” en aceptar en todos
los diálogos abiertos para que se apliquen los cambios realizados. Luego de esto, el siguiente paso será
unir el cliente Windows al dominio configurado, accediendo a las propiedades de sistema en el ícono
“Este Equipo”:

28
Una vez dentro del cuadro de diálogo indicado, hacer click en el botón “cambiar”, para que se active el
siguiente cuadro de diálogo:

El cuadro anterior posee algunos campos importantes a considerar:

1.- Nombre de equipo: El nombre de la computadora no debe ser mayor a 15 caracteres, debido a una
limitación del protocolo Netbios. Cualquier cambio en el nombre de equipo, requerirá reiniciar la
máquina Windows antes de unirla al dominio, de modo que si cambia el nombre actual deberá seleccionar
la opción “grupo de trabajo” “WORKGROUP”, reiniciar y volver al cuadro de diálogo para unir al
dominio.
2.- Dominio: Este cuadro de texto sirve para indicar el nombre de dominio al cuál unirse, en el caso del
ejemplo de esta guía el dominio es: debian.informatica.lan, que deberá ajustarse al nombre de dominio
que se esté utilizando en la configuración particular. Luego de tener estos datos listos, clic en aceptar y
se solicitará la contraseña de administrador del dominio para unir el cliente, después de proveer la
contraseña, se acepta ese cuadro diálogo y saldrá un mensaje indicando que se ha unido correctamente
al dominio, tras lo cual se pedirá reiniciar Windows y se podrá iniciar sesión en “Active Directory”.

29
10.- Configuración de las herramientas RSAT para administración del servidor.

Para administrar de una forma más cómoda el servidor “Active Directory”, se realizará la instalación de
las herramientas RSAT de Windows. Se sugiere realizar la instalación en un sistema MS-Windows 7
debido a que tiene el soporte para las extensiones NIS y permite la configuración de parámetros en
forma gráfica.

Luego de haber instalado las herramientas RSAT, en el panel de control se debe ir a la opción de
agregar o quitar programas, una vez ahí localizar la opción: “Activar o Desactivar Características de
Windows”:

Luego seleccionar las características indicadas:

30
Después de seleccionar las características indicadas, se presiona “Aceptar”, para que Windows las
instale y aparezcan en las herramientas administrativas del panel de control.

Lo siguiente a realizar es configurar un acceso a través del “Microsoft Management Console”, para
facilitar el acceso a las características de uso más común en la administración de “Active Directory”.
Activar la opción ejecutar y escribir ahí: mmc, click en “Aceptar”:

31
Lo anterior va abrir la consola de administración donde se cargarán los complementos necesarios para
ejecutar diversas tareas:

Después de hacer “click” en la opción indicada: “Agregar o quitar complemento”, se va a desplegar un


listado donde se deberán seleccionar los complementos del listado izquierdo para agregar los indicados
en el recuadro rojo:

Click en “Aceptar”.

32
Luego ir al menú “Archivo” y seleccionar “Guardar Como”:

Indicar el nombre para el acceso de la consola y guardar en el escritorio:

Después de guardar la consola procederemos a abrirla para acceder a la opción: “Usuarios y Equipos de
Active Directory”, y nos dirigiremos a la opción “Users” como se indica en la imagen a continuación:

33
Una vez en esta pantalla se procederá a crear un grupo de seguridad denominado “Unix Admins”, que
será utilizado más adelante. Para ello se debe hacer “Click” en el ícono resaltado en el recuadro “rojo”:

34
Después de crear el grupo indicado, se seleccionará desde el listado y se hará click en propiedades:

En la pantalla siguiente se seleccionará la pestaña “Unix Attributes” para asignar un Id de Grupo


“GID”:

35
Guía de instalación de SAMBA File Server en Debian 12 – GNU Linux – v1.0
Guía preparada por: Cristian Sepúlveda Sepúlveda, Informática Municipalidad de Vilcún

Requisitos previos:

1.- Instalación de paquetes de software requeridos.

Para realizar la instalación del servidor SAMBA como servidor de archivos, se requiere instalar los
siguientes paquetes necesarios (se asume que la máquina Linux está conectada a internet y tiene los
repositorios de software correctamente configurados). Para realizar esta instalación se ejecutará el
comando apt install -t bookworm-backports, seguido de los nombres de paquetes de software
requeridos:

Nota: Para esta instalación utilizaremos los repositorios “backports” de Debian. La idea es contar
con un paquete de software SAMBA lo más actualizado posible para que tenga un buen soporte
de las últimas características que se hayan implementado en ese proyecto y así lograr una mejor
integración con los clientes MS-Windows.

# apt -t bookworm-backports install samba-ad-dc samba smbclient


krb5-user winbind samba-dsdb-modules samba-vfs-modules acl cifs-utils
libnss-winbind libpam-winbind ldb-tools bind9utils chrony

En el caso que la instalación del paquete: “krb5-user” presente un dialogo para consultar por datos
sobre el dominio “REALM” de Kerberos, se le debe poner “localhost” o dejar el dominio que sugiere,
que para el caso de esta guía puede ser: “debian.informatica.lan” y en los diálogos siguiente donde
pregunta por el servidor KDC y el servidor administrativo, deberá suplirse con la dirección IP:
127.0.0.1 o con “localhost”, esto para cumplir con este paso de la configuración ya que, de todas
formas, más adelante se reemplazará por el archivo “krb5.conf” que ofrece la provisión de samba al
final de ese proceso.

36
1.1.- Datos de ejemplo usados en esta guía:

Nombre del host local (hostname): debfiles


Nombre de dominio local: debian.informatica.lan
Dirección IP estática (address): 192.168.0.251/24
Dirección de difusión (broadcast): 192.168.0.255
Dirección de red (network): 192.168.0.0
Puerta de enlace (gateway): 192.168.0.1
DNS Externo (DNS Forwarder): 8.8.8.8

Los datos presentados aquí son de ejemplo, de modo que deberán ser ajustados de acuerdo a la realidad
donde se esté realizando la presente configuración del servidor de dominio.

37
2.- Configuración de la red de Debian.

2.1.- Direccionamiento IP:

Se requiere configurar una dirección IP estática para el sistema Linux, en el caso de Debian, se debe
editar el siguiente archivo:

# nano /etc/network/interfaces

que desplegará el contenido de dicho archivo y que para los efectos de una instalación por defecto, es
muy probable que la red esté en modo DHCP, mostrando una línea como la siguiente:

iface enp0s3 inet dhcp

se deberá modificar el archivo para que quede de la siguiente forma, cambiando “dhcp” por “static” e
indicando los demás parámetros de red: dirección ip (“address”), dominio de difusión (“broadcast”),
la dirección de red del segmento ip (“network”) y la puerta de enlace (“gateway”)

iface enp0s3 inet static


address 192.168.0.251/24
broadcast 192.168.0.255
network 192.168.0.0
gateway 192.168.0.1

una vez modificado el archivo, guardar los cambios y salir del editor.

2.2.- Configuración de nombres y resolución de DNS:

A continuación, se editarán los archivos necesarios para llevar a cabo la resolución básica de DNS para
que funcione el servidor SAMBA como miembro del dominio AD-DC (“Active Directory Domain
Controller”)

2.2.1.- Archivo /etc/hostname

El archivo localizado en /etc/hostname, es el encargado de almacenar el nombre de la máquina local


que se está configurando, en este caso: “debfiles”, de modo que debería contener lo siguiente:

debfiles

en este archivo se puede definir cualquier otro nombre de máquina “host” que sea más adecuado que
el indicado en este ejemplo.

38
2.2.2.- Archivo /etc/hosts

El archivo /etc/hosts contiene los datos básicos donde se asocian las direcciones IP a nombres de
“hosts” máquinas de red.

Se debe ejecutar el siguiente comando para editar este archivo:

# nano /etc/hosts

que deberá tener un contenido similar al siguiente:

127.0.0.1 localhost
192.168.0.251 debfiles.debian.informatica.lan debfiles

La dirección IP: 192.168.0.251 es la que se asignó al propio servidor actual y debe tener el nombre
completamente calificado (FQDN), es decir: el nombre de la propia máquina “debfiles” más el nombre
del dominio: “debian.informatica.lan”, seguido del alias del servidor: “debfiles”. Después de haber
realizado estos cambios, REINICIAR EL SISTEMA.

2.2.3.- Verificación de la configuración de DNS.

Para asegurar un funcionamiento correcto del servidor miembro de dominio, se deberá verificar que el
servicio de DNS esté funcionando correctamente. Se ejecutarán diversos comandos que probarán la
configuración correcta:

# nslookup debiandc.debian.informatica.lan

El resultado debe ser el siguiente:

Verificación de la resolución DNS reversa:

# nslookup 192.168.0.250

39
Verificación de registros SRV:
# host -t SRV _ldap._tcp.debian.informatica.lan

# host -t SRV _kerberos._udp.debian.informatica.lan

3.- Preparación previa para configurar el servidor SAMBA como miembro de dominio.

Antes de comenzar a realizar el proceso de configuración, se detendrán los servicios SAMBA por
defecto que se encuentran en funcionamiento, para ello se ejecutarán los siguientes comandos:

# systemctl stop smb


# systemctl stop nmb
# systemctl stop winbind

A continuación, se deberán eliminar ciertos archivos con extensión “*.tdb” y “*.ldb” en algunos
directorios. Esto es necesario puesto que después de la instalación de samba, el proceso se inicia y se
crean algunas configuraciones por defecto. Ejecutar los siguientes comandos:

# rm /var/lib/samba/*.tdb
# rm /var/lib/samba/private/*.tdb
# rm /var/cache/samba/*.tdb
# rm /run/samba/*.tdb

Para eliminar los archivos “*.ldb”, ejecutar los mismos comandos anteriores, reemplazando “*.tdb”
por “*.ldb”

El siguiente paso es renombrar el archivo /etc/samba/smb.conf a /etc/samba/smb.conf.bak, para


asegurar que no exista una configuración previa ya que el mismo proceso de provisionamiento creará
un archivo smb.conf con las configuraciones adecuadas al caso. Ejecutar el siguiente comando:
# mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

3.1.- Configuración de Kerberos.


El servidor requiere una configuración mínima del protocolo kerberos. Para los efectos primero se
realizará una copia de seguridad del archivo ubicado en /etc/krb5.conf, para posteriormente crear uno
nuevo con los parámetros que se indicarán a continuación:
# mv /etc/krb5.conf /etc/krb5.conf.bak

40
Después de haber creado la copia de seguridad del archivo krb5.conf, se procederá a crear la nueva
configuración con:

# nano /etc/krb5.conf

Que deberá contener lo siguiente:

[libdefaults]
default_realm = DEBIAN.INFORMATICA.LAN
dns_lookup_realm = false
dns_lookup_kdc = true

Importante: El nombre del “default_realm” debe ser en mayúsculas.

Después de editar el archivo, guardar con CTRL+O [ENTER], Salir con CTRL+X.

Editar el archivo: /etc/security/pam_winbind.conf y agregar lo siguiente:

Después de editar el archivo, guardar con CTRL+O [ENTER], Salir con CTRL+X.

41
3.2.- Configuración de la sincronización de tiempo.

Para funcionar adecuadamente, el servidor de archivos requiere una sincronización de tiempo precisa
con el servidor “Active Directory”, esto se logra mediante la configuración de un cliente NTP, que en
este caso será el servicio “Chrony” que fue instalado al principio de esta guía.

Editar el archivo: /etc/chrony/chrony.conf

# nano /etc/chrony/chrony.conf

Dentro del archivo se debe ubicar la siguiente línea: pool 2.debian.pool.ntp.org iburst, y se debe
comentar agregando un signo “#” al principio de la línea de tal modo que quede así:

Después agregar al final del archivo las siguientes líneas:

Después de editar el archivo, guardar con CTRL+O [ENTER], Salir con CTRL+X.

Reiniciar el servicio chrony con:

# systemctl restart chrony

3.3.- Configuración del archivo /etc/samba/smb.conf.

El archivo /etc/samba/smb.conf es vital para poner en funcionamiento el servidor miembro del dominio
“Active Directory”. Dicho archivo se compone de diferentes secciones, en esta primera instancia se
hará uso de la sección “[global]” que contendrá una serie de parámetros de configuración.
En primer lugar se renombrará el archivo smb.conf existente a smb.conf.bak, con el objeto de
respaldarlo y así empezar con un archivo limpio:
# mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

42
Luego de haber ejecutado el comando anterior, se procederá a crear un nuevo archivo
/etc/samba/smb.conf:

# nano /etc/samba/smb.conf

Una vez abierto el editor, se deberá agregar las siguientes líneas de configuración:

Después de editar el archivo, guardar con CTRL+O [ENTER], Salir con CTRL+X.
Luego de haber guardado el archivo, se procederá a ejecutar el siguiente comando para unir la máquina
al dominio:
# samba-tool domain join debian.informatica.lan MEMBER -U administrator

43
Se presentará un diálogo de contraseña donde se deberá poner la clave de acceso del usuario
administrador del dominio que se definió en el proceso de configuración del servidor SAMBA “Active
Directory Domain Controller”:

Después de proveer la contraseña, aparecerán algunas líneas dentro de las cuales interesa buscar las 2
que aparecen en la imagen siguiente, con lo cual se validará la unión correcta al dominio:

Seguidamente se ejecutarán los siguientes comandos para activar los servicios SAMBA:

# systemctl start smbd


# systemctl start nmbd
# systemctl start winbind

Adicionalmente se desactivará el servicio samba-ad-dc que se encarga de activar el servidor en modo


“Active Directory Domain Controller”, puesto que en este caso se está utilizando como un servicio
miembro del dominio:

# systemctl disable samba-ad-dc

También se habilitarán al inicio del sistema los servicios: smbd, nmbd y winbind:

# systemctl enable smbd


# systemctl enable nmbd
# systemctl enable winbind

Lo siguiente que queda por hacer es verificar que el archivo /etc/nsswitch.conf, contenga las opciones
winbind agregadas a las líneas: passwd y group. Lo anterior permitirá que tanto usuarios como grupos
puedan ser resueltos a través del servicio winbind desde el servidor “Active Directory Domain
Controller” para ser utilizados en forma local dentro del servidor de archivos que se está configurando,
permitiendo asignarlos a los permisos de archivos y carpetas.

Ejecutar el siguiente comando:


# nano /etc/nsswitch.conf

44
El comando anterior abrirá el editor donde se deberá verificar que existan las opciones marcadas en el
recuadro rojo, de no estar deben ser agregadas como se muestra en la imagen:

Después de editar el archivo, guardar con CTRL+O [ENTER], Salir con CTRL+X.
Después de haber verificado lo anterior se procederá a realizar algunas pruebas para verificar el
funcionamiento correcto de la resolución remota de usuarios y grupos.
Con el siguiente comando se validará la resolución de nombres de usuarios remotos:

# wbinfo -u

Que debería dar como resultado lo siguiente, donde se muestran los usuarios obtenidos desde el
servidor “Active Directory”:

Con este otro comando se validará la resolución de nombres de grupos remotos:


# wbinfo -g

45
La salida del comando anterior debería mostrar un listado de grupos preexistentes en el controlador de
dominio, similar a lo siguiente:

Finalmente se realizará una prueba de ping hacia el servicio NETLOGON desde el servidor de archivos
con el siguiente comando:
# wbinfo -–ping-dc
Que debería dar el siguiente resultado:

Concluidas las pruebas anteriores en forma satisfactoria, tenemos configurado en forma mayormente
correcta nuestro servidor miembro de dominio sobre el que podremos configurar diversos recursos
compartidos para nuestra red local.

46
4.- Configuración de recursos compartidos a través de SAMBA.

Una de las principales potencialidades, muy útiles, de SAMBA es la capacidad de compartir archivos
y carpetas en red a través del protocolo SMB/CIFS en redes que operan sistemas operativos MS-
Windows, Linux y en general todo S.O. que tenga soporte para el protocolo SMB/CIFS.

En este caso se presentará el ejemplo para crear una carpeta compartida sobre la que se aplicarán
diversas directivas de acceso para controlar quien y como se accederá al recurso de red.

En primer lugar se creará una carpeta denominada “publico” en /home, sobre esta carpeta se aplicarán
algunos permisos en el sistema Linux propiamente tal y con posterioridad se refinarán esos permisos
mediante las herramientas RSAT que se instalaron en el cliente Windows para manejar los usuarios y
recursos compartidos de SAMBA.

Con el siguiente comando crear la carpeta indicada:


# mkdir /home/publico

Aplicar permisos 0770: (Usuario y Grupo propietario tienen acceso completo: RWX, el resto no tiene
acceso):
# chmod 0770 /home/publico

Cambiar el usuario y grupo propietario de la carpeta:


# chown root:“Unix Admins” /home/publico

Nótese que está asignando como grupo propietario a “Unix Amins”. Este grupo no es local en la
máquina Linux, sino que reside en realidad en el servidor “Active Directory”.

Una vez creada la carpeta en la ubicación indicada, se procederá a definir el recurso compartido al final
del archivo de configuración de samba: /etc/samba/smb.conf. Deberá indicarse el nombre del recurso
entre “¨[]” junto con otros parámetros básicos:
# nano /etc/samba/smb.conf

Después de editar el archivo, guardar con CTRL+O [ENTER], Salir con CTRL+X.

47
Para aplicar los cambios se debe recargar la configuración de samba con el comando:
# smbcontrol all reload-config

Posterior a esto y desde una máquina Windows agregada al dominio, se procederá a verificar que el
recurso compartido esté visible en la red. En la opción de ejecutar, se escribe el UNC del servidor de
archivos \\debfiles, se presiona “Aceptar”:

Y deberá mostrar la carpeta compartida:

48

También podría gustarte