Add Linux Active Directory enrollment bootstrap
This commit is contained in:
@@ -0,0 +1,78 @@
|
||||
# Enrolamiento de clientes Linux
|
||||
|
||||
El enrolador Linux incorpora una estación Debian/Ubuntu o RHEL/Fedora/Rocky/AlmaLinux a `lci.lasalle.mx` mediante `realmd`, `adcli`, Kerberos y SSSD. No instala el Credential Provider de Windows: Linux conserva su propio inicio de sesión PAM/SSSD.
|
||||
|
||||
La contraseña de la cuenta autorizada para unir equipos se solicita directamente por `realmd`. Nunca se acepta como argumento, ni se escribe en archivos, registros o la línea de comandos.
|
||||
|
||||
## Requisitos de red
|
||||
|
||||
El equipo debe alcanzar por una interfaz privada al controlador de dominio, DNS y Kerberos. En el laboratorio:
|
||||
|
||||
| Servicio | Destino |
|
||||
| --- | --- |
|
||||
| Controlador y DNS | `192.168.50.10` |
|
||||
| Dominio | `lci.lasalle.mx` |
|
||||
| OU de equipos | `OU=Laboratorio,DC=lci,DC=lasalle,DC=mx` |
|
||||
|
||||
Para una VM Hyper-V con dos NIC, mantén el Internet en `Default Switch` y conecta una segunda NIC a `Laboratorio AD`. El enrolador puede configurar la segunda NIC sin modificar la ruta predeterminada:
|
||||
|
||||
```bash
|
||||
sudo bash ./Enroll-SguLinuxDomainClient.sh \
|
||||
--domain-controller 192.168.50.10 \
|
||||
--domain-interface eth0 \
|
||||
--domain-address 192.168.50.12/24 \
|
||||
--enable-ssh
|
||||
```
|
||||
|
||||
`--domain-interface` y `--domain-address` son opcionales como pareja. Si ya se aprovisionó la red privada mediante cloud-init, DHCP o gestión de configuración, omítelos y conserva únicamente `--domain-controller`.
|
||||
|
||||
El script se niega a reconfigurar una interfaz que posea la ruta predeterminada; así no deja a la máquina sin salida a Internet al agregar AD.
|
||||
|
||||
## Qué instala y configura
|
||||
|
||||
1. Instala `realmd`, `adcli`, SSSD, Kerberos y los módulos NSS/PAM adecuados para la familia de distribución.
|
||||
2. Comprueba el registro DNS SRV de Active Directory y sincronización de hora ya existente.
|
||||
3. Establece el nombre de host `NOMBRE.lci.lasalle.mx` antes de crear la cuenta de equipo.
|
||||
4. Une el equipo con `adcli` en `OU=Laboratorio`.
|
||||
5. Activa SSSD, creación de directorio personal mediante PAM y valida la contraseña de la cuenta de equipo con `adcli testjoin`.
|
||||
6. Cuando se proporcionó la NIC privada, activa actualizaciones DNS dinámicas de SSSD en esa interfaz.
|
||||
7. Con `--enable-ssh`, instala y habilita OpenSSH y abre únicamente el servicio SSH cuando el firewall local ya está activo.
|
||||
|
||||
El objeto de equipo aparece como `NOMBRE` en `OU=Laboratorio`. SSSD registra su registro A cuando la actualización DNS dinámica está activada.
|
||||
|
||||
## Inicio de sesión de dominio
|
||||
|
||||
Después de la unión, el formato explícito es:
|
||||
|
||||
```text
|
||||
usuario@lci.lasalle.mx
|
||||
```
|
||||
|
||||
La primera sesión crea `/home/usuario@lci.lasalle.mx`. El valor predeterminado de SSSD conserva credenciales para desconexiones breves de la red; las contraseñas no son administradas ni almacenadas por el Auth Broker.
|
||||
|
||||
Para limitar quién puede iniciar sesión, incluye un grupo de AD:
|
||||
|
||||
```bash
|
||||
sudo bash ./Enroll-SguLinuxDomainClient.sh \
|
||||
--domain-controller 192.168.50.10 \
|
||||
--allow-group 'SG-Laboratorio-Linux-Users'
|
||||
```
|
||||
|
||||
Ese modo ejecuta `realm deny --all` seguido de `realm permit --groups`; crea y administra el grupo antes de usarlo.
|
||||
|
||||
## Verificación y salida controlada
|
||||
|
||||
```bash
|
||||
realm list
|
||||
sudo adcli testjoin --domain=lci.lasalle.mx
|
||||
getent passwd 'usuario@lci.lasalle.mx'
|
||||
sudo sssctl domain-status lci.lasalle.mx
|
||||
```
|
||||
|
||||
Para sacar un equipo del dominio de forma explícita:
|
||||
|
||||
```bash
|
||||
sudo realm leave lci.lasalle.mx
|
||||
```
|
||||
|
||||
Esta última acción elimina la relación de confianza local; debe ejecutarse sólo durante baja o reconstrucción del equipo.
|
||||
Reference in New Issue
Block a user