Instalación de un Servidor Controlador Primario de Dominio con Samba y Openldap en Debian Etch
DEPENDENCIAS NECESARIAS
#apt-get install make gcc gcc++ gengetopt libpopt-dev python-crypto
INSTALACION DE LDAP
#apt-get install slapd ldap-utils
Contraseña del admin: 123456789
Confirme la contraseña del admin: 123456789
RECONFIGURACION
#dpkg-reconfigure slapd
Desea omitir la configuración de ldap: no
Introduzca el nombre de dominio DNS: dominio.com
Introduzca el nombre de su organización: dominio.com
Contraseña del administrador: 123456789
Verificación de la contraseña: 123456789
Motor de base de datos a utilizar: BDB
Desea que se borre la base de datos cuando purge el paquete slapd: NO
Desea mover la base de datos antigua: SI
Permitir el protocolo LDAPV2: si
COMPROBAR LA INSTALACION
# ldapsearch -x -b “dc=dominio,dc=com”
RESULTADO CORRECTO
# extended LDIF
#
# LDAPv3
# base <“dc=dominio,dc=com”> with scope subtree
# filter: (objectclass=*)
# requesting: ALL
# search result
search: 2
result: 34 Invalid DN syntax
text: invalid DN
# numResponses: 1
INSTALACION DE APACHE
# apt-get install apache
INSTALACION DE SMBLDAP-TOOLS
#apt-get install smbldap-tools
INSTALACION DE PHPLDAPADMIN
#apt-get install phpldapadmin
INSTALACION DE MKNTPWD
(Utilidad para crear los hashes de las claves Samba, pasar de texto plano al formato de passwords de windows, requerida por Phpldapadmin)
$ cd /opt/
$ wget http://www.silcom.com.pe/soft/mkntpwd.tar.gz
$ tar -zxf mkntpwd.tar.gz
$ cd mkntpwd
$ make
$ cp mkntpwd /usr/local/bin
VERIFICAR
#./mkntpwd
Usage: mkntpwd [-L lanmgrpwd] [-N ntpasswd]
mkntpwd password
mkntpwd -f [-] [filename]
-L lanmgrpasswd LanManager cleartextpwd <= 14 chars -N ntpasswd NT cleartextpwd <=128 chars (usually <=14)
with both options present the encrypted LanManager-Pwd is
printed first, followed by a ‘:’ and the encrypted NT-Pwd.
The second usage behaves like mkntpwd -L pwd -N pwd
The third usage reads the password from STDIN or a File. Printout
is the same as second.
anton@genua.de
INSTALACION DE SAMBA
#apt-get install samba samba-doc
Nombre del dominio o grupo de trabajo: dominio
Modificar smb.conf para que use la configuración WINS proveniente de DHCP: no
CREACION DE CARPETAS PARA SAMBA
#mkdir /home/samba/
#mkdir /home/samba/netlogon
#mkdir /home/samba/profiles
chmod 775 /home/samba/netlogon
chmod 777 /home/samba/profiles
CONFIGURACION DE LDAP
# cd /usr/share/doc/samba-doc/examples/LDAP
# gunzip samba.schema.gz
# cp samba.schema /etc/ldap/schema
# nano /etc/ldap/slapd.conf
AGREGAR EL SCHEMA DE SAMBA
include /etc/ldap/schema/samba.schema
REINICIAR LDAP
#/etc/init.d/slapd restart
CREACION DE ARBOL LDAP
INGRESAR: http://tuip/phpldapadmin/
Login DN : cn=admin,dc=dominio,dc=com
Password: 123456789
CREAR CONTENEDORES BASES EN LA RAIZ DEL ARBOL CREAR “NEW ORGANISATIONAL UNIT” LO SIGUIENTE:
users (para manejar las cuentas de los usuarios)
machines (para manejar las cuentas de máquinas)
groups (para manejar las cuentas de grupos)
CONFIGURACIÓN DE SAMBA
# cd /etc/samba
# cp smb.conf smb.conf.bkp
# nano smb.conf
EL ARCHIVO DEBERÁ QUEDAR DE LA SIGUIENTE FORMA
(Esta en la carpeta Redes)
NOTA:
El archivo esta ajustado para la configuración de este caso, si copian el archivo directamente hay que darle permisos de lectura al GRUPO y a OTHERS.
Modificaciones: chmod u-x smb.conf chmod g+r smb.conf chmod o+r smb.conf
Ajustar en el smb.conf: hosts allow = 127.0.0.1 169.254.0.0/255.255.255.0 a su red
PROBAR LA CONFIGURACIÓN
#testparm
Load smb config files from /etc/samba/smb.conf
Processing section “[netlogon]“
Processing section “[homes]“
Processing section “[profiles]“
Loaded services file OK.
Server role: ROLE_DOMAIN_PDC
Press enter to see a dump of your service definitions
SI NOS RESPONDE DE ESTA FORMA ENTONCES TODO ESTA CORRECTO HASTA AHORA
LE DAMOS A CONTRASEÑA DE LDAP A SAMBA
#smbpasswd -w 123456789
REINICIAR SAMBA
/etc/init.d/samba restart
VOLVER A PHPLDAPADMIN Y VERIFICAR LA ENTRADA
sambaDomainName=DOMINIO
IDENTIFICAR EL SID DEL DOMINIO ejem:
#net getlocalsid
S-1-5-21-2942057963-2745721404-394493152
CREACIÓN DE GRUPOS DE DOMINIO
DENTRO DE PHPLDAPADMIN EN CONTENEDOR “groups” ELEGIR CREAR
Group | Windows Name | Gid | samba sid |
sambaadmins | Domain Admins | 20000 | 512 |
sambausers | Domain Users | 20001 | 513 |
sambaguests | Domain Guests | 20002 | 514 |
sambamachines | Domain Computers | 20003 | 515 |
INTEGRACIÓN DE LA AUTENTIFICACION Y LDAP
INSTALACIÓN NSS LDAP
(Módulo para proveer información de usuarios desde un directorio LDAP.)
#apt-get install libnss-ldap
#dpkg-reconfigure libnss-ldap
Servidor LDAP : 127.0.0.1
Nombre distintivo (DN) : dc=dominio,dc=com
Versión de LDAP a utilizar : 3
Hace falta un usuario para acceder a la base de datos ldap : No
Dar privilegios especiales de ldap para root : SI
Desea hacer que la configuración solo pueda leer o escribir el propietario : SI
Cuenta ldap para root : cn=admin,dc=dominio,dc=com
Contraseña ldap para root : 123456789
CONFIGURACION
#vi /etc/nsswitch.conf
COMENTAR ESTAS LINEAS
passwd: compat
group: compat
shadow: compat
AGREGAR ESTAS OTRAS
passwd: compat ldap
group: compat ldap
shadow: compat ldap
COMPROBAR
# getent group
DEBE MOSTRAR
sambaadmins:*:20000:
sambausers:*:20001:
sambaguests:*:20002:
sambamachines:*:20003:
NOTA: SI NO MUESTRA ESTO ALGO ESTA MAL
INSTALACION PAM LDAP
(Módulo para que servidores Linux entre otros, puedan autentificar y cambiar contraseñas en directorios LDAP.)
# apt-get install libpam-ldap
# dpkg-reconfigure libpam-ldap
Servidor ldap : 127.0.0.1
Nombre distintivo: dc=dominio,dc=com
Versión de ldap: 3
Make local root Database admin: si
Hace falta un usuario para la base de datos LDAP: no
Ldap account for root: cn=admin,dc=dominio,dc=com
Contraseña para la cuenta ldap de root: 123456789
Local crypt to use when changing passwords: md5
# nano /etc/pam.d/common-account
COMENTAR
account required pam_unix.so
Y AGREGAR
account sufficient pam_ldap.so
account required pam_unix.so try_first_pass
#nano /etc/pam.d/common-auth
COMENTAR
auth required pam_unix.so nullok_secure
Y AGREGAR
auth sufficient pam_ldap.so
auth required pam_unix.so nullok_secure use_first_pass
# nano /etc/pam.d/common-password
COMENTAR
password required pam_unix.so nullok obscure min=4 max=8 md5
Y AGREGAR AL FINAL
password sufficient pam_ldap.so
password required pam_unix.so nullok obscure min=4 max=8 md5 use_first_pass
INSTALACION DE NSCD
(nscd mantiene una caché con información sobre los datos de los usuarios, que refresca cada cierto tiempo, de forma que las estaciones de trabajo la utilizarán en lugar de consultar al servidor LDAP)
# apt-get install nscd
REINICIAR SAMBA
/etc/init.d/samba restart
AGREGAR USUARIOS
En la “UO” users crear un nuevo “Samba3 Account” se creara el usuario “administrator” que tendrá permisos para ingresar maquinas al dominio
y otro usuario “juan” que pertenecerá al grupo administradores y otro llamado “usuario” que solo será un usuario de dominio, esto se hará de la siguiente forma:
Fist Name: Administrator Last Name: Global Comon Name: administrator User ID: administrator UID Number: 0 Samba SID: 512 Password: 1234 Verify Password: 1234 Home Directory: /home/administrator | Fist Name: Juan Last Name: Pérez Comon Name: juan User ID :juan UID Number: 10000 Samba SID: 512 Password: zaqwsx Verify Password: zaqwsx Home Directory: /home/juan | Fist Name: Sebastian
|
|
VERIFICAR LA CREACIÓN DE USUARIOS EN LINUX
# getent passwd
administrator:*:0:20000:administrator:/home/administrator:
juan:*:10000:20000:juan:/home/juan:
sebastian:*:10001:20001:sebastian:/home/sebastian:
CREACION DE HOME
# mkdir /home/juan
# cp /etc/skel/.* /home/juan/
# chown -R juan /home/juan
# chgrp -R sambaadmins /home/juan
Nota: Cada Vez que se crea un usuario hay que asignarle el SID manualmente, para que cargue
correctamente los perfiles individuales de usuarios.
AUTOMATIZANDO INGRESO DE CUENTAS DE MAQUINA A LDAP
# cd /usr/share/doc/smbldap-tools/examples
# cp smbldap.conf.gz smbldap_bind.conf /etc/smbldap-tools
# cd /etc/smbldap-tools
# gunzip smbldap.conf.gz
# chown root:root *
# chmod 600 *
#nano /etc/smbldap-tools/smbldap_bind.conf
slaveDN=”cn=admin,dc=dominio,dc=com”
slavePw=”123456789″
masterDN=”cn=admin,dc=dominio,dc=com”
masterPw=”123456789″
#nano /etc/smbldap-tools/smbldap.conf
EL ARCHIVO smbldap.conf DEBERÍA QUEDAR ASÍ:
(Esta en la carpeta Redes)
NOTA: CUIDADO SI COPIAN DIRECTAMENTE smbldap.conf LO QUE HAY QUE MODIFICAR EL NRO SID DE SU IMPLEMENTACIÓN ADEMÁS POR SEGURIDAD HAY QUE HACER ESTO : chmod u-x smbldap.conf
POR ULTIMO
#cp smbldap_bind.conf /etc/
#cp smbldap.conf /etc/
AGREGANDO OBJECTCLASS
Tenemos que ir al PHPLDAPADMIN, el atributo SAMBAUNIXIDPOOL para el dominio samba.
Damos clic a la derecha, a la entrada SAMBADOMAINNAME=DOMINIO y en el espacio de la derecha buscamos donde están los atributos de tipo objectclass, damos clic en donde dice ADD VALUE, escogemos SAMBAUNIXIDPOOL y en la siguiente pagina digitamos los valores de UID y GID iniciales con los que vamos a arrancar para nuestros efectos.
De la Siguiente forma:
El GID 20003 corresponde al grupo SAMBAMACHINES
El UID 30000 es el numero inicial para las cuentas de maquinas. Una vez hecho esto ya podemos registrar nuestras maquinas WIN$ al Dominio.
Los ficheros de configuración los publicare en un servidor, si los necesitan urgente se los puedo enviar por email.
4 comentarios:
No entendi nada!!Para que sirve todo esto? para saber que?
Eso es un manual para instalar un servidor que sea controlador de un dominio en linux.
El blog también tiene una seccion de manuales en donde se iran publicando poco a poco materiales de este tipo.
Bastante tecnico tu post.
No entendi Ni Madres!
Pero te deseo todo el exito en tu blog.
Muchos saludos!
JYR
Socio, la verdad este manual es una copia exacta de otro que hace un tiempo vi en internet. Deberias por lo menos poner la direccion de donde lo copiaste. En realidad esta bastante bueno.
Saludos...
Manuel
Publicar un comentario