Está en la página 1de 5

Bitácora

Miguel Angel Coa Morales


 About

 Archives

 Contact

SAMBA4.localo Controlador
De Dominio A/D
Aug 20th, 2014
Para Centos 6 tenemos que complilar las fuentes para instalar
Samba4:

Instalar paqueteria necesaria

[root@samba ~]$ yum -y install gcc make wget python-devel gnutls-devel


1 openssl-devel libacl-devel krb5-server krb5-libs krb5-workstation bind
bind-libs bind-utils

Descargamos y lo compilamos

1 [root@samba ~]$ git clone git://git.samba.org/samba.git samba4


2 [root@samba ~]$ cd samba4
3 [root@samba ~]$ ./configure --enable-selftest
4 [root@samba ~]$ make && make install #Esto demora bastante
Terminado lo anterior y si no arroja ningún error, tendremos in-
stalado Samba4. Ahora necesitamos configurar el controlador
de dominio, lo primiero que tenemos que hacer es el Provision-
ing para el nuevo dominio.
Unas cosas antes a considerar: Configuramos el hostname en la
tabla hosts /etc/hosts
[root@samba ~]$ cat /etc/hosts
1 127.0.0.1 localhost localhost.localdomain localhost4
2 localhost4.localdomain4
3 ::1 localhost localhost.localdomain localhost6
4 localhost6.localdomain6
5
10.10.0.200 samba.example.local samba
Y el servidor de nombres en el /etc/resolv.conf
1 [root@samba ~]$ cat /etc/resolv.conf
2 search example.local
3 domain example.local
4 nameserver 127.0.0.1
Esto es necesario para los servicios Samba y Kerberos, además,
tenemos que configurar el parámetro dns forwarder dentro del
archivo de configuración del servicio (esto si no lo hacemos
dentro del proceso del provisionamiento).
NOTA: El servidor tiene que tener correctamente sincronizada la
hora (utilizar NTP)

Provisionando el nuevo dominio

1 /usr/local/samba/bin/samba-tool domain provision

Y completamos con los datos solicitados

Realm [EXAMPLE.LOCAL]: (press Enter)


1 Domain [EXAMPLE]: (press Enter) #CON MAYUSCULAS
2 Server Role (dc, member, standalone) [dc]: (press Enter)
3 DNS backend (SAMBA_INTERNAL, BIND9_FLATFILE, BIND9_DLZ, NONE)
4 [SAMBA_INTERNAL]: (press Enter)
5 DNS forwarder IP address (write 'none' to disable forwarding) [10.10.0.1]:
6 10.10.0.1
7 Administrator password: <set_password>
Retype password:

Con todo el proceso anterior realizado, al final de todo veremos


algo como lo siguiente

1 Fixing provision GUIDs


2 A Kerberos configuration suitable for Samba 4 has been generated at
3 /usr/local/samba/private/krb5.conf
Once the above files are installed, your Samba4 server will be ready to use
4
Server Role: active directory domain controller
5 Hostname: samba
6 NetBIOS Domain: EXAMPLE
7 DNS Domain: example.local
8 DOMAIN SID: S-1-5-21-3438009546-7273XXXX-XXXXXXXXX

Y luego reiniciamos el servidor

El path de instalación de Samaba4 queda


bajo /usr/local/samba/ los mismo sucede con los bin-
arios /usr/local/samba/bin/ y /usr/local/samba/sbin/ para lo cual
vamos a configurar la variable $PATH en nuestro bash.
1 [root@samba ~]# vim ~/.bashrc
2 #Dentro colocamos
3 export PATH="/usr/local/samba/sbin:/usr/local/samba/bin:$PATH"

Para ver que quedó todo en orden ejecutamos

1 [root@samba ~]# samba -V


2 Version 4.1.11
3 [root@samba ~]# smbclient -V
4 Version 4.1.11
Chequeamos la configuración local al Samba y los procesos cor-
riendo

1 [root@samba ~]# ps -ef | grep samba


