Herramientas de usuario

Herramientas del sitio


notas:openldap

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anteriorRevisión previa
Próxima revisión
Revisión previa
notas:openldap [2011/02/09 13:07] cayunotas:openldap [2015/04/08 19:36] (actual) – [Datos iniciales] cayu
Línea 62: Línea 62:
 Una vez hecho esto tendremos lista nuestra instalación para poder correr. Una vez hecho esto tendremos lista nuestra instalación para poder correr.
  
 +==== Datos iniciales ====
 +=== Organización ===
 +<code>
 +dn: dc=cayu,dc=com,dc=ar
 +objectClass: top
 +objectClass: dcObject
 +objectClass: organization
 +o: cayu
 +dc: cayu
 +structuralObjectClass: organization
 +</code>
 +=== Usuario administrador ===
 +<code>
 +dn: cn=admin,dc=cayu,dc=com,dc=ar
 +objectClass: simpleSecurityObject
 +objectClass: organizationalRole
 +cn: admin
 +description: LDAP administrator
 +userPassword:: e1NTSEF9U1pIeTBlSG9vdGFlVnJWNVNrc0pDM3k4STNRdEordFU=
 +structuralObjectClass: organizationalRole
 +</code>
 +=== Contenedor de Grupos ===
 +<code>
 +dn: ou=groups,dc=cayu,dc=com,dc=ar
 +objectclass:organizationalunit
 +ou: groups
 +description: Grupos
 +</code>
 +== Grupos ==
 +<code>
 +dn: cn=users-admin,ou=groups,dc=cayu,dc=com,dc=ar
 +objectClass: posixGroup
 +cn: users-write
 +gidNumber: 10001
 +</code>
 +<code>
 +dn: cn=users-read,ou=groups,dc=cayu,dc=com,dc=ar
 +objectClass: posixGroup
 +cn: users-read
 +gidNumber: 10002
 +</code>
 +=== Contenedor de Usuarios ===
 +<code>
 +dn: ou=users,dc=cayu,dc=com,dc=ar
 +objectclass:organizationalunit
 +ou: users
 +description: Usuarios
 +</code>
 +== Usuarios ==
 +<code>
 +dn: uid=linux-admin,ou=users,dc=cayu,dc=com,dc=ar
 +objectClass: top
 +objectClass: account
 +objectClass: posixAccount
 +objectClass: shadowAccount
 +cn: switch-write
 +uid: switch-write
 +uidNumber: 16001
 +gidNumber: 10001
 +homeDirectory: /home/linux-admin
 +loginShell: /bin/bash
 +gecos: adam
 +userPassword: {crypt}x
 +shadowLastChange: 0
 +shadowMax: 0
 +shadowWarning: 0
 +</code>
 +<code>
 +dn: uid=linux-user,ou=users,dc=cayu,dc=com,dc=ar
 +objectClass: top
 +objectClass: account
 +objectClass: posixAccount
 +objectClass: shadowAccount
 +cn: switch-read
 +uid: switch-read
 +uidNumber: 16002
 +gidNumber: 10002
 +homeDirectory: /home/linux-user
 +loginShell: /bin/bash
 +gecos: adam
 +userPassword: {crypt}x
 +shadowLastChange: 0
 +shadowMax: 0
 +shadowWarning: 0
 +</code>
 +
 +=== Agregar usuarios a grupo ===
 +<code>
 +dn: cn=users-write,ou=groups,dc=cayu,dc=com,dc=ar
 +changetype: modify
 +add: memberUid
 +memberUid: linux-admin
 +</code>
 +<code>
 +dn: cn=users-read,ou=groups,dc=cayu,dc=com,dc=ar
 +changetype: modify
 +add: memberUid
 +memberUid: linux-user
 +</code>
 ===== Replicación ===== ===== Replicación =====
  
Línea 305: Línea 404:
  
 ===== En los clientes ===== ===== En los clientes =====
 +
 +==== Configuracion servidor LDAP con políticas ====
  
 **/etc/pam.d/system-auth** **/etc/pam.d/system-auth**
