Gestión de usuarios de red en Linux - LDAP - estupendo

Anuncio
Documento visualisacao
Gestión de usuarios de red en Linux.doc
(71 KB) Baixar
Gestión de usuarios de red en Linux. OPENLDAP.
En los sistemas Windows Server la gestión de usuarios globales se lleva a cabo a través del concepto de
dominio que son gestionados con la ayuda del servicio Active Directory. En Linux no existe ese concepto,
pero se puede conseguir una funcionalidad parecida utilizando un servidor LDAP.
La información global se guarda en una base de datos especial que recibe el nombre de Directorio. Para
acceder a la información que se guarda en el Directorio, haremos uso del protocolo estándar llamado LDAP
(Lightweight Direct Access Protocol). La implementación para Linux de este protocolo es conocida como
OPENLDAP.
En los sistemas Linux existe otro protocolo de servicios de directorio cliente-servidor conocido como NIS
(Network Information System), diseñado especialmente para dar soporte a usuarios y grupos globales en
sistemas tipo Unix.
Estructura de datos en un servidor LDAP.
Como ya sabemos, la información dentro de un directorio se organiza a través de una estructura de tipo
árbol en cuyas ramas iremos colocando los diferentes objetos que podemos definir. Al igual que ocurre en
Active Directory, las unidades organizativas (UO) juegan un papel importantísimo a la hora de organizar
los objetos.
La definición de los tipos de objetos y de sus atributos se lleva a cabo a través del denominado esquema de
directorio. El esquema contiene las definiciones de los objetos que pueden darse de alta en el directorio.
Instalación de OpenLDAP en Ubuntu.
El servicio que es necesario instalar en el servidor se llama slapd. Además, deberemos instalar un paquete
complementario llamado ldap-utils.
sudo apt-get install slapd ldap-utils
La configuración básica del servidor LDAP puede realizarse mediante el comando dpkg-reconfigure. No
obstante, es práctica común configurar el servidor a través de un fichero de configuración que le
proporcionemos.
sudo dpkg-reconfigure slapd
El principal comando utilizado durante el proceso de configuración del servidor slapd es el comando
ldapadd que se utiliza para añadir información al Directorio. La información que se quiere añadir, debe ser
especificada en un fichero con un formato especial llamado LDIF. En función del tipo de objeto que se
quiera incluir en el Directorio, el formato de la información cambia, ya que cada objeto está constituido
por una serie de atributos propios.
El comando ldapadd admite gran cantidad de parámetros, por lo que deberás consultar la ayuda si quieres
conocerlo en profundidad y conocer todas sus posibilidades.
El proceso de configuración del servidor es el siguiente:
1 – En versiones más antiguas, sólo se incluían en el Directorio un esquema (core.schema) con la definición
de algunos objetos básicos. Era necesario añadir algunos objetos básicos a través de algunos otros esquemas
proporcionados en la instalación.
ldapadd –Y EXTERNAL –H ldapi:/// -f /etc/ldap/schema/cosine.ldif
ldapadd –Y EXTERNAL –H ldapi:/// -f /etc/ldap/schema/nis.ldif
ldapadd –Y EXTERNAL –H ldapi:/// -f /etc/ldap/schema/inetorgperson.ldif
2- El siguiente paso es establecer la configuración inicial de la base de datos. Para ello debemos guardar
en un fichero .ldif un fichero base como el siguiente:
###########################################################
# Configuracion de la base de datos
###########################################################
# Cargar modulos para el tipo de base de datos utilizada
dn: cn=module,cn=config
objectClass: olcModuleList
cn: module
olcModulePath: /usr/lib/ldap
olcModuleLoad: back_hdb
# Crear directorio de la base de datos
dn: olcDatabase=hdb,cn=config
objectClass: olcDatabaseConfig
objectClass: olcHdbConfig
olcDatabase: {1}hdb
olcDbDirectory: /var/lib/ldap
olcSuffix: dc=sistopered,dc=es
olcRootDN: cn=admin,dc=sistopered,dc=es
olcRootPW: 1234
olcAccess: {0}to attrs=userPassword,shadowLastChange by dn="cn=admin,dc=sistopered,dc=es" write by
anonymous auth by self write by * none
olcAccess: {1}to dn.base="" by * read
olcAccess: {2}to * by dn="cn=admin,dc=sistopered,dc=es" write by * read
olcLastMod: TRUE
olcDbCheckpoint: 512 30
olcDbConfig: {0}set_cachesize 0 2097152 0
olcDbConfig: {1}set_lk_max_objects 1500
olcDbConfig: {2}set_lk_max_locks 1500
olcDbConfig: {3}set_lk_max_lockers 1500
olcDbIndex: uid pres,eq
olcDbIndex: cn,sn,mail pres,eq,approx,sub
olcDbIndex: objectClass eq
###########################################################
# Modificaciones
###########################################################
# Algunos de los valores establecidos por defecto se deben
# modificar para permitir el acceso remoto a la configuración
# de LDAP. Por lo demás, solo root tendrá acceso para tareas
# de administración
dn: cn=config
changetype: modify
delete: olcAuthzRegexp
dn: olcDatabase={-1}frontend,cn=config
changetype: modify
delete: olcAccess
dn: olcDatabase={0}config,cn=config
changetype: modify
add: olcRootPW
olcRootPW: {CRYPT}7hzU8RaZxaGi2
dn: olcDatabase={0}config,cn=config
changetype: modify
delete: olcAccess
De todos los campos que se incluyen, algunos son importantes:
 olcDbDirectory. En este atributo se especifica el directorio donde se almacena la base de datos.
 olcSuffix. Especifica el nombre que tendrá nuestro “dominio”
 olcRootDN. Establece el nombre del usuario administrador.
 olcRootPW. Establece la contraseña del usuario administrador.
