Bienvenidos

Bienvenidos al libro digital de Micro Outsourcing, aquí encontraras una serie de artículos preparados por nuestros profesionales con base a nuestras experiencias y conocimientos, con el compromiso de aclarar tus inquietudes y solucionar los problemas que se presentan a diario en el campo informático.

jueves, 6 de septiembre de 2012


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.

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=====================
   
[global]
  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

1 comentario: