Prerrequisitos
- Acceso Administrativo: Asegúrate de tener acceso administrativo tanto en la máquina Linux como en el servidor AD.
- Herramientas Necesarias:
realmd
sssd
krb5-user
samba
packagekit
Paso 1: Instalación de los Paquetes Necesarios
Primero, instala los paquetes necesarios. Puedes hacerlo mediante el gestor de paquetes de tu distribución. Para Debian/Ubuntu, usa apt
:
sudo apt update
sudo apt install realmd sssd sssd-tools libnss-sss libpam-sss adcli samba-common-bin packagekit krb5-user
Para CentOS/RHEL, usa yum
:
sudo yum install realmd sssd adcli samba-common packagekit krb5-workstation
Paso 2: Descubrimiento del Dominio AD
Usa el comando realm
para descubrir tu dominio AD:
sudo realm discover example.com
Reemplaza example.com
con tu dominio real. Este comando debería devolver información sobre tu dominio.
Paso 3: Unir la Máquina Linux al Dominio AD
Para unir la máquina al dominio, usa el comando realm join
. Necesitarás proporcionar las credenciales de un usuario con privilegios para unir equipos al dominio:
sudo realm join --user=adminuser example.com
Reemplaza adminuser
con un usuario administrador de tu dominio AD.
Paso 4: Configuración de sssd
Modifica la configuración de sssd
para asegurarte de que se utiliza correctamente. Edita el archivo /etc/sssd/sssd.conf
:
sudo nano /etc/sssd/sssd.conf
Asegúrate de que el archivo contiene al menos las siguientes líneas:
[sssd]
services = nss, pam
config_file_version = 2
domains = example.com
[domain/example.com]
id_provider = ad
access_provider = ad
override_homedir = /home/%d/%u
default_shell = /bin/bash
ad_domain = example.com
krb5_realm = EXAMPLE.COM
realmd_tags = manages-system joined-with-samba
cache_credentials = True
Reemplaza example.com
y EXAMPLE.COM
con los valores de tu dominio. Luego, establece los permisos correctos para este archivo:
sudo chmod 600 /etc/sssd/sssd.conf
Paso 5: Configuración de krb5
Configura Kerberos editando el archivo /etc/krb5.conf
:
sudo nano /etc/krb5.conf
Asegúrate de que contiene al menos las siguientes líneas:
[libdefaults]
default_realm = EXAMPLE.COM
dns_lookup_realm = false
dns_lookup_kdc = true
[realms]
EXAMPLE.COM = {
kdc = your.kdc.example.com
admin_server = your.admin.example.com
}
[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM
Reemplaza example.com
y EXAMPLE.COM
con los valores de tu dominio, y your.kdc.example.com
y your.admin.example.com
con las direcciones de tu KDC y servidor admin.
Paso 6: Reiniciar los Servicios
Reinicia los servicios para que los cambios surtan efecto:
sudo systemctl restart sssd
Paso 7: Verificación
Para verificar que todo funciona correctamente, intenta obtener un ticket Kerberos y listar la información de usuario desde AD:
kinit youruser@example.com
klist
A continuación, verifica que puedes obtener información de usuario:
getent passwd youruser@example.com
Paso 8: Configuración de Acceso
Para permitir que todos los usuarios del dominio inicien sesión, puedes usar el siguiente comando:
sudo realm permit --all
Si deseas permitir solo a usuarios específicos, utiliza:
sudo realm permit user1@example.com user2@example.com
Paso 9: Configuración de Sudoers (Opcional)
Si necesitas que los usuarios de AD tengan privilegios de sudo
, edita el archivo /etc/sudoers
:
sudo visudo
Añade la siguiente línea para permitir a los usuarios del grupo Domain Admins
usar sudo:
%domain\ admins@example.com ALL=(ALL) ALL
Reemplaza domain\ admins
con el grupo adecuado de tu dominio.
Conclusión
Siguiendo estos pasos, deberías poder autenticar usuarios de Active Directory en tu máquina Linux. Asegúrate de probar cada paso y verificar los resultados antes de proceder al siguiente para garantizar una configuración correcta.