Active Directory Domain Controller con Samba4 + Bind9 y Delegación de zona #Actualizado

Samba4 + DLZ, o Samba4 con delegación de zona

Instalar un PDC con delegación de zona con Samba4 es tan fácil como seguir el siguiente procedimiento:

Nota: Asumimos que usted posee una máquina virtual/contenedor de proxmox actualizado con dist-upgrade, si no es así, por favor hágalo antes de comenzar.

Nota2: En este entorno se utilizará como ejemplo el dominio: «INUTIL.CU», y el password de administración será: «Admin*123″

0 → Instalar utilitarios necesarios

# apt install mc dnsutils net-tools openssh-server
1 → Editar el archivo /etc/hosts y dejarlo de la siguiente manera, en dependencia de los nombres de host que tengamos.

# nano /etc/hosts

127.0.0.1 pdc.inutil.cu pdc
127.0.0.1 tiempo.inutil.cu tiempo
# Our servers
10.10.1.1 gw.inutil.cu gw
10.10.1.2 dns.inutil.cu dns
10.10.1.3 mail.inutil.cu mail
10.10.1.5 proxy.inutil.cu proxy
10.10.1.6 jabber.inutil.cu jabber
10.10.1.7 mx.inutil.cu mx
2 → Configuración de la red

# nano /etc/network/interfaces

# The loopback network interface
auto lo eth0
iface lo inet loopback

iface eth0 inet static
address 10.10.1.4
netmask 255.255.255.0
gateway 10.10.1.1
dns-nameservers 127.0.0.1
dns-domain inutil.cu
dns-search inutil.cu
allow-hotplug eth0
Y el resolv.conf:

# nano /etc/resolv.conf

search inutil.cu
domain inutil.cu
nameserver 127.0.0.1
nameserver 10.10.1.2
3 → Instalar servicio DHCP

# apt install isc-dhcp-server
Editar /etc/default/isc-dhcp-server de la siguiente manera:

# nano /etc/default/isc-dhcp-server

# Defaults for isc-dhcp-server (sourced by /etc/init.d/isc-dhcp-server)

# Path to dhcpd’s config file (default: /etc/dhcp/dhcpd.conf).
DHCPDv4_CONF=/etc/dhcp/dhcpd.conf
#DHCPDv6_CONF=/etc/dhcp/dhcpd6.conf

# Path to dhcpd’s PID file (default: /var/run/dhcpd.pid).
DHCPDv4_PID=/var/run/dhcpd.pid
#DHCPDv6_PID=/var/run/dhcpd6.pid

# Additional options to start dhcpd with.
# Don’t use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead
#OPTIONS=»»

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. «eth0 eth1″.
INTERFACESv4=»eth0″
INTERFACESv6=»»
Guardar los cambios, y hacer un backup de dhcpd.conf.

# mv /etc/dhcp/dhcpd.conf{,.orig}
Crear archivo nuevo dhcpd.conf y dejarlo de la siguiente manera:

# nano /etc/dhcp/dhcpd.conf

autoritative;
ddns-update-style none;
default-lease-time 600;
log-facility local7;

subnet 10.10.1.0 netmask 255.255.255.0 {
option domain-name «inutil.cu»;
option domain-name-servers 10.10.1.4;
range 10.10.1.150 10.10.1.230;
option routers 10.10.1.253;
option subnet-mask 255.255.255.0;
option broadcast-address 10.10.1.255;
option netbios-name-servers 10.10.1.4;
option netbios-node-type 8;
get-lease-hostnames true;
use-host-decl-names true;
option ntp-servers 10.10.1.4;
deny unknown-clients;
}
# Nota: Podemos añadir cuantas PCs necesitemos basados en su MAC address
host test {
option host-name «test.inutil.cu»;
hardware ethernet 00:0c:29:ab:b1:62;
fixed-address 10.10.1.151;
}
Para probar que la configuración está bien ejecutamos:

# dhcpd -t
Debe decir algo así:

