Controlador de Dominio de Active Directory mediante Samba4
Instalaremos un sistema Debian Jessie que actuará como controlador de dominio para o dominio asir.iesrodeira.com, e uniremos ao dominio ordenadores Windows e Linux, de xeito que os usuarios do dominio podan iniciar sesión en calqueira ordenador da rede.
A administración do DC se poderá realizar mediante as ferramentas administrativas Windows, que serán instaladas nun Windows 7/8.1/2008/2012.
Instalación do Active Directory Domain Controller
O DC se utilizará principalmente para a autenticación de usuarios e para dar acceso a carpetas compartidas con información de interese para o conxunto do alumnado. Os ficheiros personais dos alumnos estarán situados nas máquinas cliente, e os perfís móbiles desactivados. O host no que instalaremos o controlador de dominio será radagast.iesrodeira.com con IP 172.20.0.5. A información relevante é a seguinte:
Realm (Dominio Kerberos): ASIR.IESRODEIRA.COM
Domain:ASIR
Server Role:dc
DNS Backend:Internal
DNS Forwarder:172.20.2.1
Instalación do DC
- En primeiro lugar necesitamos que a rede esté sincronizada. Utilizaremos servidores de tempo da rede local mediante NTP:
apt-get install ntp
vim /etc/ntp.conf
Engadimos a ntp.conf as seguintes lineas:
server gandalf.iesrodeira.com iburst
server earendil.iesrodeirra.com iburst
server hora.roa.es iburst
Comprobaremos a sincronización con ntpq -p
- Instalamos de Samba e smbclient
apt-get install samba smbclient
- Creamos o controlador de dominio
samba-tool domain provision --use-rfc2307 --interactive –use-xattrs=yes
Aqui especificamos o Realm, Dominio, Server Role, Tipo de DNS e o Forwarder. O noso dominio será ASIR, e será un subdominio de IESRODEIRA.COM, sendo o Realm ASIR.IESRODEIRA.COM. O nome do Host será radagast.iesrodeira.com, e o DNS Forwarder 172.20.2.1 ou proxy.iesrodeira.com.
Se creará automáticamente un usuario Administrator que será administrador do dominio. Reiniciamos samba e comprobamos o seu funcionamento:
/etc/init.d/samba restart
smbclient -L localhost -U%
smbclient //localhost/netlogon -UAdministrator -c 'ls'
host -t SRV _ldap._tcp.asir.iesrodeira.com.
host -t SRV _kerberos._udp.asir.iesrodeira.com.
host -t A radagast.asir.iesrodeira.com.
- OPCIONAL: Comprobamos o funcionamento e as credenciais Kerberos:
apt-get install krb5-user
mv /etc/krb5.conf /etc/krb5.conf.orixinal
cp /var/lib/samba/private/krb5.conf /etc
kinit Administrador
klist
kdestroy
Si queremos resolver os nomes do AD en esta máquina (por exemplo, para poñer cuotas de disco), instalamos libnss-winbind e dexamos así /etc/nsswitch.conf
# /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
gshadow: files
hosts: files mdns4_minimal [NOTFOUND=return] dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: nis
Podemos comprobar o funcionamento con getent passwd e getent group.
Instalación dun Cliente Windows 8.1
Nos clientes Windows, bastará engadir con normalidade o equipo ao dominio. Unha vez feito esto será un membro do dominio do xeito habitual.
Ferramentas de Administración do Dominio
Para administrar o servidor samba podemos facer uso das ferramentas de administración de Windows (RSAT). Estas ferramentas se poden descargar nos seguinte sitios:
si non se atopan xa no sistema. Logo podemos activalas en “Programas e Características”.
Instalación dun Cliente Debian Jessie
Uniremos o equipo adclient.iesrodeira.com ao dominio, e iniciaremos sesións cos usuarios dados de alta no mesmo.
En primeiro lugar, debemos asegurarnos que o noso /etc/hosts, e o hostname conteñen as entradas correctas. No noso caso:
/etc/hostname
adclient.iesrodeira.com
/etc/hosts
127.0.0.1 localhost
127.0.1.1 adclient.local
172.20.33.33 adclient.asir.iesrodeira.com adclient
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
/etc/resolv.conf
domain iesrodeira.com
#radagast.iesrodeira.com
nameserver 172.20.0.7
Si queremos que un cliente Linux (no noso caso Debian Jessie) poida facer uso da infraestructura de Active Directory, precisamos o seguinte: ntp, krb5-user, libpam-krb5, acl, winbind, libnss-winbind, libpam-winbind e samba.
Procederemos á instalación de krb5-user e samba....
#Realm: ASIR.IESRODEIRA.COM, kdc: radagast.asir.iesrodeira.com, administrative server: radagast.asir.iesrodeira.com
apt-get install krb5-user samba
Precisaremos tamén crear un arquivo smb.conf co seguinte contido:
[global]
netbios name=adclient
security = ads
realm = asir.iesrodeira.com
password server = radagast.asir.iesrodeira.com
workgroup = ASIR
template homedir = /home/%D/%U
template shell = /bin/bash
client use spnego = yes
client ntlmv2 auth = yes
encrypt passwords = yes
domain master = no
local master = no
preferred master = no
os level = 0
idmap config ASIR:backend = ad
idmap config ASIR:schema_mode = rfc2307
winbind nss info = rfc2307
winbind enum users = yes
winbind enum groups = yes
winbind trusted domains only = no
#winbind use default domain = yes
Unimos o equipo ao dominio e comprobamos:
net ads join -U Administrator -k
#Comprobamos
net ads testjoin
host -t A adclient.iesrodeira.com.
Configuramos a autenticación:
apt-get install libpam-krb5 acl winbind libnss-winbind libpam-winbind
#Autenticación. Engadimos winbind a group e passwd en nsswitch.conf
vim /etc/nsswitch.conf
/etc/init.d/winbind stop
/etc/init.d/samba restart
/etc/init.d/winbind start
#Comprobamos
wbinfo -u
wbinfo -g
getent passwd
getent groups
E importante a sincronización con NTP. Podemos sincronizalo cos servidores de sincronización da rede gandalf.iesrodeira.com e earendil.iesrodeira.com, ou convertir o controlador de dominio en un servidor NTP e sincronizalo con él.
Configuraremos pam_mkhomedir e, si queremos, pam_mount e pam_exec. Engadimos session required pam_mkhomedir.so skel=/etc/skel umask=0022 ao ficheiro /etc/pam.d/common-session.