2 root 23010 1 1 12:32 ? 00:00:00 samba
3 root 23011 23010 0 12:32 ? 00:00:00 samba
4 root 23012 23010 0 12:32 ? 00:00:00 samba
root 23013 23010 0 12:32 ? 00:00:00 samba
5 root 23014 23010 0 12:32 ? 00:00:00 samba
6 root 23015 23011 1 12:32 ? 00:00:00 /usr/local/samba/sbin/smbd
7 -D --option=server role check:inhibit=yes --foreground
8 root 23016 23010 2 12:32 ? 00:00:00 samba
9 root 23017 23010 0 12:32 ? 00:00:00 samba
1
2 [root@samba ~]# /usr/local/samba/bin/smbclient -L localhost -U%
Domain=[EXAMPLE] OS=[Unix] Server=[Samba 4.1.11]
3
4 Sharename Type Comment
5 --------- ---- -------
6 netlogon Disk
7 sysvol Disk
8 IPC$ IPC IPC Service (Samba 4.1.11)
9 Domain=[EXAMPLE] OS=[Unix] Server=[Samba 4.1.11]
10
11 Server Comment
--------- -------
12
13 Workgroup Master
14 --------- -------
15
El proceso de configuración del Samba va a crear un archivo
kerberos de la configuración relaizada, tenemos que enlazarlo al
directorio /etc
1 [root@samba ~]$ mv /etc/krb5.conf /etc/krb5.conf.ORG
2 [root@samba ~]$ ln -s /usr/local/samba/private/krb5.conf /etc/

Comprobamos el funcionamiento en kerberos

1 [root@samba ~]# host -t SRV _ldap._tcp.example.local.


2 _ldap._tcp.example.local has SRV record 0 100 389 samba.example.local.

Comprobamos la autentificación contra kerberos

1 [root@samba ~]# kinit administrator@EXAMPLE.LOCAL


2 Password for administrator@EXAMPLE.LOCAL:
3 Warning: Your password will expire in 41 days on Wed Oct 1 16:28:11 2014

Si por el contrario nos arroja algún error, tenemos que ver las
configuraciones realizadas o reconfigurar el servicio samba

Script de arranque

Para el control del servicio creamos el siguiente script

1 [root@samba ~]$ cat /etc/init.d/samba4


2 #! /bin/bash
3 #
# samba4 Bring up/down samba4 service
4 #
5 # chkconfig: - 90 10
6 # description: Activates/Deactivates all samba4 interfaces configured to#
7 # chkconfig: - 90 10
# description: Activates/Deactivates all samba4 interfaces configured to
8 # start at boot time.
9 #
10 ### BEGIN INIT INFO
11 # Provides:
12 # Should-Start:
13 # Short-Description: Bring up/down samba4
14 # Description: Bring up/down samba4
15 ### END INIT INFO
16 # Source function library.
. /etc/init.d/functions
17
18 if [ -f /etc/sysconfig/samba4 ]; then
19 . /etc/sysconfig/samba4
20 fi
21
22 CWD=$(pwd)
23 prog="samba4"
24
start() {
25
# Attach irda device
26 echo -n $"Starting $prog: "
27 /usr/local/samba/sbin/samba
28 sleep 2
29 if ps ax | grep -v "grep" | grep -q /samba/sbin/samba ; then success
30 $"samba4 startup"; else failure $"samba4 startup"; fi
31 echo
32 }
33 stop() {
# Stop service.
34
echo -n $"Shutting down $prog: "
35 killall samba
36 sleep 2
37 if ps ax | grep -v "grep" | grep -q /samba/sbin/samba ; then failure
38 $"samba4 shutdown"; else success $"samba4 shutdown"; fi
39 echo
40 }
41 status() {
42 /usr/local/samba/sbin/samba --show-build
}
43
44
45 # See how we were called.
case "$1" in
46
start)
47 start
48 ;;
49 stop)
50 stop
51 ;;
52 status)
53 status irattach
54 ;;
restart|reload)
55 stop
56 start
57 ;;
58 *)
59 echo $"Usage: $0 {start|stop|restart|status}"
60 exit 1
61 esac
62
63 exit 0
64
65
66
67
68

Configuramos los permisos

1 [root@samba ~]$ chmod +x /etc/init.d/samba4

Finalmente dejamos los servicios para correr por defecto

1 [root@samba ~]$ chkconfig --levels 235 samba4 on


2 [root@samba ~]$ chkconfig --levels 235 ntp on
3 [root@samba ~]$ chkconfig --levels 235 named on

Ahora ya tenemos configurado el Samba, desde ahora podemos


empezar a conectar a los usuarios.

Uniendo una máquina al dominio

Getión remota del controlado de dominio (Remote Server


Administration Tool)

Para la gestión remota del controlador de dominio descar-


gamos Remote Server Administration Tool desde acá: In-
stalación
1. Lo instalamos como cualquier exe
2. Panel de control
3. Programas y caracteristicas
4. Activar o desactivar caracteristicas
5. Seleccionamos las caracteristicas asociadas al A/D
6. Reinciamos la máquina Windows
7. Inicio -> Ejecutar -> “Usuarios y Equipos de Active
Directory” y veremos el arbol de nuestro Samba4
Para mas detalles del RSTA acá