Para muchos de los que desgraciadamente estamos obligados a trabajar con windows, la posibilidad de integración entre los dos sistemas windows/GnuLinux es vital para poder poco a poco ir eliminando servidores windows de la organización y substituirlos por flamantes servidor GnuLinux.
Para ello Samba/Winbind una excelente opción. El siguiente ejemplo usa como sistemas CentOs 6.5 pero es fácilmente exportable a cualquier distribución.
INSTALACIÓN BASE – Instalamos un entorno Gnu/Linux CentOs 6.5. – Particionamos el sistema como deseemos y habilitamos en la instalación de paquetes servidor básico. – Realizamos un yum update
para actualizar los paquetes
INSTALACION Y CONFIGURACION DE SAMBA – Instalamos el paquete samba ya que los paquetes adicionales ya vienen por defecto
yum install samba
- Comprobamos que el servicio sbm este correctamente iniciado
service smb status
si no está iniciado lo iniciamosservice smb start
-
Configuramos samba como un demonio para que se inicie el arrancar
chkconfig smb on
CONFIGURACION Y SINCRONIZACION NTP
Puesto que vamos a validar contra el AD de windows es necesario que nos aseguremos que la fecha y hora esta perfectamente sincronizada. – Editamos el fichero de configuración ntp /etc/ntp.conf y añadimos la ip del servidor de AD que lleva el servicio NTP xxx.xxx.xxx.xxx – Paramos y iniciamos el servicio ntpd para que los cambios se apliquen service ntpd stop service ntpd start
– Configuramos ntp como un servicio para que se inicie en el arranque chkconfig ntpd on
CONFIGURACION DNS
- Editamos el fichero de configuración /etc/resolv.conf y añadimos las ips de nuestros servidores dns así como el dominio de búsqueda
CONFIGURACION WINBIND
Configuramos todo desde la utilidad authconfig-tui
de la siguiente manera
- Una vez realizados estos pasos, pulsamos en Join Domain y introducimos un usuario y contraseña valido para unir el equipo al dominio.
-
Si nos da algún error podemos simplemente aceptar los cambios con OK y unirnos al dominio con el siguiente comando:
/usr/bin/net join -w DOMINIO.local -S CONTROLADORDOMINIO -U usuariodedominio
Si nos diera un error del tipo » No DNS domain configured for centos. Unable to perform DNS Update» tendríamos que crear una entrada tipo A en el DNS del dominio.
Comprobamos que estamos añadimos al dominio correctamente con los siguientes comandos Testear la conexion
net ads testjoin
Información del dominio
net ads info
Listar usuarios de dominio
wbinfo --domain-users
CONFIGURACION DE SAMBA
Editamos el fichero de configuración de samba /etc/smb.conf que tiene que quedar como el siguiente ejemplo:
[global]
#--authconfig--start-line--
# Generated by authconfig on 2016/04/13 13:21:21
# DO NOT EDIT THIS SECTION (delimited by --start-line--/--end-line--)
# Any modification may be deleted or altered by authconfig in future
workgroup = DOMINIO
password server = CONTROLADORDOMINIO
realm = DOMINIO.LOCAL
security = domain
idmap config * : range = 16777216-33554431
template shell = /bin/bash
template homedir =/home/%D/%U
winbind use default domain = true
winbind offline logon = false
#--authconfig--end-line--
[recursocompartido] comment=Directorio de intercambio
path= /recursocompartido/
valid users = "@DOMINIO\grupowindows"
writable=yes
read only=no
force group = "@DOMINIO\grupowindows"
force create mode = 000
create mask = 770
directory mask = 770
force directory mode = 000
access based share enum = yes
hide unreadable = yes
Con esta configuración crearemos un recurso compartido al que solo podrán acceder los usuarios que estén dentro del grupowindows que hemos indicado dándoles permisos totales sobre los ficheros R/W y permitiendo leer a otros. Todos los demás ajustes y las mascaras de permisos las tendremos que ir agregando según nuestras necesidades.
CREACION DE RECURSOS
mkdir -p /recurso/ chmod 770 /recurso/
Permiso que otorga todo el control al propietario/grupo y se lo quita a todos los demás chgrp «grupo windows»
CONFIGURAR NSSWITCH/WINBIND – Editamos el archivo /etc/nsswitch.conf de la siguiente manera y cambiamos todas las referencias files por compat para que quede de la siguiente manera:
CAMBIAR AUTENTICACION PAM
Si no queremos que todos los usuarios de dominio tengan acceso a la shell podremos restringir el acceso por SID añadiremos el SID de nuestro grupo en el fichero /etc/security/pam_winbind.conf para permitir el login en la shell solo a un grupo en particular, como se puede ver en la siguiente imagen:
podemos sacar el SID del grupo con el comando wbinfo -n grupo
De esta manera tendremos integrados nuestros servidores Gnu/Linux con validación en el dominio windows y el caballo de troya a las puertas del palacio ¿o es al revés?
Happy Hacking ;)
Gran artículo.
Por añadir un punto extra: resulta que a veces… la relación de confianza entre el AD y el Winbind se jode. Se puede comprobar con «wbinfo -t» y si te responde RPC… es que la autenticación no está funcionando.
Buen artículo para administradores Puppet :P
Impecable, de mucha ayuda.
Gracias!!!