Como meter Ubuntu a un dominio Active Directory
Antecedentes
Tenemos una maquina con software libre(Ubuntu) y necesitamos estar en el dominio de mi empresa.Objetivo
Realizar en pocos pasos la configuración de ubuntu.
Requerimientos
Estar en red, que el DNS sea el active directory y que resuelva los nombres de la red, probar con ping y nslookup la conectividad.
Nota: Todos estos pasos se deben realizar como root, por lo tanto debe obtener acceso a root.
Tenemos una maquina con software libre(Ubuntu) y necesitamos estar en el dominio de mi empresa.Objetivo
Realizar en pocos pasos la configuración de ubuntu.
Requerimientos
Estar en red, que el DNS sea el active directory y que resuelva los nombres de la red, probar con ping y nslookup la conectividad.
Nota: Todos estos pasos se deben realizar como root, por lo tanto debe obtener acceso a root.
Gráfica de apreciación
Manos a la Obra.
Paso 1
Instalar y configurar Kerberos
Instalar los siguientes paquetes:
krb5-user
libpam-krb5
krb5-config
libkadm55
Ir al Centro de software de Ubuntu y en el campo Buscar poner “kerberos” sin las comillas, instalar el paquete “autenticación kerberos”
Ahora configure el archivo /etc/krb5.conf
Comando# gedit /etc/krb5.conf
Atención: Ponga el dominio por defecto de su red en MAYUSCULAS
[logging] default = FILE:/var/log/krb5libs.log kdc = FILE:/var/log/krb5kdc.log admin_server = FILE:/var/log/kadmind.log [libdefaults] default_realm = MOS.COM.EC dns_lookup_realm = false dns_lookup_kdc = false ticket_lifetime = 24h forwardable = yes [realms] MOS.COM.EC = { kdc = srv-ad01.mos.com.ec:88 admin_server = srv-ad01.mos.com.ec:749 kdc = srv-ad01.mos.com.ec } [domain_realm] mos.com.ec = MOS.COM.EC .mos.com.ec = MOS.COM.EC [appdefaults] pam = { debug = false ticket_lifetime = 36000 renew_lifetime = 36000 forwardable = true krb4_convert = false } |
NOTA: Para que funcione debe poner con MAYUSCULAS!!!
Configurar la sincronización del reloj en el archivo /etc/ntp.conf bucar la siguiente linea y modificar con nuestro servidor de dominio.
Comando# gedit /etc/ntp.conf
server srv-ad01.mos.com.ec # local clock fudge 127.127.1.0 stratum 10 |
Si no tiene servidor de nombres (DNS) arregle su archivo de hosts para que refleje el correcto nombre del servidor de dominio:
Modificar el archivo /etc/hosts
Comando# gedit /etc/hosts
ADVERTENCIA!!!! No poner por nada del mundo un nombre repetido en la red.
127.0.0.1 localhost 192.168.3.254 srv-ad01.mos.com.ec srv-ad01 |
Ahora probar la configuración con kinit y klist, el primero pide un ticket kerberos al servidor de active directory, para un usuario en particular, en este caso usamos el Administrador del dominio con su respectiva contraseña, luego comprobamos que el ticket nos fue entregado con el comando klist.
# kinit Administrador@MOS.COM.EC Password for Administrador@MOS.COM.EC: ******** # klist Ticket cache: FILE:/tmp/krb5cc_1000 Default principal: Administrador@MOS.COM.EC Valid starting Expires Service principal 12/20/10 08:25:30 12/20/10 20:25:06 krbtgt/MOS.COM.EC@MOS.COM.EC renew until 12/20/10 08:25:30 Kerberos 4 ticket cache: /tmp/tkt1000 klist: You have no tickets cached |
Paso 2:
Instalar y configurar SAMBA.
Para instalar:
Ir al Centro de software de Ubuntu y en el campo Buscar poner “samba” sin las comillas, instalar el paquete “SMB/CIFS file, print, and login server for Unix”
Ahora debe modificar el archivo /etc/samba/smb.conf, ahi busque y cambie los parámetros que se encuentran abajo, los datos de nuestro dominio son los siguientes:
#====== Global Settings===================== workgroup = MOS password server = srv-ad01.mos.com.ec realm = MOS.COM.EC security = ads idmap uid = 16777216-33554431 idmap gid = 16777216-33554431 template shell = /bin/bash winbind use default domain = true winbind offline logon = true template homedir = /home/%D/%U winbind enum groups = true winbind enum users = true |
Ir al Centro de software de Ubuntu y en el campo Buscar poner “winbind” sin las comillas, instalar el paquete “Samba nameservice integration server”
Reinicie los servicios de Samba y winbind:
#service winbind restart
#service smbd restart
Paso 3: Meter la maquina al dominio de Windows
# net ads join -U Administrador Enter Administrador's password:******* Using short domain name -- MOS Joined 'nuestroequipo' to realm 'mos.com.ec' (si no funciona usar #net rpc join -U administrador) |
Paso 4: Configurar la resolución de nombres.
Para esto debemos de indicar al /etc/nsswitch.conf cuál es la otra forma de resolución de usuarios, grupos y hosts disponible y el orden de resolución de nombres, agregar lo que haga falta y no borrar nada adicional.
/etc/nsswitch.conf # Example configuration of GNU Name Service Switch functionality. # If you have the `glibc-doc-reference' and `info' packages installed, try: # `info libc "Name Service Switch"' for information about this file. passwd: compat winbind group: compat winbind shadow: compat winbind hosts: files dns mdns4_minimal [NOTFOUND=return] mdns4 networks: files |
Luego de esto reinicia el servicio winbind:
#service winbind restart
Y prueba que esté funcionando haciendo una consulta de los usuarios del dominio con...
# wbinfo -u administrador invitado support_388945a0 krbtgt ventas cmontes coordinador administracion tecnico1 |
Y luego consulta los grupos disponibles por medio de la orden...
# wbinfo -g helpservicesgroup telnetclients equipos del dominio controladores de dominio administradores de esquema administradores de organización publicadores de certificados admins. del dominio usuarios del dominio invitados del dominio propietarios del creador de directivas de grupo servidores ras e ias dnsadmins dnsupdateproxy usuarios de dhcp administradores de dhcp dobra80ec iis_wpg certsvc_dcom_access |
Ahora una prueba muy importante, debes de poder visualizar los usuarios y grupos de manera conjunta, local+dominio, esto lo haces con getent.
# getent passwd root:x:0:0:root:/root:/bin/bash daemon:x:1:1:daemon:/usr/sbin:/bin/sh bin:x:2:2:bin:/bin:/bin/sh sys:x:3:3:sys:/dev:/bin/sh sync:x:4:65534:sync:/bin:/bin/sync games:x:5:60:games:/usr/games:/bin/sh ...... acarranza:*:10013:10003:Anibal Carranza:/home/MOS/acarranza:/bin/bash ovallejo:*:10014:10003:Oscar Vallejo:/home/MOS/ovallejo:/bin/bash prueba:*:10015:10003:prueba prueba:/home/MOS/prueba:/bin/bash iusr_mosac01:*:10016:10003:IUSR_MOSAC01:/home/MOS/iusr_mosac01:/bin/bash iwam_mosac01:*:10017:10003:IWAM_MOSAC01:/home/MOS/iwam_mosac01:/bin/bash test:*:10018:10003:test test:/home/MOS/test:/bin/bash rarriaga:*:10019:10003:Rosita Arriaga:/home/MOS/rarriaga:/bin/bash desinfeccion:*:10020:10003:DESINFECCION:/home/MOS/desinfeccion:/bin/bash vista:*:10021:10003:VISTA:/home/MOS/vista:/bin/bash |
Y tambien los grupos...
# getent group sambashare:x:122:carlos winbindd_priv:x:123: helpservicesgroup:x:10005:support_388945a0 telnetclients:x:10006: .............................. equipos del dominio:x:10007: controladores de dominio:x:10008: administradores de esquema:x:10009:administrador administradores de organización:x:10010:administrador publicadores de certificados:x:10011:mosac01$ admins. del dominio:x:10012:administrador usuarios del dominio:x:10003:coordinador$ invitados del dominio:x:10004: propietarios del creador de directivas de grupo:x:10013:administrador servidores ras e ias:x:10014: dnsadmins:x:10015: dnsupdateproxy:x:10016: usuarios de dhcp:x:10017: administradores de dhcp :x:10018: dobra80ec:x:10019:administracion,cmontes,ovallejo iis_wpg:x:10020:iwam_mosac01 certsvc_dcom_access:x:10021: BUILTIN+administrators:x:10001:administrador BUILTIN+users:x:10002:coordinador$ |
Paso 5. Configurar PAM
PAM es el que se encarga de gestionar que las credenciales que se dan al inicio de sesión se validen al dominio por medio de winbind y kerberos, es decir es el intermediario entre TÚ y el dominio, por lo tanto debe estar bien configurado.
PAM viene integrado en el sistema operativo, no hay necesidad de instalar ningún paquete adicional.
Ingresar las siguientes configuraciones en los distintos archivos:
Los archivos deben quedar tal cual para que todo quede perfectamente funcionando.
Comando# gedit /etc/pam.d/Nombredearchivo
/etc/pam.d/common-auth auth sufficient pam_winbind.so krb5_auth krb5_ccache_type=FILE auth sufficient pam_unix.so nullok_secure use_first_pass auth required pam_deny.so |
/etc/pam.d/common-session session required pam_unix.so session required pam_mkhomedir.so umask=0022 skel=/etc/skel |
/etc/pam.d/common-account account sufficient pam_winbind.so account required pam_unix.so |
/etc/pam.d/sudo #%PAM-1.0 auth sufficient pam_winbind.so auth sufficient pam_unix.so use_first_pass auth required pam_deny.so @include common-auth @include common-account session required pam_permit.so session required pam_limits.so |
Paso 6: Dar privilegios a los administradores de dominio.
Tu computador Centos requiere de cuentas que tengan privilegios de root para poder hacer cambios, te recomendamos que dichas cuentas sean los administradores del dominio. Por lo tanto ellos deben de tener privilegios de administradores locales por medio del sudores.
Modifique el archivo /etc/sudoers
# gedit /etc/sudoers
Y agregue la siguiente linea:
# Members of the admin group may gain root privileges %admin ALL=(ALL) ALL %admins.\ del\ dominio ALL=(ALL) ALL |