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