Your SlideShare is downloading. ×

Integración LDAP + SAMBA

2,583

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
2,583
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
115
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 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:
  • 7. 6 Instalamos OPENLDAP: # yum -y install openldap-servers openldap-clients Confirmamos nuestra instalación:
  • 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.
  • 15. 14 # ldapadd -Y EXTERNAL -H ldapi:/// -f backend.ldif
  • 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…
  • 20. 19 # vi /etc/pam_ldap.conf #host 127.0.0.1 base dc=cyberleon95,dc=com Comentamos la linea host….
  • 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.
  • 22. 21 auth required pam_env.so auth sufficient pam_unix.so nullok try_first_pass auth requisite pam_succeed_if.so uid >= 500 quiet auth sufficient pam_ldap.so use_first_pass ## auth required pam_deny.so account required pam_unix.so account sufficient pam_localuser.so account sufficient pam_succeed_if.so uid < 500 quiet account [default=bad success=ok user_unknown=ignore] pam_ldap.so ## account required pam_permit.so password requisite pam_cracklib.so try_first_pass retry=3 type= password sufficient pam_unix.so sha512 shadow nullok try_first_pass use_authtok password sufficient pam_ldap.so use_authtok ## password required pam_deny.so session optional pam_keyinit.so revoke session required pam_limits.so session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid session required pam_unix.so session optional pam_ldap.so ## session optional pam_mkhomedir.so skel=/etc/skel umask=077 ##
  • 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.
  • 37. 36 Primero descargamos… Perl-Unicode-String https://mega.co.nz/#!MABhCTTR!A0nCzbsa2e-KoDrGje7LEoWb8a7zg5M2hPW9bdAw0yk Al descargarlo nos movemos al directorio done hayamos guardado el paquete, por defecto es en /root/Downloads. Ejecutamos lo siguiente para instalarlo. # rpm –Uvh perl-Unicode-String-2.09-12.el6.x86_64.rpm Luego de instalado este primer paquete descargamos e instalamos el siguiente. Perl-Unicod-Map8 https://mega.co.nz/#!0ZgVmaLJ!Ih0nk_R1PxzyfrjpCXeT_SVI4lLwBgODHzzhuP63qTM
  • 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&amp;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&amp;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&amp;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
  • 47. 46
  • 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.
  • 59. 58 Vamos a opciones avanzadas… Lo agregamos…
  • 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.
  • 63. 62 Se reiniciará nuestro Windows XP… Presionamos Ctrl + Alt + Supr y escogemos como loguearnos.
  • 64. 63 Vamos a opciones… Seleccionamos en conectarse a: escogemos nuestro dominio en mi caso es CYBERLEON95.
  • 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.

×