Línea 384: Línea 485:
 password   include system-auth password   include system-auth
 session    include system-auth session    include system-auth
 +</code>
 +
 +
 +==== Configuracion servidor LDAP sin políticas ====
 +
 +
 +
 +=== Configuracion PAM ===
 +
 +**PAM** **P**luggable **A**uthentication **M**odules. PAM es un sistema de autenticación que controla el acceso a diferentes recursos.
 +
 +== /etc/nsswitch.conf ==
 +
 +<code perl>
 +passwd:     files ldap
 +shadow:     files ldap
 +group:      files ldap
 +hosts:      files dns
 +bootparams: nisplus [NOTFOUND=return] files
 +ethers:     files
 +netmasks:   files
 +networks:   files
 +protocols:  files
 +rpc:        files
 +services:   files
 +
 +netgroup:   files
 +
 +publickey:  nisplus
 +
 +automount:  files
 +aliases:    files nisplus
 +</code>
 +
 +== /etc/pam.d/system-auth ==
 +
 +<code perl>
 +auth      required      /lib/security/$ISA/pam_env.so
 +auth      sufficient    /lib/security/$ISA/pam_ldap.so
 +auth      sufficient    /lib/security/$ISA/pam_unix.so likeauth nullok use_first_pass
 +auth      required      /lib/security/$ISA/pam_permit.so
 +auth      required      /lib/security/$ISA/pam_deny.so
 +account   sufficient    /lib/security/$ISA/pam_ldap.so 
 +account   required      /lib/security/$ISA/pam_unix.so
 +password  required      /lib/security/$ISA/pam_cracklib.so retry=3 type=
 +password  sufficient    /lib/security/$ISA/pam_ldap.so debug use_first_pass
 +password  sufficient    /lib/security/$ISA/pam_unix.so nullok use_authtok md5 shadow use_first_pass
 +password  required      /lib/security/$ISA/pam_deny.so
 +session   required      /lib/security/$ISA/pam_limits.so
 +session   required      /lib/security/$ISA/pam_unix.so
 +session   optional      /lib/security/$ISA/pam_mkhomedir.so
 +</code>
 +
 +=== Radius ===
 +
 +**RADIUS** (acrónimo en inglés de **R**emote **A**uthentication **D**ial-In **U**ser **S**erver). Es un protocolo de autenticación y autorización para aplicaciones de acceso a la red o movilidad IP. Utiliza el puerto 1813 UDP para establecer sus conexiones.
 +
 +
 +
 +//Cuando se realiza la conexión con un ISP mediante módem, DSL, cablemódem, Ethernet o Wi-Fi, se envía una información que generalmente es un nombre de usuario y una contraseña. Esta información se transfiere a un dispositivo NAS (Servidor de Acceso a la Red) sobre el protocolo PPP, quien redirige la petición a un servidor RADIUS sobre el protocolo RADIUS. El servidor RADIUS comprueba que la información es correcta utilizando esquemas de autentificación como PAP, CHAP o EAP. Si es aceptado, el servidor autorizará el acceso al sistema del ISP y le asigna los recursos de red como una dirección IP, y otros parámetros como L2TP, etc.//
 +
 +
 +
 +
 +Configuracion de autenticacion, con **PAM** previamente configurado contra LDAP
 +
 +== /etc/raddb/users ==
 +
 +
 +<code python>
 +DEFAULT Auth-Type := Pam, Pam-Auth := radiusd,  Group == "radius-write"
 +        Service-Type = Login-User,
 +        Cisco-AVPair = "shell:priv-lvl=15",
 +        Fall-Through = 0
 +DEFAULT Auth-Type := Pam, Pam-Auth := radiusd, Group == "radius-lectura"
 +        Service-Type = Login-User,
 +        Cisco-AVPair = "shell:priv-lvl=5",
 +        Fall-Through = 0
 +DEFAULT Auth-Type = LDAP
 +        Fall-Through = 1
 +DEFAULT Ldap-Group == "ou=users,dc=pan-energy"
 +        Fall-Through = no
 </code> </code>
  
Línea 876: Línea 1059:
  
 {{:notas:cambia_password.tgz|}} {{:notas:cambia_password.tgz|}}
 +
 +==== SUDO ====
 +
 +La confiuración de SUDO almacenada dentro de LDAP la podemos encontrar en el archivo README.LDAP
 +
 +
 +Igualmente SUDO nos tomara la configuación actual para obtener los grupos, de los dato que obtiene del nss, asi que podemos configurar nuestro grupo ldap para ser tomado por el sudoers de esta forma.
 +
 +
 +La sintaxis es la misma que para cualquier sudoers
 +<code>
 +Cmnd_Alias     PASSWDROOT = /usr/bin/passwd root
 +Cmnd_Alias     USER_ADD   = /usr/sbin/useradd
 +Cmnd_Alias     PASSWDUSER = /usr/bin/passwd
 +Cmnd_Alias     USER_DEL   = /usr/sbin/userdel
 +
 +administrador ALL=(ALL) ALL
 +%Administradores ALL = NOPASSWD: PASSWDROOT, USER_ADD, PASSWDUSER, USER_DEL
 +</code>
 +
 +
 +
  
 ==== Referencias ==== ==== Referencias ====
notas/openldap.1297256824.txt.gz · Última modificación: 2011/02/09 13:07 por cayu