Internet Systems Consortium DHCP Server 4.3.5
Copyright 2004-2016 Internet Systems Consortium.
All rights reserved.
For info, please visit https://www.isc.org/software/dhcp/
Config file: /etc/dhcp/dhcpd.conf
Database file: /var/lib/dhcp/dhcpd.leases
PID file: /var/run/dhcpd.pid
Si el mensaje es distinto, tenemos algún error en la configuración y debemos revisarla nuevamente.

Reiniciando el servicio y chequear su estado:

# systemctl restart isc-dhcp-server
# systemctl status isc-dhcp-server
4 → Instalar servicio NTP

# apt install ntp
Editar el archivo de configuración y adaptarlo a nuestras necesidades, pero debemos poner obligatoriamente:

# nano /etc/ntp.conf

broadcast 10.10.1.255
Guardamos y reiniciamos el servicio ntp. Recordemos que después de compilar samba debemos hacer algunos ajustes a ntp, lo cual veremos más adelante.

# /etc/init.d/ntp restart
Antes de continuar debemos deshabilitar IPv6 añadiendo al final del fichero /etc/sysctl.conf:

# nano /etc/sysctl.conf
Deshabilitando IPv6

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
net.ipv6.conf.eth0.disable_ipv6 = 1
Ejecutar:

# sysctl -p
Y reiniciamos el sistema.

# reboot
Ahora necesitaremos algunos paquetes que intervienen en el proceso de compilación de Samba 4 y Bind 9.

# apt install acl attr autoconf bison nettle-dev build-essential debhelper dnsutils docbook-xml docbook-xsl flex gdb krb5-user libacl1-dev libaio-dev libattr1-dev libblkid-dev libbsd-dev libcap-dev libcups2-dev libgnutls28-dev libjson-perl libldap2-dev libncurses5-dev libpam0g-dev libparse-yapp-perl libpopt-dev libreadline-dev perl perl-modules pkg-config python-all-dev python-dev python-dnspython python-crypto python-gpgme python-markdown python3-markdown python3-dev lmdb-utils xsltproc zlib1g-dev rcconf ccze mlocate telnet libssl-dev libgeoip-dev libkrb5-dev libxml2-dev libdb-dev liblmdb-dev libjansson-dev libgpgme-dev libarchive-dev ldb-tools libldb-dev libldb1 python-ldb python-ldb-dev python-ply
Imágenes de kerberos:

0- DOMINIO.CU
1- pdc.tudominio.cu
2- pdc.tudominio.cu
5 → Compilando y configurando Bind 9

# cd /opt
# wget -c https://ftp.isc.org/isc/bind9/cur/9.11/bind-9.11.5-P1.tar.gz

# groupadd -g 23 bind
# mkdir -p /var/run/named
# useradd -g bind -u 23 -d /var/run/named -M -s /sbin/nologin bind
# chown bind:bind /var/run/named

# tar -zxvf bind-9.11.5-P1.tar.gz
# cd bind-9.11.5-P1

./configure –prefix=/usr –mandir=/usr/share/man –infodir=/usr/share/info –sysconfdir=/etc/bind –localstatedir=/var –enable-threads –enable-largefile –with-libtool –enable-shared –enable-fixed-rrset –enable-static –with-openssl=/usr –with-gssapi=/usr –with-gnu-ld –with-dlz-bdb=yes –with-dlz-filesystem=yes –with-dlz-ldap –with-dlz-stub=yes –with-dlopen=yes –with-randomdev=/dev/urandom –with-geoip=/usr –with-ecdsa –with-libxml2 CFLAGS=-fno-strict-aliasing

# make
# make install

# mkdir /var/log/bind9
# chown bind:bind /var/log/bind9
# cd /var/log/bind9
# touch bind.err bind.info bind.warn bind.log
# chmod -R 664 *; chown -R root:bind *

# mkdir -p /var/cache/bind
# chmod 775 /var/cache/bind; chown -R bind:bind /var/cache/bind

# cd /etc/bind/
# rndc-confgen -a
# chmod 644 /etc/bind/rndc.key
# chown bind /etc/bind/rndc.key
Creamos el archivo named.conf con el siguiente contenido:

