En la mayoría de las organizaciones, los usuarios y grupos se crean y administran en Windows Active Directory. Podemos integrar nuestros servidores RHEL 7 y CentOS 7 con AD (Active Directory) para fines de autenticación. En otras palabras, podemos unir nuestro servidor CentOS 7 y RHEL 7 en el dominio de Windows para que los administradores del sistema puedan iniciar sesión en estos servidores Linux con credenciales de AD. Al crear usuarios de UNIX en AD, podemos asignar estos usuarios a un grupo específico para que ese nivel de acceso se controle centralmente desde AD.
En este artículo, analizamos cómo integrar CentOS 7.x y RHEL 7.x con AD (Windows Server 2008 R2 & Servidor Windows 2012 R2). Los siguientes pasos son aplicables tanto para CentOS 7 como para RHEL 7.
Paso:1 Instale los paquetes requeridos usando el comando yum
Use el comando yum para instalar los siguientes paquetes desde la línea de comandos.
[[email protected] ~]# yum install sssd realmd oddjob oddjob-mkhomedir adcli samba-common samba-common-tools krb5-workstation openldap-clients policycoreutils-python
Actualice el archivo /etc/hosts y /etc/resolv.conf para que el nombre DNS o el nombre de host del servidor AD se resuelvan correctamente. En mi caso, el nombre de host del servidor AD es «adserver.ejemplo.com“, entonces coloque la siguiente línea en el archivo /etc/hosts
192.168.0.151 adserver.example.com adserver
El contenido de resolv.conf debería ser algo como a continuación. Simplemente reemplace el nombre de dominio y la dirección IP del servidor dns según su configuración
[[email protected] ~]# cat /etc/resolv.conf search example.com nameserver 192.168.0.151 [[email protected] ~]#
Paso: 2 Ahora únase al dominio de Windows o integre con AD usando el comando realm
Cuando instalamos los paquetes requeridos anteriormente, el comando realm estará disponible. Usaremos el comando debajo del reino para integrar CentOS 7 o RHEL 7 con AD a través de la «tecnología» del usuario. tech es un usuario de enlace que tiene los privilegios requeridos en AD o también podemos administrar el usuario de AD Server para fines de integración.
[[email protected] ~]# realm join --user=tech adserver.example.com Password for tech: [[email protected] ~]#
Ahora verifique si nuestro servidor se ha unido al dominio de Windows o no. Simplemente ejecute el comando ‘lista de reinos‘
[[email protected] ~]# realm list example.com type: kerberos realm-name: EXAMPLE.COM domain-name: example.com configured: kerberos-member server-software: active-directory client-software: sssd required-package: oddjob required-package: oddjob-mkhomedir required-package: sssd required-package: adcli required-package: samba-common-tools login-formats: %[email protected] login-policy: allow-realm-logins [[email protected] ~]#
Siempre que ejecutemos el comando ‘realm join’, se configurará automáticamente ‘/etc/sssd/sssd.conf‘ Archivo.
Paso:3 Comprobar y verificar usuarios de AD en servidores REHL 7 o CentOS 7
Con ‘identificación‘ en Linux podemos verificar el uid y gid del usuario y su información de grupo. En este momento, nuestro servidor ahora es parte del dominio de Windows. Use el siguiente comando para verificar los detalles de los usuarios de AD.
[[email protected] ~]# id [email protected] uid=1997801106([email protected]) gid=1997800513(domain [email protected]) groups=1997800513(domain [email protected]) [[email protected] ~]#
Es posible que haya notado en el comando anterior que también mencioné el nombre de dominio junto con el nombre de usuario porque esto está controlado por el archivo ‘/etc/sssd/sssd.conf’. Si ejecutamos el comando id sin nombre de dominio, no obtendremos ningún detalle para el usuario.
[[email protected] ~]# id linuxtechi id: linuxtechi: no such user [[email protected] ~]#
Podemos cambiar este comportamiento editando el archivo /etc/sssd/sssd.conf.
Cambie los siguientes parámetros de
use_fully_qualified_names = True fallback_homedir = /home/%[email protected]%d
a
use_fully_qualified_names = False fallback_homedir = /home/%u
Reinicie el servicio sssd usando el siguiente comando systemctl
[[email protected] ~]# systemctl restart sssd [[email protected] ~]# systemctl daemon-reload
Ahora ejecute el comando id y vea si puede obtener detalles de usuario de AD sin mencionar el nombre de dominio
[[email protected] ~]# id linuxtechi uid=1997801106(linuxtechi) gid=1997800513(domain users) groups=1997800513(domain users) [[email protected] ~]#
Probemos ssh CentOS 7 o RHEL 7 Server con credenciales de AD
[[email protected] ~]# ssh [email protected] [email protected]'s password: Last login: Fri Mar 3 10:18:41 2017 from serverb.example.com [[email protected] ~]$ id uid=1997801106(linuxtechi) gid=1997800513(domain users) groups=1997800513(domain users) [[email protected] ~]$ pwd /home/linuxtechi [[email protected] ~]$
Paso:4 Derechos de Sudo para usuarios de AD en CentOS 7 o RHEL 7
En caso de que desee configurar los derechos de sudo para los usuarios de AD, la mejor manera es crear un grupo en AD con el nombre sudoers y agregar usuarios de Linux/UNIX en ese grupo y en el servidor Linux crear un archivo con el nombre «sudoers” en la carpeta /etc/sudoers.d/
Coloque el siguiente contenido en el archivo.
[[email protected] ~]# cat /etc/sudoers.d/sudoers %sudoers ALL=(ALL) ALL [[email protected] ~]#
En mi caso he cedido todos los derechos a los usuarios que forman parte del grupo sudoers. Una vez que haya terminado con estos cambios, vuelva a iniciar sesión en su servidor con las credenciales de AD y vea si el usuario es parte del grupo sudoers.
Eso es todo de este artículo. Espero que tengan una idea de cómo unirse al servidor RHEL o CentOS con el dominio de Windows. Por favor comparta sus comentarios y comentarios valiosos.