1- En primer lugar lo que vamos a hacer es instalar desde Powershell los siguientes paquetes:

Dism.exe /online /enable-feature /featurename:adminui /all

Dism.exe /online /enable-feature /featurename:nis /all

Dism.exe /online /enable-feature /featurename:psync /all

2- Si quisieramos desinstalarlos lo hariamos con los siguientes comandos:


Dism.exe /online /disable-feature /featurename:adminui /all

Dism.exe /online /disable-feature /featurename:nis /all

Dism.exe /online /disable-feature /featurename:psync /all

3- Luego en el servidor nos vamos a “Usuarios y Equipos del Directorio Activo”. No vamos a un grupo que tengramos creado por ejemplo “Especialistas” y hacemos clic en la pestaña de “Unix Atributes”. En “NIS Domain” ponemos el nombre de nuestro dominio, en este caso es “example.com” y en “GID” se nos pone automaticamente en 10000 pero lo podemos modificar y ponerlo por ejemplo en 2001.

4- A continuación hacemos clic en propiedades de un usuario y luego en la pestaña “Unix Attributes” y lo dejamos de la sigueinte forma:

NIS Domain: example

UID: 2001

Login Shell: /bin/bash

Home Directory: /home/tecnico1

Primary group name/GID: Especialistas

5- Luego nos vamos al cliente y ejecutamos el siguiente comando, en cuya salida nos aparecera el usuario que hemos configurado anteriormente (tecnico1).

root@cliente-linux:/home/debian# ldapsearch -x -LLL -D "cn=Administrator,cn=Users,dc=example,dc=com" -W -h 10.0.0.43 -b dc=example,dc=com "sAMAccountName=tecnico1"
Enter LDAP Password: 
dn: CN=tecnico1,OU=Especialistas,DC=example,DC=com
objectClass: top
objectClass: person
objectClass: organizationalPerson
objectClass: user
cn: tecnico1
givenName: tecnico1
distinguishedName: CN=tecnico1,OU=Especialistas,DC=example,DC=com
instanceType: 4
whenCreated: 20150121124532.0Z
whenChanged: 20150220111554.0Z
displayName: tecnico1
uSNCreated: 13000
memberOf: CN=Especialistas,OU=Especialistas,DC=example,DC=com
uSNChanged: 30104
name: tecnico1
objectGUID:: oDfVRP4BwUONHjl8OQ/R1A==
userAccountControl: 66048
badPwdCount: 0
codePage: 0
countryCode: 0
badPasswordTime: 0
lastLogoff: 0
lastLogon: 130674290138424938
pwdLastSet: 130663179328064991
primaryGroupID: 513
objectSid:: AQUAAAAAAAUVAAAAaFcr6jl0ynlw5sqbWgQAAA==
accountExpires: 9223372036854775807
logonCount: 1
sAMAccountName: tecnico1
sAMAccountType: 805306368
userPrincipalName: tecnico1@example.com
objectCategory: CN=Person,CN=Schema,CN=Configuration,DC=example,DC=com
dSCorePropagationData: 16010101000000.0Z
lastLogonTimestamp: 130674290138424938
unixUserPassword: ABCD!efgh12345$67890
uid: tecnico1
msSFU30Name: tecnico1
msSFU30NisDomain: example
uidNumber: 2001
gidNumber: 2001
unixHomeDirectory: /home/tecnico1
loginShell: /bin/bash

# refldap://ForestDnsZones.example.com/DC=ForestDnsZones,DC=example,DC=com

# refldap://DomainDnsZones.example.com/DC=DomainDnsZones,DC=example,DC=com

# refldap://example.com/CN=Configuration,DC=example,DC=com

root@cliente-linux:/home/debian# 

6- El siguiente paso que debemos de dar es con la configuración del cliente, en primer lugar lo que debemos de hacer es editar el fichero “/etc/resolv.conf” y ponemos la IP del servidor:

domain example.com
nameserver 10.0.0.45  

7- Luego instalamos el siguiente paquete:

root@cliente-linux:/home/debian# apt-get --no-install-recommends install libnss-ldapd

Durante la instalación nos aparecerán pantallas de configuración que debemos de ignorar ya que lo configuraremos con el fichero “etc/nslcd.conf”:


# /etc/nslcd.conf
# nslcd configuration file. See nslcd.conf(5)
# for details.

# The user and group nslcd should run as.
uid nslcd
gid nslcd

# The location at which the LDAP server(s) should be reachable.
uri ldap://greyjoy.example.com

# The search base that will be used for all queries.
base dc=example,dc=com

# The LDAP protocol version to use.
#ldap_version 3