controls {
inet 127.0.0.1 port 953
allow { 127.0.0.1; } keys { «rndc-key»; };
};
options {
listen-on-v6 { none; };
auth-nxdomain yes;
allow-query { any; };
allow-update { any; };
dnssec-enable no;
dnssec-validation no;
empty-zones-enable no;
notify yes;
also-notify { 10.10.1.2;};
//allow-transfer { 10.10.1.3;}; // si va a ser transferencia de zona a otro servidor de dns esclavo
notify-source 10.10.1.2;
transfer-source 10.10.1.2;
recursion yes;
allow-recursion { any; };
forwarders { 200.55.128.3; 200.55.128.4;};
tkey-gssapi-keytab «/var/lib/samba/bind-dns/dns.keytab»;
directory «/var/cache/bind»;
};
include «/var/lib/samba/bind-dns/named.conf»;
include «/etc/bind/rndc.key»;

logging {
channel err {
file «/var/log/bind9/bind.err»;
severity error;
print-time yes;
print-category yes;
print-severity yes;
};
channel info {
file «/var/log/bind9/bind.info»;
severity info;
print-time yes;
print-category yes;
print-severity yes;
};
channel warn {
file «/var/log/bind9/bind.warn»;
severity warning;
print-time yes;
print-category yes;
print-severity yes;
};
channel log {
file «/var/log/bind9/bind.log»;
severity debug 1;
print-time yes;
print-category yes;
print-severity yes;
};
category default { err; info; warn; log; };
};
Para chequear que la configuración esta bien:

# named-checkconf
Y pasamos a compilar Samba4 pues necesitaremos hacer algunos arreglos a bind contra samba antes de continuar.

6 → Compilando y configurando Samba 4

Descargar:

# cd /opt
# wget -c https://download.samba.org/pub/samba/samba-latest.tar.gz

# tar -zxvf samba-latest.tar.gz
# cd samba-latest

# ./configure -p –enable-fhs –prefix=/usr –sysconfdir=/etc –localstatedir=/var –enable-debug –enable-selftest –cross-answers –cross-execute –disable-cups –disable-iprint –sbindir=/usr/sbin –mandir=/usr/share/man -j4 -v -p –enable-selftest –without-systemd –with-json-audit –enable-gnutls

# make
# make install
Probando las configuraciones:

# smbd -b | grep «CONFIGFILE»
CONFIGFILE: /etc/samba/smb.conf
# smbd -b | egrep «LOCKDIR|STATEDIR|CACHEDIR|PRIVATE_DIR»
LOCKDIR: /var/lock/samba
STATEDIR: /var/lib/samba
CACHEDIR: /var/cache/samba
PRIVATE_DIR: /var/lib/samba/private
Provisionamos el directorio

# samba-tool domain provision –use-rfc2307 –interactive
O podemos usar:

samba-tool domain provision –dns-backend=BIND9_DLZ –realm=INUTIL.CU \
–domain=INUTIL –server-role=dc –function-level=2008_R2 \
–adminpass=Admin*123

# samba-tool domain provision –use-rfc2307 –interactive
Realm [INUTIL.CU]:
Domain [INUTIL]:
Server Role (dc, member, standalone) [dc]:
DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE) [SAMBA_INTERNAL]: BIND9_DLZ
Administrator password:
Retype password:
Looking up IPv4 addresses
Looking up IPv6 addresses
No IPv6 address will be assigned
Setting up share.ldb
Setting up secrets.ldb
Setting up the registry
Setting up the privileges database
Setting up idmap db
Setting up SAM db
Setting up sam.ldb partitions and settings
Setting up sam.ldb rootDSE
Pre-loading the Samba 4 and AD schema
Adding DomainDN: DC=inutil,DC=cu
Adding configuration container
Setting up sam.ldb schema
Setting up sam.ldb configuration data
Setting up display specifiers
Modifying display specifiers
Adding users container
Modifying users container
Adding computers container
Modifying computers container
Setting up sam.ldb data
Setting up well known security principals
Setting up sam.ldb users and groups
Setting up self join
Adding DNS accounts
Creating CN=MicrosoftDNS,CN=System,DC=inutil,DC=cu
Creating DomainDnsZones and ForestDnsZones partitions
Populating DomainDnsZones and ForestDnsZones partitions
See /var/lib/samba/private/named.conf for an example configuration include file for BIND
and /var/lib/samba/private/named.txt for further documentation required for secure DNS updates
Setting up sam.ldb rootDSE marking as synchronized
Fixing provision GUIDs
A Kerberos configuration suitable for Samba AD has been generated at /var/lib/samba/private/krb5.conf
Setting up fake yp server settings
Once the above files are installed, your Samba AD server will be ready to use
Server Role: active directory domain controller
Hostname: pdc
NetBIOS Domain: INUTIL
DNS Domain: inutil.cu
DOMAIN SID: S-1-5-21-1746660850-1884490242-2990293921
Permisos a la configuración de bind en la carpeta de samba:

