1. Configuración e Integración
LDAP +SAMBA como PDC
Red Hat Enterprise Linux 6.2
GESTIÓN DE REDES DE DATOS
SERVICIO NACIONAL DE APRENDIZAJE
DIEGO LEON GIL BARRIENTOS
Ficha:
464327
2. 1
¿Qué es SAMBA?
Es un software que permite a tu ordenador con Ubuntu poder compartir archivos e
impresoras con otras computadoras en una misma red local. Utiliza para ello un
protocolo conocido como SMB/CIFS compatible con sistemas operativos UNIX
o Linux, como Ubuntu, pero además con sistemas Windows (XP, NT, 98...), OS/2
o incluso DOS. También se puede conocer como LAN Manager o NetBIOS.
¿Qué es LDAP?
Es un protocolo estándar que permite administrar directorios, esto es, acceder a
bases de información de usuarios de una red mediante protocolos TCP/IP.
Las bases de información generalmente están relacionadas con los usuarios, pero,
algunas veces, se utilizan con otros propósitos, como el de administrar el
hardware de una compañía.
¿Cuál es el objetivo de esta implementación?
El objetivo principal es lograr la compatibilidad entre sistemas operativos (LINUX y
WINDOWS) mediante samba con los usuarios del árbol de directorio (LDAP).
3. 2
Requisitos previos a la Implementación
Para este manual trabajaremos con la plataforma Red Hat Enterprise Linux 6.2.
NOTA: Funciona también en CentOS 6.X.
Utilizare la herramienta de virtualización VirtualBox, y tendré mi respectiva
máquina de RHEL con las siguientes características:
Inicialmente tener nuestra máquina virtual con un repositorio local basado en
nuestra imagen ISO de instalación:
http://cyberleon95.blogspot.com/2013/11/habilitar-entorno-grafico-y-
repositorio.html
Servidor DNS
http://cyberleon95.blogspot.com/2013/11/servidor-dns-red-hat-62.html
Servidor DHCP
http://cyberleon95.blogspot.com/2013/11/servidor-dhcp-red-hat-62.html
Servidor FTP
http://cyberleon95.blogspot.com/2013/11/servidor-ftp-red-hat-62_16.html
Servidor Web
http://cyberleon95.blogspot.com/2013/11/servidor-http-red-hat-62_15.html
Cuando contemos con nuestro repositorio local funcional, y los 4 respectivos
servicios mencionados anteriormente procedemos a iniciar nuestra configuración.
Las características del servidor en el que haré la implementación:
Dirección IP: 192.168.10.1
Mascara: 255.255.255.0
Gateway: 192.168.10.254
Dominio completo: dns.cyberleon95.com
Dominio corto: cyberleon95.com
Arquitectura: X 64
4. 3
Empezamos iniciando sesión en nuestro supe usuario (Root):
Ahora miramos nuestra dirección IP:
Como podemos ver efectivamente tenemos la dirección 192.168.10.1.
NOTA: En la configuración externa de nuestro VirtualBox tenemos nuestro servidor
Red Hat en Red Interna.
5. 4
Verificamos que tengamos disponible nuestro repositorio local:
Procedemos a inicial nuestras instalaciones y configuraciones.
NOTA: Para estos primeros paquetes utilizaremos nuestra imagen ISO como
repositorio local, pero posteriormente algunos paquetes los descargamos por
medio de repositorios webs.
6. 5
Los siguientes archivos es muy importante configurarlos y adaptarlos de la
siguiente forma:
1) Archivo /etc/hosts
2) Nuestra zona directa del DNS
Debemos garantizar al configurar nuestro archivo de la zona directa, que responda
ping nuestro dominio corto:
8. 7
Verificamos que el siguiente archivo:
# vim /etc/sysconfig/ldap
Comprobamos que tenga la siguiente característica habilitada:
SLAPD_LDAPI = yes
Ahora creamos el siguiente archivo en el directorio /etc/openldap
# vi /etc/openldap/slapd.conf
Le agregamos lo siguiente:
NOTA: El archivo no existe, así que al ejecutar el comando saldrá sin líneas
debemos escribir manualmente lo siguiente.
pidfile /var/run/openldap/slapd.pid
argsfile /var/run/openldap/slapd.args
9. 8
Ahora eliminamos todo el contenido del directorio /etc/openldap/slapd.d/
# rm -rf /etc/openldap/slapd.d/*
Ahora crearemos nuestros archivos .ldif, lo hacemos ejecutando el siguiente
commando:
# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
El comando mostrado anteriormente creó los archivos de configuración de LDAP.
Ahora procedemos a editarlos y a crear un archivo.
10. 9
Empezamos editando el siguiente:
# vi /etc/openldap/slapd.d/cn=config/olcDatabase={0}config.ldif
La línea 4 la comentamos y agregamos una nueva.
dn: olcDatabase={0}config
objectClass: olcDatabaseConfig
olcDatabase: {0}config
#olcAccess: {0}to * by * none
olcAccess: {0}to * by
dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
manage by * break
olcAddContentAcl: TRUE
olcLastMod: TRUE
olcMaxDerefDepth: 15
olcReadOnly: FALSE
olcRootDN: cn=config
olcSyncUseSubentry: FALSE
olcMonitoring: FALSE
structuralObjectClass: olcDatabaseConfig
entryUUID: 54a95934-67a4-1031-9c0b-6b11c7427936
creatorsName: cn=config
createTimestamp: 20120721172202Z
entryCSN: 20120721172202.648710Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20120721172202Z
Debemos tener mucha precaución de escribir correctamente, algún digito mal
escrito y de una nos arrojará error.
11. 10
Ahora procedemos a crear el siguiente archivo:
# vi /etc/openldap/slapd.d/cn=config/olcDatabase={1}monitor.ldif
Le debemos agregar lo siguiente…
dn: olcDatabase={1}monitor
objectClass: olcDatabaseConfig
olcDatabase: {1}monitor
olcAccess: {1}to * by
dn.exact=gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
manage by * break
olcAddContentAcl: FALSE
olcLastMod: TRUE
olcMaxDerefDepth: 15
olcReadOnly: FALSE
olcMonitoring: FALSE
structuralObjectClass: olcDatabaseConfig
creatorsName: cn=config
modifiersName: cn=config
12. 11
Ahora debemos asignar como usuario y dueño propietario a “ldap” y configurar
unos respectivos permisos:
# chown -R ldap. /etc/openldap/slapd.d
# chmod -R 700 /etc/openldap/slapd.d
# /etc/rc.d/init.d/slapd start
# chkconfig slapd on
NOTA: Si no nos inicia el servicio slapd debemos analizar el error para identificar
que archivo nos quedó mal configurado.
#ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/core.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=core,cn=schema,cn=config"
#ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/cosine.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=cosine,cn=schema,cn=config"
#ldapadd -Y EXTERNAL -H ldapi:/// -f /etc/openldap/schema/nis.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=nis,cn=schema,cn=config"
#ldapadd -Y EXTERNAL -H ldapi:/// -f
/etc/openldap/schema/inetorgperson.ldif
SASL/EXTERNAL authentication started
SASL username: gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth
SASL SSF: 0
adding new entry "cn=inetorgperson,cn=schema,cn=config"
13. 12
Ahora que añadimos una entradas, procedemos a crear la contraseña del
administrador de openldap:
#slappasswd
New password:
Re-enter new password:
El password resultante lo copiamos y lo dejamos en nuestro portapapeles para
pegarlo posteriormente en otros archivos.
14. 13
Ahora creamos un archivo .ldif ya con los datos de nuestro respectivo dominio.
El archivo se debe llamar backend.ldif, en el directorio actual que nos
encontramos:
# vi backend.ldif
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulepath: /usr/lib64/openldap
olcModuleload: back_hdb
dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {2}hdb
olcSuffix: dc=cyberleon95,dc=com
olcDbDirectory: /var/lib/ldap
olcRootDN: cn=admin,dc=cyberleon95,dc=com
olcRootPW: (Pegamos nuestro password generado por slappasswd)
olcDbConfig: set_cachesize 0 2097152 0
olcDbConfig: set_lk_max_objects 1500
olcDbConfig: set_lk_max_locks 1500
olcDbConfig: set_lk_max_lockers 1500
olcDbIndex: objectClass eq
olcLastMod: TRUE
olcMonitoring: TRUE
olcDbCheckpoint: 512 30
olcAccess: to attrs=userPassword by
dn="cn=admin,dc=cyberleon95,dc=com" write by anonymous auth by
self write by * none
olcAccess: to attrs=shadowLastChange by self write by * read
olcAccess: to dn.base="" by * read
olcAccess: to * by dn="cn=admin,dc=cyberleon95,dc=com" write by *
read
NOTA: mucha precaución a la hora de escribir todo este archivo.
16. 15
NOTA: si sale error revisamos todos nuestros archivos .ldif, también cabe aclarar
que moví el archivo backend.ldif a /root por razones de comodidad, lo cual es
indiferente a la hora de añadir la entrada.
Si presenta problemas de acceso insuficiente reiniciamos nuestra máquina.
Ahora creamos otro archivo llamado frontend.ldif:
# vi frontend.ldif
dn: dc=cyberleon95,dc=com
objectClass: top
objectClass: dcObject
objectclass: organization
o: pamplona local
dc: pamplona
dn: cn=admin,dc=cyberleon95,dc=com
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
userPassword: (Nuestro Password encriptado lo pegamos de Nuevo)
dn: ou=people,dc=cyberleon95,dc=com
objectClass: organizationalUnit
ou: people
dn: ou=groups,dc=cyberleon95,dc=com
objectClass: organizationalUnit
ou: groups
17. 16
Cuando este creado el archivo, procedemos a añadirlo al árbol de ldap:
# ldapadd -x -D cn=admin,dc=pamplona,dc=local -W -f frontend.ldif
En el password ponemos nuestro escribimos de forma normal (con teclado – no
pegar) nuestro password.
18. 17
Ahora procedemos a instalar y configurar nuestro cliente LDAP.
NOTA: Estos paquetes aun los vamos a tomar de nuestro repositorio local DVD.
# yum -y install openldap-clients nss-pam-ldapd
19. 18
Editamos los siguientes archivos con los datos de nuestro dominio:
# vi /etc/openldap/ldap.conf
URI ldap://192.168.10.1/
BASE dc=cyberleon95,dc=com
TLS_CACERTDIR /etc/openldap/certs
# vi /etc/nslcd.conf
uri ldap://192.168.10.1/
base dc=cyberleon95,dc=com
ssl no
tls_cacertdir /etc/openldap/certs
Vamos al final del archivo…
21. 20
En el mismo archivo pam_ldap.conf vamos al final y agregamos lo siguiente:
uri ldap://192.168.10.1/
ssl no
tls_cacertdir /etc/openldap/certs
pam_password md5
En el siguiente archive agregamos las líneas que se encuentran en Negrita, les
agregué un “#” para que las diferencien más fácil, no es necesario agregarlo:
# vi /etc/pam.d/system-auth
NOTA: Mucho cuidado a la hora de editar este archivo, de agregar las líneas en el
orden indicado y con perfecta escritura.
23. 22
Agregamos la fuente ldap a nuestro archivo nsswitch.conf
# vi /etc/nsswitch.conf
passwd: files ldap
shadow: files ldap
group: files ldap
netgroup: ldap
publickey: nisplus
automount: files ldap
Será simplemente buscar las líneas y adecuarlas…
24. 23
Ahora editamos el siguiente archivo:
# vi /etc/sysconfig/authconfig
USELDAP=yes
NOTA: Este archivo contiene líneas que puede ocasionar fácil confusión, leer bien
es súper importante.
En mi caso fue la línea 18.
25. 24
Ejecutamos el siguiente comando para que nuestro servicio nslcd encienda con el
sistema por defecto.
# chkconfig nslcd on
Luego de ejecutado este comando, reiniciamos nuestro servidor:
Esperamos…
26. 25
Ahora procedemos a instalar samba…
NOTA: Importante confirmar que tenemos nuestro repositorio local funcional para
esta instalación, los paquetes serán tomados de este repo local.
# yum -y install samba
Como podemos observar la instalación fue exitosa.
27. 26
Nos movemos al directorio /tmp
#cd /tmp
Creamos el siguiente archivo:
#vi schema_convert.conf
Le agregamos las siguientes lineas…
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/collective.schema
include /etc/openldap/schema/corba.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/duaconf.schema
include /etc/openldap/schema/dyngroup.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/java.schema
include /etc/openldap/schema/misc.schema
include /etc/openldap/schema/nis.schema
include /etc/openldap/schema/openldap.schema
include /etc/openldap/schema/ppolicy.schema
include /etc/openldap/schema/samba.schema
28. 27
Creamos el siguiente directorio:
# mkdir ldif_output
Ejecutamos el siguiente commando:
slapcat -f schema_convert.conf -F ./ldif_output -n0 -s
"cn={12}samba,cn=schema,cn=config" > ./cn=samba.ldif
Del archivo generado cn=samba.ldif eliminamos el {12}
# vi cn=samba.ldif
Debe quedar del siguiente modo:
dn: cn=samba,cn=schema,cn=config
objectClass: olcSchemaConfig
cn: samba
29. 28
Al final del archivo eliminamos las siguientes líneas:
structuralObjectClass: olcSchemaConfig
entryUUID: e24790da-67a9-1031-9ca2-7f12861cadca
creatorsName: cn=config
createTimestamp: 20120721180147Z
entryCSN: 20120721180147.725827Z#000000#000#000000
modifiersName: cn=config
modifyTimestamp: 20120721180147Z
Ejecutamos el siguiente comando:
# ldapadd -Y EXTERNAL -H ldapi:/// -f cn=samba.ldif
30. 29
Ahora creamos un archivo llamado samba_indexes.ldif
# vi samba_indexes.ldif
Le agregamos lo siguiente:
dn: olcDatabase={2}hdb,cn=config
changetype: modify
add: olcDbIndex
olcDbIndex: uidNumber eq
olcDbIndex: gidNumber eq
olcDbIndex: loginShell eq
olcDbIndex: uid eq,pres,sub
olcDbIndex: memberUid eq,pres,sub
olcDbIndex: uniqueMember eq,pres
olcDbIndex: sambaSID eq
olcDbIndex: sambaPrimaryGroupSID eq
olcDbIndex: sambaGroupType eq
olcDbIndex: sambaSIDList eq
olcDbIndex: sambaDomainName eq
olcDbIndex: default sub
Ejecutamos este commando:
# ldapmodify -Y EXTERNAL -H ldapi:/// -f samba_indexes.ldif
31. 30
Nos movemos al directorio del usuario Root ejecutando:
# cd
Como ya añadimos la entrada al árbol y los archivo del ldap procedemos a borrar
todos los archivos de la carpeta /tmp.
# rm -rf /tmp/*
Reiniciamos el servicio de slapd.
# /etc/rc.d/init.d/slapd restart
32. 31
Ahora debemos hacer unas configuraciones adicionales y externas a nuestro
servidor para habilitar el repositorio EPEL y poder descargar unos paquetes para
la correcta instalación de smbldap-tools.
Empezamos instalando los siguientes paquetes (aun desde nuestro repositorio
local basado en nuestra imagen ISO):
# yum install perl*
Nos instalará 101 paquetes. Esperamos…
Luego de esto procedemos a hacer unas configuraciones externas de nuestro
servidor (VirtualBox), bien sabemos nuestra maquina se encuentra en red interna
por lo tanto no posee internet y cuenta con una IP estática, lo que vamos a hacer
es para las siguientes instalaciones cambiar momentáneamente el adaptador de
Red Interna a NAT, para que tengamos internet y descarguemos y habilitemos
nuestros repositorios.
33. 32
Como vemos tenemos una IP estática, vamos a VirtualBox y le asignamos el
adaptador en NAT.
Aceptamos y vamos a nuestro server.
Ejecutamos…
# system-config-network
34. 33
Entramos a Device configuration y dentro de este escogemos nuestra interfaz, en
mi caso eth0.
Justo aquí seleccionamos que solicite dirección por medio de DHCP.
35. 34
Guardamos y ejecutamos lo siguiente para solicitar la nueva dirección IP.
# service network restart
Ahora miramos si tenemos una nueva dirección IP y confirmamos con un ping a
algún servidor público para garantizar que contamos con acceso a internet.
36. 35
Hacemos ping a 8.8.8.8
Listo, ahora que tenemos internet utilizamos nuestro navegador interno de nuestro
RHEL/CENTOS para descargar e instalar los siguientes paquetes.
NOTA: Importante dejo el enlace para que sean descargados de forma específica
pero exclusivamente para servidores de 64 bits, caso opuesto deben buscarlos y
que sean compatibles con su arquitectura.
38. 37
Lo instalamos ejecutando lo siguiente.
# rpm –Uvh perl-Unicode-Map8-0.13-1.el6.rfx.x86_64.rpm
Ya instaladas estas dependencias para poder instalar oficialmente el
smbldap-tools, agregamos este repositorio (EPEL) en la ruta /etc/yum.repos.d/
[epel]
name=Extra Packages for Enterprise Linux 6 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-
6&arch=$basearch
failovermethod=priority
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
[epel-debuginfo]
name=Extra Packages for Enterprise Linux 6 - $basearch - Debug
#baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch/de
bug
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-
debug-6&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=1
[epel-source]
name=Extra Packages for Enterprise Linux 6 - $basearch - Source
#baseurl=http://download.fedoraproject.org/pub/epel/6/SRPMS
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-
source-6&arch=$basearch
failovermethod=priority
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
gpgcheck=1
39. 38
También lo podemos descargar directamente del siguiente enlace y lo movemos al
directorio /etc/yum.repos.d/
https://mega.co.nz/#!4RxHEbxJ!zgvShZzq6lTrnJkHn3Sc8XjE7zf5rqT3hQgN_dgmdRM
Importamos el siguiente archivo del repositorio epel.
# rpm --import https://fedoraproject.org/static/0608B895.txt
Ahora deshabilitamos momentáneamente nuestro repositorio local, para
asegurarnos que irá a buscar los paquetes al repositorio de EPEL.
Editamos el archivo donde tengamos la configuración del repositorio local.
40. 39
Cuando cambiemos el enabled por un cero quedará deshabilitado, para que tome
nuestro repositorio epel ejecutamos lo siguiente.
# yum repolist
Ya tomó nuestro repositorio EPEL, podemos observar que cuenta con 10.809
paquetes, ahora si podemos instalar nuestro smbldap-tools.
# yum -y install smbldap-tools
41. 40
Ahora tenemos instalado perfectamente nuestro smbldap-tools correctamente con
sus respectivas dependencias.
42. 41
Ahora restablecemos la configuración de nuestro server, externamente en el
VirtualBox ponemos de nuevo adaptador de red en Red Interna.
NOTA: Para esta instalación con repositorio web utilice un solo adaptador
cambiándolo de red interna a NAT, también es posible agregar otro adaptador de
red pero recomiendo no hacerlo para evitar errores o confusión con interfaces.
Ahora entramos de nuevo al system-config-network.
43. 42
Quitamos que solicite dirección por DHCP y asignamos de nuevo nuestra
dirección IP estática.
Confirmamos que este de nuevo bien configurado nuestro server haciendo ping a
nuestro DNS.
Ahora nos movemos al directorio del usuario root: /root
# cd
44. 43
Vamos a renombrar el siguiente archivo, para ello:
mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
Copiamos el siguiente archivo también:
cp /usr/share/doc/smbldap-tools-0.9.6/smb.conf /etc/samba/smb.conf
Ahora lo editamos…
vi /etc/samba/smb.conf
# Global parameters
[global]
workgroup = CYBERLEON95
netbios name = PDC01
security = user
enable privileges = yes
#interfaces = 192.168.5.11
#username map = /etc/samba/smbusers
server string = Samba Server %v
#security = ads
encrypt passwords = Yes
#min passwd length = 3
#pam password change = no
#obey pam restrictions = No
# method 1:
#unix password sync = no
#ldap passwd sync = yes
45. 44
# method 2:
unix password sync = yes
ldap passwd sync = yes
passwd program = /usr/sbin/smbldap-passwd -u "%u"
passwd chat = "Changing *nNew password*" %nn "*Retype new
password*" %nn"
log level = 0
syslog = 0
log file = /var/log/samba/log.%U
max log size = 100000
time server = Yes
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
mangling method = hash2
Dos charset = CP932
Unix charset = UTF-8
logon script = logon.bat
logon drive = H:
logon home =
logon path =
domain logons = Yes
domain master = Yes
os level = 65
preferred master = Yes
wins support = yes
passdb backend = ldapsam:ldap://192.168.10.1/
ldap admin dn = cn=admin,dc=cyberleon95,dc=com
ldap suffix = dc=cyberleon95,dc=com
ldap group suffix = ou=Groups
ldap user suffix = ou=Users
ldap machine suffix = ou=Computers
#ldap idmap suffix = ou=Idmap
add user script = /usr/sbin/smbldap-useradd -m "%u"
#ldap delete dn = Yes
delete user script = /usr/sbin/smbldap-userdel "%u"
add machine script = /usr/sbin/smbldap-useradd -t 0 -w "%u"
add group script = /usr/sbin/smbldap-groupadd -p "%g"
delete group script = /usr/sbin/smbldap-groupdel "%g"
add user to group script = /usr/sbin/smbldap-groupmod -m "%u"
"%g"
delete user from group script = /usr/sbin/smbldap-groupmod -x
"%u" "%g"
set primary group script = /usr/sbin/smbldap-usermod -g '%g' '%u'
46. 45
admin users = sysadmin
ldap ssl = no
# printers configuration
#printer admin = @"Print Operators"
load printers = Yes
create mask = 0640
directory mask = 0750
#force create mode = 0640
#force directory mode = 0750
nt acl support = No
printing = cups
printcap name = cups
deadtime = 10
guest account = nobody
map to guest = Bad User
dont descend = /proc,/dev,/etc,/lib,/lost+found,/initrd
show add printer wizard = yes
; to maintain capital letters in shortcuts in any of the profile
folders:
preserve case = yes
short preserve case = yes
case sensitive = no
48. 47
Ahora creamos el directorio.
# mkdir /home/netlogon
Reiniciamos lo siguientes servicios:
# /etc/rc.d/init.d/smb restart
49. 48
# /etc/rc.d/init.d/nmb restart
Ahora vamos a hacer que estos servicios arranquen con el sistema, para ello
ejecutamos:
# chkconfig smb on
# chkconfig smb on
Crearemos un password para la integración:
# smbpasswd -W
Ahora mediante perl, vamos a configurar lo siguiente; para ello ejecutamos:
# perl /usr/share/doc/smbldap-tools-0.9.6/configure.pl
NOTA: Esta configuración es de modo semi-grafico, en el resultado de forma
textual específico que se debe hacer, en la gran mayoría simplemente damos
“Enter” en otras partes escribimos nuestro password.
50. 49
Before starting, check
. if your samba controller is up and running.
. if the domain SID is defined (you can get it with the 'net
getlocalsid')
. you can leave the configuration using the Ctrl-c key combination
. empty value can be set with the "." character
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
Looking for configuration files...
Samba Configuration File Path [/etc/samba/smb.conf] > Enter
The default directory in which the smbldap configuration files are stored
is shown.
If you need to change this, enter the full directory path, then press
enter to continue.
Smbldap-tools Configuration Directory Path [/etc/smbldap-tools] > Enter
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Let's start configuring the smbldap-tools scripts ...
. workgroup name: name of the domain Samba acts as a PDC for
workgroup name [CYBERLEON95] > Enter
. netbios name: netbios name of the samba controller
netbios name [PDC01] > Enter
. logon drive: local path to which the home directory will be connected
(for NT Workstations). Ex: 'H:'
logon drive [H:] > Enter
. logon home: home directory location (for Win95/98 or NT Workstation).
(use %U as username) Ex:'PDC01%U'
logon home (press the "." character if you don't want homeDirectory)
[PDC01%U] > Enter
. logon path: directory where roaming profiles are stored.
Ex:'PDC01profiles%U'
logon path (press the "." character if you don't want roaming profiles)
[PDC01profiles%U] > .
. home directory prefix (use %U as username) [/home/%U] > Enter
. default users' homeDirectory mode [700] > Enter
. default user netlogon script (use %U as username) [logon.bat] > Enter
default password validation time (time in days) [45] > Enter
. ldap suffix [dc=cyberleon95,dc=com] > Enter
. ldap group suffix [ou=Groups] > Enter
. ldap user suffix [ou=Users] > Enter
. ldap machine suffix [ou=Computers] > Enter
. Idmap suffix [ou=Idmap] > Enter
. sambaUnixIdPooldn: object where you want to store the next uidNumber
and gidNumber available for new users and groups
sambaUnixIdPooldn object (relative to ${suffix})
51. 50
[sambaDomainName=CYBERLEON95] >
. ldap master server: IP address or DNS name of the master (writable)
ldap server
ldap master server [192.168.10.1] > Enter
. ldap master port [389] > Enter
. ldap master bind dn [cn=admin,dc=cyberleon95,dc=com] > Enter
. ldap master bind password [] > Ingresamos El PASSWORD
. ldap slave server: IP address or DNS name of the slave ldap server: can
also be the master one
ldap slave server [192.168.10.1] > Enter
. ldap slave port [389] > Enter
. ldap slave bind dn [cn=admin,dc=cyberleon95,dc=com] > Enter
. ldap slave bind password [] > Ingresamos El PASSWORD
. ldap tls support (1/0) [0] > Enter
. SID for domain CYBERLEON95: SID of the domain (can be obtained with
'net getlocalsid PDC01')
SID for domain CYBERLEON95 [S-1-5-21-3173375413-340090289-266529731] >
Enter
. unix password encryption: encryption used for unix passwords
unix password encryption (CRYPT, MD5, SMD5, SSHA, SHA) [SSHA] > Enter
. default user gidNumber [513] > Enter
. default computer gidNumber [515] > Enter
. default login shell [/bin/bash] > Enter
. default skeleton directory [/etc/skel] > Enter
. default domain name to append to mail address [] > Enter
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
backup old configuration files:
/etc/smbldap-tools/smbldap.conf->/etc/smbldap-tools/smbldap.conf.old
/etc/smbldap-tools/smbldap_bind.conf->/etc/smbldap-
tools/smbldap_bind.conf.old
writing new configuration file:
/etc/smbldap-tools/smbldap.conf done.
/etc/smbldap-tools/smbldap_bind.conf done.
52. 51
Ahora ejecutamos lo siguiente:
# smbldap-populate
En la última parte escribimos nuestro password.
Ahora creamos el usuario y grupo “sysadmin”
# smbldap-groupadd -a sysadmin
53. 52
Confirmamos la existencia del usuario:
# su - sysadmin
Ahora creamos un usuario cualquiera para hacer pruebas:
# smbldap-useradd -am diego
# smbldap-groupmod -m diego "Domain Users"
adding user diego to group Domain Users
# smbldap-passwd diego
Changing UNIX and samba passwords for diego
New password:
Retype new password:
Confirmamos la existencia y nos logueamos en el…
54. 53
NOTA: Importante aclarar que estos usuarios que creamos no son usuarios del
sistema, lo podemos comprobar cerrando sesión o reiniciando nuestro server.
Son usuarios en el árbol de directorio de OPENLDAP integrado con samba
mediante la herramienta smbldap-tools.
Continuamos nuestras últimas configuraciones, ahora desactivamos nuestro
SELINUX.
# vi /etc/sysconfig/selinux
SELINUX=disabled
55. 54
Para la práctica vamos a bajar nuestro firewall pero podemos configurarlo
hacienda las siguiente excepciones.
En el firewall podemos habilitar los puertos correspondientes (TCP: 139, 389,445 y
UDP: 137,138), para el ejemplo lo deshabilitamos...
# /etc/init.d/iptables stop
Esta es toda nuestra configuración necesaria en nuestro servidor ahora podemos
unir a nuestro dominio nuestros clientes con sistema operativo Windows y no
tendremos ningún tipo de problema de compatibilidad.
NOTA: Para los sistemas operativos más contemporáneos como son Windows 7,
Windows 8 para unirlo al dominio podemos hacerlo haciendo unas modificaciones
en nuestro registro de Windows (Regedit).
Más información sobre la unión con sistemas operativos contemporáneos:
http://dolphion.blogspot.com/2013/04/windows-78-en-samba-pdc.html
Para esta prueba usare un Windows XP.
56. 55
Encendemos nuestra máquina virtual con Windows XP, importante recordar
tenerla igual que nuestro servidor en red Interna.
57. 56
Vamos a conexiones de red en nuestro Windows XP.
Confirmamos que nuestro cliente este solicitando dirección y DNS por medio de
DHCP a nuestro servidor.
Comprobamos en nuestra consola de comandos de Windows…
58. 57
Hacemos ping a nuestro servidor.
Ahora volvemos a Configuraciones de red y vamos agregar nuestro servidor
WINS.
Los servidores de Servicio de nombres Internet de Windows (WINS) asignan
dinámicamente direcciones IP a nombres de equipo (nombres NetBIOS). Esto
permite a los usuarios tener acceso a los recursos a través del nombre del equipo
en lugar de a través de la dirección IP. Si desea que el equipo realice un
seguimiento de los nombres y direcciones IP de otros equipos de la red,
configúrelo como un servidor WINS.
60. 59
NOTA: Es la dirección IP estática de nuestro servidor.
Aceptamos y guardamos todo y procedemos a unir nuestro cliente al dominio.
Vamos a Mi PC > clic derecho propiedades.
61. 60
Vamos a nombre de equipo y seleccionamos cambiar el nombre de este equipo o
unirse a un dominio…
62. 61
En esta parte ponemos nuestro usuario de acceso llamado “sysadmin”, luego de
estar unidos al dominio podemos cambiar por el usuario de prueba “diego”.
Esperamos un momento que se comunique con nuestro servidor y esperamos que
se una de forma exitosa con nuestro dominio.
65. 64
Ahora si escribimos nuestro usuario de prueba con su respectiva contraseña y le
damos aceptar…
Inmediatamente se conectará con nuestro servidor a nuestro usuario y cargara las
configuraciones básicas de escritorio.
66. 65
Confirmamos mirando de nuevo las propiedades del equipo y vemos que
efectivamente está unido al dominio.
De esta forma tenemos nuestro Servidor Red Hat Enterprise Linux 6.2 con
OPENLDAP y SAMBA como PDC.
NOTA: Si queremos restablecer o necesitamos algún paquete del repositorio local
simplemente deshabilitamos el repositorio EPEL y habilitamos el local; ejecutamos
“yum repolist” y listo.