Para cargar los parámetros de configuración utilizaremos el comando:
ldapadd – Y EXTERNAL –H ldapi:/// -f ruta/fichero.ldif
Después de esta operación, el servidor ya está configurado. Se puede comprobar ejecutando el comando
ldapsearch utilizando las opciones especificadas a continuación:
ldapsearch –x –b ‘’ –s base ‘(objectclass=*)’namingContexts
3- El siguiente paso consiste en crear la estructura mínima del directorio desde donde se van a gestionar los
usuarios y los grupos. Como en el paso anterior, debemos crear un fichero .ldif y cargarlo en la base de
datos. El formato del fichero podría ser el siguiente:
# Raiz del arbol
dn: dc=sistopered,dc=es
objectClass: dcObject
objectclass: organization
o: sistopered.es
dc: sistopered
description: Raiz de la estructura de arbol
# Administrador LDAP
dn: cn=admin,dc=sistopered,dc=es
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
userPassword: 1234
description: Administrador LDAP
Para cargar el fichero utilizaremos nuevamente el comando ldapadd, pero ahora se debe especificar el
usuario administrador que hemos creado en el paso anterior. Para ello escribiremos:
ldapadd –x –D “cn=admin,dc=sistopered,dc=es” –W –f dit.ldif
A partir de este momento, ya estaremos listos para añadir elementos a nuestro Directorio. Esto lo podemos
hacer bien a través de los ficheros .ldif que definan los diferentes objetos, o bien, a través de herramientas
gráficas que nos permiten interactuar con el Directorio de manera más intuitiva y sencilla.
A continuación, mostramos diferentes ficheros .ldif que podemos utilizar para incluir los tipos de objetos
más comunes:
Para crear una UO:
dn: ou=Usuario,dc=sistopered,dc=es
ou: Usuario
objectClass: top
objectClass: organizationalUnit
dn: ou=Grupo,dc=sistopered,dc=es
ou: Grupo
objectClass: top
objectClass: organizationalUnit
Para crear un grupo de usuarios:
dn: cn=AULA01,ou=Grupo,dc=sistopered,dc=es
objectClass: posixGroup
objectClass: top
cn: AULA01
gidNumber: 3000
memberUid: cfrontera
Para crear un usuario:
dn: uid=cfrontera, ou=Usuario,dc=sistopered,dc=es
uid: cfrontera
cn: Usuario de prueba
objectClass: account
objectClass: posixAccount
objectClass: top
objectClass: shadowAccount
userPassword: {crypt}!
loginShell: /bin/bash
uidNumber: 4545
gidNumber: 3000
homeDirectory: /home/cfrontera
gecos: Usuario de prueba
host: *
Para cargar los ficheros, utilizaremos el comando ldapadd visto anteriormente:
ldapadd –x –D “cn=admin,dc=sistopered,dc=es” –W –f dit.ldif
Es posible utilizar algunos otros comandos para realizar comprobaciones sobre los datos del directorio. Por
ejemplo:

slapcat. Genera una salida en formato LDIF de todo el contenido del Directorio. Para ejecutarlo
son necesarios permisos de administrador. También es posible generar una copia del Directorio en
un archivo con formato LDIF si invocamos
sudo slapcat –l archivo_ldif
 ldapsearch. Permite hacer búsquedas de información en el directorio. Por ejemplo:
ldapsearch –x –b “uid=cfrontera,ou=Usuarios,dc=sistopered,dc=es”
 ldappasswd. Permite cambiar la contraseña de un usuario existente en LDAP.
 ldapdelete. Permite borrar un objeto del Directorio.
Gestión gráfica de usuarios y grupos en LDAP.
Existen varias herramientas que facilitan la gestión de Directorios LDAP, como por ejemplo la herramienta
phpLDAPadmin o la herramienta JXplorer.
Para instalar phpLDAPadmin podremos utilizar apt-get o Synaptic, ya que se encuentra en los repositorios
oficiales de Ubuntu:
sudo apt-get install phpldapadmin
Se trata de una aplicación web, por lo que requiere que el servidor web Apache esté instalado en nuestra
máquina, aunque no debemos preocuparnos por nada, ya que automáticamente es instalado y configurado
al instalar el paquete.
Para acceder a la herramienta, deberemos abrir un navegador y poner la dirección:
http://localhost/phpldapadmin
Es conveniente ajustar el archivo de configuración de la aplicación para adaptarlo a nuestras necesidades
(/usr/share/phpldapadmin/config/config.php).
En el primer cambio propuesto se modifica la base o raíz del Directorio
$ldapservers->SetValue($i, ‘server’, ‘base’, array(‘dc=sistopered,dc=es’));
En segundo lugar, se configura el usuario administrador por defecto
$ldapservers->SetValue($i, ‘login’, ‘dn’, ‘cn=admin,dc=sistopered,dc=es’);
La aplicación phpldapadmin no debe estar necesariamente instalada en el mismo equipo donde esté
instalado el servidor LDAP. Si se instala en otro equipo deberemos incluir la línea:
$ldapservers->SetValue($i, ‘server’, ‘host’, ‘127.0.0.1’);
Common Errors
En el caso de que no nos dejara crear usuarios o grupos porque tenemos problemas con el ID
uidNumber / gidNumber , deberíamos hacer lo siguiente para corregir el problema:
Editar /etc/phpldapadmin/templates/creation/posixAccount.xml y
/etc/phpldapadmin/templates/creation/posixGroup.xml y comentar los atributos de readonly,
tanto en uidNumber como en gidNumber:
<attribute id="uidNumber">
...
Ficheiro do Abelha
estupendo
Outros ficheiros desta pasta


base.ldif.txt (0 KB)
 conf_bd.ldif (2).txt (1 KB)
 conf_bd.ldif.txt (1 KB)
Gestión de usuarios de red en Linux.doc (71 KB)
 LDAP.pdf (1947 KB)
Outros ficheiros deste Abelha


doc
Pasos para Ubuntu Server
Identificar se as regras foram violadas




Página inicial
Contacta-nos
Ajuda
Opções



Termos e condições
Política de privacidade
Reportar abuso
Copyright © 2012 Abelhas.pt
Descargar