Hola amigos de la lista. Finalmente encontre como cambiar el atributo shadowMax y resolví mi problema. Sin embargo, por ahora solo lo puedo hacer el cambio desde la consola una cuenta de usuario a la vez. Para mi esto ya es un avance y me resuelve el problema. El comando es sencillo pero me costó encontrarlo y aqui se los comparto: # smbldap-usermod --shadowMax 365 barivas Este comando le asigna al atributo shadowMax el valor de 365 días para la cuenta de usuario "barivas". Siendo mas explícito, este comando dice que el usuario "barivas" tiene que cambiar su contraseña 365 días después de la última actualización de contraseña, esto el sistema lo calcula a partir del atributo " shadowLastChanged". Con pdbedit, vi, y unas líneas en un script seguramente se logra un script que actualice los datos de todas las cuentas en unos pocos segundos. Saludos y gracias a uds. por su ayuda. Bayardo. Bayardo Rivas wrote:
Hola
Con los comentarios y enlaces enviados por ustedes he identificado cierta información que me sugiere los siguiente:
1. Efectivamente "pdbedit" es la herramienta exclusiva para manipular las políticas de acceso y seguridad
2. La política se aplica y esta implementada pero al parecer mi configuración incluye un esquema el cual controla o esta vinculado con las contraseñas (todavía no estoy claro).
3. La interfaz gráfica que utilizo para administrar mis usuarios LDAP, me dice que password la directiva "sambaPwdCanChange" no tiene problemas, sin embargo la directiva "shadowMax" la caducidad del password se mantiene en 45.
4. Realice el reset de una cuenta de usuario con el comando "pdbedit -z usuario1".
5. Posteriormente el comando "pdbedit -Lv usuario1" da como resultado lo siguiente:
(...) Password can change: Tue, 23 Mar 2010 10:43:36 CST Returning valid cache entry: key = ACCT_POL/maximum password age, value = 4294967295 , timeout = Tue Mar 23 10:49:13 2010 ldapsam_get_account_policy: got valid value from cache Password must change: never Last bad password : 0 Bad password count : 0
Lo que indica que la política esta aplicada tal a como yo la necesito.
6. Sin embargo, y después de todas estas pruebas no he podido lograr que la directiva que me esta caducando las contraseñas "shadowMax" cambie su valor a "never" o similar.
7. Pongo un enlace [1] de una discusión que encontre donde se refiere al tema de la directiva shadowMax es parte el esquema NIS. Por lo tanto, ese atributo tengo que cambiarlo... y ahi mi nueva pregunta.. cómo cambio el valor de un atributo de un esquema que usa OpenLDAP??
[1] http://old.nabble.com/password-policy-td6092592.html
Saludos y gracias por sus comentarios.
Bayardo.
Camaleón wrote:
El Sat, 20 Mar 2010 10:14:45 -0600, Bayardo Rivas escribió:
Hola Camaleón, gracias por responder y perdón por el retraso pero me pasó igual que antes y me meti a ver otro problemita por ahi y deje en pausa este problema de la caducidad del password que aún no resuelvo.
No problemo :-)
Aqui el resultado del comando que he utilizado
# pdbedit -P "maximum password age"
(...)
Opening cache file at /var/cache/samba/gencache.tdb Returning valid cache entry: key = ACCT_POL/maximum password age, value = 4294967295 , timeout = Sat Mar 20 10:00:28 2010 ldapsam_get_account_policy: got valid value from cache account policy "maximum password age" description: Maximum password age, in seconds (default: -1 => never expire passwords) account policy "maximum password age" value is: 4294967295
Hummmm, vale.
¿Sabes qué creo que puede estar pasando? Es una interpretación totalmente personal, eh, que yo de samba conozco "poco y mal" (vamos, lo justo).
La política general de cambio de contraseña te ha cambiado, efectivamente y ahora cualquier usuario nuevo que crees debería aplicarla, es decir, que la contraseña no debería caducar nunca (ese valor de "4294967295" equivale a "never", creo, porque yo lo tengo igual).
Pero ¿qué pasa con los usuarios que "ya estaban creados" aplicando la antigua política de contraseñas? Pues que mantienen la antigua (cambio a los 45 días), luego... ¿qué es lo que tendrías hacer? Modificar las cuentas de los usuarios, de forma individual.
¿Cómo se hace eso? Pues, ni idea :-P
Puedes hacer pruebas con una nueva cuenta de usuario: creas una nueva y verificas la política de contraseñas que se le aplica -ahora que has cambiado la directiva global- (con "pdbedit -Lv usuario" lo verás) y si te dice que "Password must change? never" pues ya tienes identificado con seguridad el origen del problema.
¿Y cómo solucionarlo? Pues eso no lo sé... en la documentación de pdbedit de samba¹ indican que para "resetar" una cuenta se hace con el parámetro "-z" (pdbedit -z cuenta") pero yo ese argumento del "z" no lo encuentro disponible en el manual de mi samba (man pdbedit) :-?
También indican que se puede cambiar el parámetro de "password must change" de la siguiente forma:
pdbedit --pwd-must-change-time=XXXXXX usuario
Pero... ¿qué valor se le puede pasar a "--pwd-must-change-time" para que no caduque nunca? Ni idea, no lo veo documentado. Yo lo tengo a "never" pero no creo que acepte una cadena de texto.
¹ http://www.samba.org/samba/docs/man/Samba-HOWTO-Collection/ passdb.html#pdbeditthing
Saludos,