Add managed RustDesk enrollment for Linux clients

This commit is contained in:
2026-09-08 08:27:11 -06:00
parent 675db6bc1e
commit ef9be0f897
7 changed files with 566 additions and 9 deletions
+23 -5
View File
@@ -1,6 +1,6 @@
# 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.
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. También instala RustDesk, lo dirige al servidor RustDesk autoalojado y registra el ID y la contraseña de acceso desatendido en el inventario protegido del controlador de dominio.
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.
@@ -44,9 +44,10 @@ de sesión de GDM también debe permanecer deshabilitado.
5. Activa SSSD, creación de directorio personal mediante PAM y valida la contraseña de la cuenta de equipo con `adcli testjoin`. En distribuciones que habilitan los respondedores NSS/PAM de SSSD tanto en `sssd.conf` como mediante sockets de systemd, desactiva los sockets duplicados para evitar una colisión al arrancar.
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.
8. Registra `lightdm` y `cinnamon-screensaver` como inicios interactivos ante las políticas GPO de SSSD. En equipos con LightDM también muestra el ingreso manual, necesario para el primer acceso de un usuario del dominio.
8. Registra `lightdm` y `cinnamon-screensaver` como inicios interactivos ante las políticas GPO de SSSD. En equipos con LightDM oculta la lista de cuentas y conserva únicamente el ingreso manual: usuario y contraseña, necesario para el primer acceso de un usuario del dominio.
9. Con `--enable-hyperv-enhanced-session`, configura XRDP sobre Hyper-V sockets para que VMConnect pueda usar **Sesión mejorada**, repara certificados incompletos, registra `xrdp-sesman` en el mismo mapa interactivo y valida ambos servicios XRDP.
10. Instala el fondo azul, las fuentes Indivisa y un autoinicio compatible con Cinnamon, GNOME y XFCE. En cada sesión gráfica genera el saludo con el nombre del usuario y la ubicación/OU del equipo obtenidas de AD.
11. Instala RustDesk 1.4.9 desde el paquete oficial comprobado, configura exclusivamente el servidor institucional y crea una contraseña aleatoria de acceso desatendido. La contraseña no se muestra en Linux: viaja cifrada con la clave pública del controlador y éste la conserva mediante su inventario protegido.
El objeto de equipo aparece como `NOMBRE` en `OU=Laboratorio`. SSSD registra su registro A cuando la actualización DNS dinámica está activada.
@@ -64,9 +65,9 @@ El formato UPN explícito también permanece disponible:
usuario@lci.lasalle.mx
```
En Linux Mint, selecciona **Iniciar sesión** o el campo manual de usuario en
Slick Greeter y escribe la clave corta. El mosaico con el nombre de una cuenta
local no cambia de identidad al escribir únicamente otra contraseña.
En Linux Mint aparece únicamente el ingreso manual. Escribe la clave corta y
su contraseña; no se muestra una lista ni mosaicos de cuentas locales o del
dominio.
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.
@@ -89,8 +90,25 @@ getent passwd 'usuario@lci.lasalle.mx'
sudo sssctl domain-status lci.lasalle.mx
sudo sssctl user-checks usuario -a acct -s lightdm
sudo sssctl user-checks usuario -a acct -s cinnamon-screensaver
systemctl is-active rustdesk
sudo cat /var/lib/sgu/rustdesk/device.json
```
En el controlador de dominio, el mismo inventario protegido usado por Windows
muestra el ID de un cliente Linux y, únicamente bajo solicitud explícita de un
administrador, su contraseña de RustDesk:
```powershell
& C:\ProgramData\SGU\RustDesk\Get-SguRustDeskDevice.ps1
& C:\ProgramData\SGU\RustDesk\Get-SguRustDeskDevice.ps1 `
-ComputerName ALEX-LMINT -RevealPassword
```
Usa `--disable-rustdesk` sólo cuando una estación deba quedar expresamente sin
soporte remoto. `--rustdesk-registration-share` permite especificar el UNC del
controlador cuando una topología de DNS no puede resolver automáticamente el
controlador de dominio.
Para sacar un equipo del dominio de forma explícita:
```bash