El Martes, 15 de Julio de 2008, Carlos Moreira escribió:
auth_param basic program /usr/lib/squid/squid_ldap_auth -b "ou=users,dc=imcanelones,dc=gub,dc=uy" -h 10.1.1.25 -f (uid=%s) auth_param basic children 5 auth_param basic realm Squid proxy-caching web server auth_param basic credentialsttl 2 hours auth_param basic casesensitive off
Lo primero es que pruebes la orden así squid_ldap_auth -b "ou=users,dc=imcanelones,dc=gub,dc=uy" -h 10.1.1.25 -f (uid=%s) cuando ejecutas la orden así la maquina se queda esperando algo.. das un usuario legal de ldap y el password del usuario separado por un espacio ejemplo: juan pepe12345 se refiere al usuario juan con password pepe12345 si el usuario existe en ldap y el password es correcto te debe aparecer un OK en mi caso la instrucción es squid_ldap_auth -b "ou=people,dc=Antiquitera,dc=site" -v 3 los usuarios están en el contenedor (unidad organizacional) people que pertenece a Antiquitera.site. (el -v 3 es que autentique contra un ldap versión 3) si te aparecen puros ERR tienes un error de alguna clase o en la instrucción, o en el árbol LDAP, eso no tiene pierde. solo has verificado que el usuario exista y su password sea correcto. falta que pertenezca a un grupo especifico (muy útil para que unos usuarios naveguen y otros no, o que unos naveguen con algunas restricciones y otros sin restricción) la instrucción esa es la parte que sigue
external_acl_type ldap_group children=7 %LOGIN /usr/lib/squid/squid_ldap_group -P -b "ou=users,dc=imcanelones,dc=gub,dc=uy" -f "(&(CN=%g)(objectClass=posixGroup)(memberUid=%u))"
nuevamente ejecuta la instrucción directamente en la linea de comandos (como root) así squid_ldap_group -P -b "ou=users,dc=imcanelones,dc=gub,dc=uy" -f "(&(CN=%g) (objectClass=posixGroup)(memberUid=%u))" al ejecutarla te pide el usuario y el "grupo de control" por llamarlo de alguna forma, si por ejemplo el usuario es pepe y pepe pertenece al grupo "Internet" y son los usuarios de ese grupo los que tienen salida irrestricta entonces das pepe Internet la respuesta debe ser OK si pepe No pertenece al grupo Internet entonces la respuesta debe ser ERR el squid_ldap_group que me ha funcionado a mi es este squid_ldap_group -b "ou=group,dc=Antiquitera,dc=site" -f "(&(objectclass=posixGroup) (cn=%a) (member=uid=%v,ou=people,dc=Antiquitera,dc=site))" -B "ou=people,dc=Antiquitera,dc=site" -v 3 -s sub donde -b "ou=group,dc=Antiquitera,dc=site" apunta al contenedor de grupos (unidad organizacional de los grupos) (aquí veo que apuntas a donde están los usuarios.. eso esta como raro -f "(&(objectclass=posixGroup)(cn=%a) (member=uid=%v,ou=people,dc=Antiquitera,dc=site))" donde se busca al usuario especifico y que clase de objeto (objectclass) debe tener el usuario y -B "ou=people,dc=Antiquitera,dc=site" Especifica donde se encuentran los usuarios en mi caso hay básicamente dos contenedores en el árbol ldap (hay mas, pero para esto solo se tienen en cuenta dos) ou=people,dc=Antiquitera,dc=site (donde están los usuarios) ou=group,dc=Antiquitera,dc=site (donde están los grupos) creo que eso es todo... lo de las acl's esto esta mejor explicado en el archivo de squid de los que cualquiera te lo pueda explicar aquí. Espero haberte ayudado... suerte Jaime V ______________________________________________ LLama Gratis a cualquier PC del Mundo. Llamadas a fijos y móviles desde 1 céntimo por minuto. http://es.voice.yahoo.com --------------------------------------------------------------------- Para dar de baja la suscripción, mande un mensaje a: opensuse-es+unsubscribe@opensuse.org Para obtener el resto de direcciones-comando, mande un mensaje a: opensuse-es+help@opensuse.org