# The DN to bind with for normal lookups.
binddn cn=administrator,cn=Users,dc=example,dc=com
bindpw asd.123

# The DN used for password modifications by root.
#rootpwmoddn cn=admin,dc=example,dc=com

# SSL options
#ssl off
#tls_reqcert never

# The search scope.
scope sub

filter passwd (objectClass=User)

filter group (objectClass=Group)

map passwd homeDirectory unixHomeDirectory
map passwd gecos name
map group memberUid member

Y luego reiniciamos el servicio:

root@cliente-linux:/home/debian# /etc/init.d/nslcd restart
hostname: Name or service not known
[ ok ] Restarting LDAP connection daemon: nslcd.
root@cliente-linux:/home/debian# 

8- Luego debemos de configurar los ficheros “/etc/ldap/ldap.conf” y “/etc/nsswitch.con”:

Primero nos vamos al fichero “/etc/ldap/ldap.conf” descomentamos y modificamos las siguientes líneas:

BASE    dc=example,dc=com
URI     ldap://greyjoy.example.com  

y luego ediamos el fichero “/etc/nsswitch.conf” añadiendo “ldap” y dejandolo de la siguiente manera:

passwd:         compat ldap
group:          compat ldap
shadow:         compat

A continuación probamos que funciona correctamente de la siguiente manera:

root@cliente-linux:/home/debian# getent passwd tecnico1
tecnico1:*:2001:2001:tecnico1:/home/tecnico1:/bin/bash
root@cliente-linux:/home/debian# 

9- Ahora lo que debemos de ahcer es realizar la configuración de kerberos, en primer lugar debemos de instalar el siguiente paquete:

root@cliente-linux:/home/debian# aptitude install krb5-config krb5-user

Cuando lo hayamos instalado nos vamos al fichero “/etc/krb5.conf” y modificamos lo siguiente:

[libdefaults]
        default_realm = EXAMPLE.COM   
.
.
.

[realms]
        EXAMPLE.COM = {
                kdc = 10.0.0.43          
                admin_server = 10.0.0.43       
        }

Y comprobamos que podemos autenticarnos con kerberos con “kinit” y “klist”, pero debemos de asegurarnos que la hora esta correctamente para ello lo que hacemos es sincronizar con el comando ntpdate, una vez sincronizada procemos a autenticarnos:

root@cliente-linux:/home/debian# kinit tecnico1
Password for tecnico1@EXAMPLE.COM: 
root@cliente-linux:/home/debian# klist
Ticket cache: FILE:/tmp/krb5cc_0
Default principal: tecnico1@EXAMPLE.COM

Valid starting    Expires           Service principal
23/02/2015 11:48  23/02/2015 21:48  krbtgt/EXAMPLE.COM@EXAMPLE.COM
	renew until 24/02/2015 11:48
root@cliente-linux:/home/debian# 

10- El siguiente paso es instalar “PAM Kerberos” con el siguiente paquete:

root@cliente-linux:/home/debian# apt-get install libpam-krb5

Luego editamos el fichero “/etc/pam.d/common-session” y lo configura para que nos cree el directorio home:

session     optional      pam_mkhomedir.so

Una vez hecho esto hacemos el “login” en la maquina cliente con el usuario “tecnico1” y comprobamos que tiene le home con el comando “pwd”:

root@cliente-linux:/home/debian# login
cliente-linux login: tecnico1
Password: 
Linux cliente-linux 3.2.0-4-amd64 #1 SMP Debian 3.2.65-1+deb7u1 x86_64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Creating directory '/home/tecnico1'.
tecnico1@cliente-linux:~$ pwd
/home/tecnico1
tecnico1@cliente-linux:~$ 

Vemos que la conexión es correcta y nos conecta perfectamente.

Related Posts

KVM

Panel web para KVM: Webvrtmgr

En esta entrada vamos a ver como instalar un panel web para la gestión de nuestras maquinas virtuales en nuestro serviidor host, esto nos permitará tanto crearlas, como borrarlas, dotarlas de mas capacidad, etc. 1- Read more…

Linux

Actulización de Debian Jessie 8 a Debian Stretch 9

  En la siguiente entrada vamos a ver como actualizar nuestra versión de Debian Jessie a Debian Stretch, el proceso es algo muy sencillo y se hace en pequeños pasos como vamos a ver ahora: Read more…

Bases de Datos

OwnCloud en Alta Disponibilidad.

INSTALACION DE OWNCLOUD EN ALTA DISPONIBILIDAD Lo que vamos a hacer a continuación es crear una alta disponibilidad para Owncloud. Owncloud es un sistema de almacenamiento y aplicaciones en línea. nuestro objetivo es lograr un Read more…