# chgrp bind /var/lib/samba/private/dns.keytab
# chmod g+r /var/lib/samba/private/dns.keytab
Copiar el krb5.conf del samba4 al sistema

# mv /etc/krb5.conf{,.orig}
# cp /var/lib/samba/private/krb5.conf /etc/
Creamos el archivo:

# nano /var/lib/samba/private/named.conf.update.static
Con el siguiente contenido:

grant *.inutil.cu wildcard *.1.10.10.in-addr.arpa. PTR TXT;
grant local-ddns zonesub any;
Creamos la carpeta de samba:

# mkdir /var/run/samba
Cambiamos el propietario y el grupo a /var/lib/samba/bind-dns:

# chown -R root:bind /var/lib/samba/bind-dns
# chmod 775 -R /var/lib/samba/bind-dns
# mkdir -p /var/run/named
# chmod 775 -R /var/run/named
# chown root:bind /var/run/named
Y la carpeta de NTP:

# mkdir /var/lib/samba/ntp_signd
# chgrp ntp /var/lib/samba/ntp_signd/
# chmod 750 /var/lib/samba/ntp_signd/
Ahora copiamos a /etc/init.d/ los scripts de inicio de bind9 y samba. Los cuales extraeremos de los respectivos paquetes en el repositorio.
Después de copiarlos a /etc/init.d debemos hacerlos ejecutables y ponerlos a que inicien con el sistema.

# cd /var/cache/apt/archives

# apt install -dy samba bind9

# dpkg -x samba_2%3a4.5.12+dfsg-2+deb9u4_amd64.deb .
# dpkg -x bind9_1%3a9.10.3.dfsg.P4-12.3+deb9u4_amd64.deb .

# cd etc/init.d/
# chmod -R 755 *
# mv * /etc/init.d/

# cd /etc/init.d
# update-rc.d bind9 defaults
# update-rc.d samba defaults
# update-rc.d samba-ad-dc defaults
# update-rc.d nmbd defaults
# update-rc.d smbd defaults
7 → Adaptando un poco más el servicio NTP a trabajar con Samba4

Editar el archivo de configuración y adaptarlo a nuestras necesidades, pero debemos poner obligatoriamente:

# nano/etc/ntp.conf
logfile /var/log/ntpd.log
broadcast 10.10.1.255
ntpsigndsocket /var/lib/samba/ntp_signd/

# Comentamos las lineas restrict y ponemos así solamente la que dice:

restrict -4 default kod notrap nomodify nopeer noquery mssntp

restrict default mssntp
restrict tiempo.empresa.cu mask 255.255.255.255 nomodify notrap nopeer noquery
# Donde tiempo.empresa.cu es el servidor de tiempo de tu empresa
Y reiniciamos el sistema, para comprobar de que iniciaron todos los scripts bien:

# reboot
Ahora probaremos si funciona:

# kinit administrator@INUTIL.CU
Password for administrator@INUTIL.CU:
Warning: Your password will expire in 41 days on Sat 07 Apr 2018 07:56:41 PM CDT
Ejecutamos klist:

# klist

Ticket cache: FILE:/tmp/krb5cc_0
Default principal: administrator@INUTIL.CU

Valid starting Expires Service principal
02/24/2018 19:38:37 02/25/2018 05:38:37 krbtgt/INUTIL.CU@INUTIL.CU
renew until 02/25/2018 19:38:32
Ahora crearemos la zona inversa del DNS:

# samba-tool dns zonecreate addc 1.10.10.in-addr.arpa
# samba-tool dns add addc 1.10.10.in-addr.arpa 4 PTR addc.inutil.cu
# samba-tool dns add localhost 1.10.10.in-addr.arpa 4 PTR inutil.cu.
Record del servidor dns:

# samba-tool dns add localhost inutil.cu dns A 10.10.1.2 -U ‘administrator’%’Admin*123’
# samba-tool dns add localhost 1.10.10.in-addr.arpa 2 PTR dns.inutil.cu. -U ‘administrator’%’Admin*123’
Record del servidor de correo:

# samba-tool dns add localhost inutil.cu mail A 10.10.1.3 -U ‘administrator’%’Admin*123’
# samba-tool dns add localhost 1.10.10.in-addr.arpa 3 PTR mail.inutil.cu. -U ‘administrator’%’Admin*123’
# samba-tool dns add localhost inutil.cu @ MX ‘mail.inutil.cu 10’ -U ‘administrator’%’Admin*123’
# samba-tool dns add localhost 1.10.10.in-addr.arpa @ MX ‘mail.inutil.cu 10’ -U ‘administrator’%’Admin*123’
Record del servidor proxy:

# samba-tool dns add localhost inutil.cu proxy A 10.10.1.5 -U ‘administrator’%’Admin*123’
# samba-tool dns add localhost 1.10.10.in-addr.arpa 5 PTR proxy.inutil.cu. -U ‘administrator’%’Admin*123’
Record del servidor jabber:

# samba-tool dns add localhost inutil.cu jabber A 10.10.1.6 -U ‘administrator’%’Admin*123’
# samba-tool dns add localhost 1.10.10.in-addr.arpa 6 PTR jabber.inutil.cu. -U ‘Administrator’%’Admin*123’
Podemos añadir cuantos records necesitemos, por ahora solo añadiremos dns, correo, proxy y jabber por ahora.

Y probamos:

# samba-tool dns query 127.0.0.1 inutil.cu @ ALL
Password for [administrator@INUTIL.CU]:
Name=, Records=3, Children=0
SOA: serial=1, refresh=900, retry=600, expire=86400, minttl=3600, ns=pdc.inutil.cu., email=hostmaster.inutil.cu. (flags=600000f0, serial=1, ttl=3600)
NS: pdc.inutil.cu. (flags=600000f0, serial=1, ttl=900)
A: 10.10.1.4 (flags=600000f0, serial=1, ttl=900)
Name=_msdcs, Records=0, Children=0
Name=_sites, Records=0, Children=1
Name=_tcp, Records=0, Children=4
Name=_udp, Records=0, Children=2
Name=DomainDnsZones, Records=0, Children=2
Name=ForestDnsZones, Records=0, Children=2
Name=pdc, Records=1, Children=0
A: 10.10.1.4 (flags=f0, serial=1, ttl=900)
Ahora debemos actualizar el fichero de configuración de Samba 4, y dejarlo de la siguiente manera:

# Global parameters
[global]
netbios name = PDC
realm = INUTIL.CU
server role = active directory domain controller
server services = s3fs, rpc, nbt, wrepl, ldap, cldap, kdc, drepl, winbindd, ntp_signd, kcc, dnsupdate
workgroup = INUTIL
idmap_ldb:use rfc2307 = yes
nsupdate command = /usr/bin/nsupdate -g
ldap server require strong auth = No
log level = 1
log file = /var/log/samba/samba.log
max log size = 50

[netlogon]
path = /var/lib/samba/sysvol/inutil.cu/scripts
read only = No

[sysvol]
path = /var/lib/samba/sysvol
read only = No
La directiva “nsupdate command” lo que hace es utilizar el dns dinámico. Ahora comprobamos si actualiza dinámicamente el dns:

# samba_dnsupdate –verbose –all-names
Después de reiniciar ejecutamos netstat para ver si todo ocurrió bien:

# netstat -lptun

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:464 0.0.0.0:* LISTEN 494/samba
tcp 0 0 10.10.1.4:53 0.0.0.0:* LISTEN 449/named
tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 449/named
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 446/sshd
tcp 0 0 0.0.0.0:88 0.0.0.0:* LISTEN 494/samba
tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 449/named
tcp 0 0 0.0.0.0:636 0.0.0.0:* LISTEN 491/samba
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 493/smbd
tcp 0 0 0.0.0.0:49152 0.0.0.0:* LISTEN 487/samba
tcp 0 0 0.0.0.0:49153 0.0.0.0:* LISTEN 487/samba
tcp 0 0 0.0.0.0:49154 0.0.0.0:* LISTEN 487/samba
tcp 0 0 0.0.0.0:3268 0.0.0.0:* LISTEN 491/samba
tcp 0 0 0.0.0.0:3269 0.0.0.0:* LISTEN 491/samba
tcp 0 0 0.0.0.0:389 0.0.0.0:* LISTEN 491/samba
tcp 0 0 0.0.0.0:135 0.0.0.0:* LISTEN 487/samba
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 493/smbd
tcp6 0 0 :::464 :::* LISTEN 494/samba
tcp6 0 0 :::22 :::* LISTEN 446/sshd
tcp6 0 0 :::88 :::* LISTEN 494/samba
tcp6 0 0 :::636 :::* LISTEN 491/samba
tcp6 0 0 :::445 :::* LISTEN 493/smbd
tcp6 0 0 :::49152 :::* LISTEN 487/samba
tcp6 0 0 :::49153 :::* LISTEN 487/samba
tcp6 0 0 :::49154 :::* LISTEN 487/samba
tcp6 0 0 :::3268 :::* LISTEN 491/samba
tcp6 0 0 :::3269 :::* LISTEN 491/samba
tcp6 0 0 :::389 :::* LISTEN 491/samba
tcp6 0 0 :::135 :::* LISTEN 487/samba
tcp6 0 0 :::139 :::* LISTEN 493/smbd
udp 0 0 10.10.1.4:53 0.0.0.0:* 449/named
udp 0 0 127.0.0.1:53 0.0.0.0:* 449/named
udp 0 0 0.0.0.0:67 0.0.0.0:* 1965/dhcpd
udp 0 0 10.10.1.4:88 0.0.0.0:* 494/samba
udp 0 0 0.0.0.0:88 0.0.0.0:* 494/samba
udp 0 0 10.10.1.4:123 0.0.0.0:* 444/ntpd
udp 0 0 127.0.0.1:123 0.0.0.0:* 444/ntpd
udp 0 0 0.0.0.0:123 0.0.0.0:* 444/ntpd
udp 0 0 10.10.1.4:137 0.0.0.0:* 488/samba
udp 0 0 10.10.1.255:137 0.0.0.0:* 488/samba
udp 0 0 0.0.0.0:137 0.0.0.0:* 488/samba
udp 0 0 10.10.1.4:138 0.0.0.0:* 488/samba
udp 0 0 10.10.1.255:138 0.0.0.0:* 488/samba
udp 0 0 0.0.0.0:138 0.0.0.0:* 488/samba
udp 0 0 10.10.1.4:389 0.0.0.0:* 492/samba
udp 0 0 0.0.0.0:389 0.0.0.0:* 492/samba
udp 0 0 10.10.1.4:464 0.0.0.0:* 494/samba
udp 0 0 0.0.0.0:464 0.0.0.0:* 494/samba
udp 0 0 0.0.0.0:47625 0.0.0.0:* 1965/dhcpd
udp6 0 0 :::88 :::* 494/samba
udp6 0 0 :::123 :::* 444/ntpd
udp6 0 0 :::10510 :::* 1965/dhcpd
udp6 0 0 :::389 :::* 492/samba
udp6 0 0 :::464 :::* 494/samba
8 → Ahora veamos algunas opciones

Nivel funcional del dominio:

# samba-tool domain level show
Si deseamos eliminar la complejidad de la contraseña:

# samba-tool domain passwordsettings set –complexity=off
Cantidad de caractéres mínimos para la contraseña

# samba-tool domain passwordsettings set –min-pwd-length=6
Añadir un usuario al AD de samba es tan sencillo como:

# samba-tool user create nombre-usuario password OPCIONES
Creando un usuario como ejemplo:

# samba-tool user create leslie.leon password –given-name=»Leslie» –surname=»León Sinclair» –department=»Dpto Informatica» –mail=leslie.leon@inutil.cu
Si por alguna razon necesitamos deshabilitar a algún usuario:

# samba-tool user disable pepe.perez
O habilitarlo:

# samba-tool user enable pepe.perez
Ahora crearemos un usuario que manejará las conexiones entre el AD y los servicios:

# samba-tool user create adminad ‘admin+123**’
Que la cuenta no expire:

# samba-tool user setexpiry adminad –noexpiry
Lo agregamos a todos los grupos del AD:

# samba-tool group addmembers «administrators» adminad
# samba-tool group addmembers «Domain Admins» adminad
# samba-tool group addmembers «schema admins» adminad
# samba-tool group addmembers «enterprise admins» adminad
# samba-tool group addmembers «group policy creator owners» adminad
Para los que requieran acceso a internet crearemos un grupo:

# samba-tool group add navegacion_internet
# samba-tool group addmembers «navegacion_internet» leslie.leon
Para los que no requieran acceso a internet crearemos otro grupo:

# samba-tool group add navegacion_nacional
# samba-tool group addmembers «navegacion_nacional» pepe.perez
Lo mismo realizaremos para el correo:

# samba-tool group add correo_internet
# samba-tool group addmembers «correo_internet» leslie.leon

# samba-tool group add correo_nacional
# samba-tool group addmembers «correo_nacional» pepe.perez
Otras opciones

Si deseamos cambiar el password del usuario y que él lo defina en el próximo login:

# samba-tool user setpassword pepe –newpassword=’Passw0rd’ –must-change-at-next-login
Para ver todos los usuarios del dominio:

# wbinfo -u
Para ver todos los grupos del dominio:

# wbinfo -g
Y listo, a unir máquinas de windows/linux al dominio.

15 comentarios de “Active Directory Domain Controller con Samba4 + Bind9 y Delegación de zona #Actualizado

  1. Hola Leslie muy bueno el manual pero seria bueno poner tambien como upgradear de samba 4.8.8 a samba 4.9.0 o superior pues a la hora de upgradear te pide instalar lmdb esto esta en los Features de la version 4.9.0 asi New experimental LMDB LDB backend y como ya tengo samba montado, lo logico es ugradear no hacerlo desde cero, saludos.

    PD: Esto mimso te lo puse en la pagina de sysadmin.

    • Haciéndolo de cero pincha. Haciéndolo con samba ya instalado también pincha, sobre-escribe el samba instalado. Eso que me dices de LMDB se resuelve con:
      apt install libdb-dev liblmdb-dev
      Saludos.

  2. BRO
    yo lo realice y funciona estupendamente
    samba-4.9.4.tar
    bind-9.11.5-P1.tar
    debian 9.6

    todo ok….
    FELICIDADES HERMANO X ESTE 2019

  3. Saludos

    Me esta dando un problema el bind9.11.5 cuando lo inicio.
    Starting domain name service…: bind9/usr/local/sbin/named: error while loading shared libraries: liblwres.so.161: cannot open shared object file: No such file or directory

    antes todo estoy actualizando samba4 y también el bind9

  4. Prueba a hacerlo desde cero, aunque ese error me parece que lo que tienes es problemas de dependencias, o algun vinculo de sistema perdido. Revisa en que parte es… Mi recomendación es que lo hagas de cero, asi te evitas posibles errores.

  5. Saludos, como gestionan politicas de dominio ??? O sea, cosas basicas que pide la OSRI como apagar la pantalla a los x minutos, a las 3 horas hibernar la pc, fondo de pantalla institucional, etc???

      • Saludos, me podrias dar mas detalles por favor?? Tengo entendido que RSAT es para administracion de servidores windows, y solo corre desde windows. Se puede ejecutar con wine??? Tiene las mismas ventajas de las GPO del directorio activo de window server???

        • RSAT es para windows, para administrar un samba4 solo debes instalar y configurar el dominio, instalar un Windows, el que más odio te dé, y encima de ese windows, unnirlo al dominio e instalar las Herramientas RSAT. Y ya con eso hecho, puedes administrar el samba4, es decir, el controlador de dominio[configurado con samba4, obviamente] desde windows como si fuera un Windows Server más…

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *