[opensuse-es] OpenLDAP - Cambiar directiva shadowMax (caducidad de passwd)
Hola amigos, Desde hace unos meses vengo arrastrando un problema que no he podido resolver on OpenLDAP + Samba. Tengo integrados los servicios y el dominio y correo autentica a través de LDAP, sin embargo, cada 45 días estan venciendo las contraseñas y no queremos que continue con este comportamiento. La única manera que he encontrado para corregir antes de manera paleativa es es cambiar la directiva en la información de LDAP de cada usuario. Obviamente esto me obliga a cambiar contraseña inmediatamente (no es problema) pero la directiva no cambia su valor y a los 45 dias estoy nuevamente con el problema que venció la contraseña. Yo necesito decirle a OpenLDAP que cambie ese valor de manera permanente y la contraseña de toda cuenta de usuario (existente o nueva) no tenga fecha de caducidad. Gracias por cualquier ayuda. Bayardo.
On Monday 15 March 2010 18:21:04 Bayardo Rivas wrote:
Hola amigos,
Desde hace unos meses vengo arrastrando un problema que no he podido resolver on OpenLDAP + Samba.
Tengo integrados los servicios y el dominio y correo autentica a través de LDAP, sin embargo, cada 45 días estan venciendo las contraseñas y no queremos que continue con este comportamiento. La única manera que he encontrado para corregir antes de manera paleativa es es cambiar la directiva en la información de LDAP de cada usuario. Obviamente esto me obliga a cambiar contraseña inmediatamente (no es problema) pero la directiva no cambia su valor y a los 45 dias estoy nuevamente con el problema que venció la contraseña.
Yo necesito decirle a OpenLDAP que cambie ese valor de manera permanente y la contraseña de toda cuenta de usuario (existente o nueva) no tenga fecha de caducidad.
Gracias por cualquier ayuda.
Bayardo.
Con pdbedit deberia cambiarse la politica para todo el grupo que le digas -- 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
Hola, utilice el comando : # pdbedit -P "maximum password age" -C -1 La politica es "maximum password age" y el valor -1 le indica que las contraseñas no expiran, pero aún me sigue diciendo que existe un valor para la caducidad de la contraseña que por cierto es en segundos y representa bastante tiempo, incluso, distinto a los 45 días que me muestra la interfaz gráfica de administración del LDAP el cual "lee" los valores de Samba para esta directiva (supongo que atraves de los esquemas). otra sugerencia?? Gracias, Bayardo francisco f wrote:
On Monday 15 March 2010 18:21:04 Bayardo Rivas wrote:
Hola amigos,
Desde hace unos meses vengo arrastrando un problema que no he podido resolver on OpenLDAP + Samba.
Tengo integrados los servicios y el dominio y correo autentica a través de LDAP, sin embargo, cada 45 días estan venciendo las contraseñas y no queremos que continue con este comportamiento. La única manera que he encontrado para corregir antes de manera paleativa es es cambiar la directiva en la información de LDAP de cada usuario. Obviamente esto me obliga a cambiar contraseña inmediatamente (no es problema) pero la directiva no cambia su valor y a los 45 dias estoy nuevamente con el problema que venció la contraseña.
Yo necesito decirle a OpenLDAP que cambie ese valor de manera permanente y la contraseña de toda cuenta de usuario (existente o nueva) no tenga fecha de caducidad.
Gracias por cualquier ayuda.
Bayardo.
Con pdbedit deberia cambiarse la politica para todo el grupo que le digas
Aún no me cambia el valor de esa política. Me sigue diciendo que la caducidad del password es de 4,294,967,295 segundos. Esto equivale a un montón de años y de todas maneras no cambia el valor de la política. Si alguien lo ha cambio para decirle a su samba que no expire la passwd como política, le agradezco el si comenta el truquito. Saludos, Bayardo. Bayardo Rivas wrote:
Hola,
utilice el comando :
# pdbedit -P "maximum password age" -C -1
La politica es "maximum password age" y el valor -1 le indica que las contraseñas no expiran, pero aún me sigue diciendo que existe un valor para la caducidad de la contraseña que por cierto es en segundos y representa bastante tiempo, incluso, distinto a los 45 días que me muestra la interfaz gráfica de administración del LDAP el cual "lee" los valores de Samba para esta directiva (supongo que atraves de los esquemas).
otra sugerencia??
Gracias,
Bayardo
francisco f wrote:
On Monday 15 March 2010 18:21:04 Bayardo Rivas wrote:
Hola amigos,
Desde hace unos meses vengo arrastrando un problema que no he podido resolver on OpenLDAP + Samba.
Tengo integrados los servicios y el dominio y correo autentica a través de LDAP, sin embargo, cada 45 días estan venciendo las contraseñas y no queremos que continue con este comportamiento. La única manera que he encontrado para corregir antes de manera paleativa es es cambiar la directiva en la información de LDAP de cada usuario. Obviamente esto me obliga a cambiar contraseña inmediatamente (no es problema) pero la directiva no cambia su valor y a los 45 dias estoy nuevamente con el problema que venció la contraseña.
Yo necesito decirle a OpenLDAP que cambie ese valor de manera permanente y la contraseña de toda cuenta de usuario (existente o nueva) no tenga fecha de caducidad.
Gracias por cualquier ayuda.
Bayardo.
Con pdbedit deberia cambiarse la politica para todo el grupo que le digas
Hola amigos, El día fue largo y no avance un pelo con este problema por mas que lo intenté. Existe otra manera de modificar las políticas de caducidad de passwd del samba??? solo lo puedo hacer a través de pdbedit?? Gracias a quienes tengan una última recomendación. Bayardo. Bayardo Rivas wrote:
Aún no me cambia el valor de esa política. Me sigue diciendo que la caducidad del password es de 4,294,967,295 segundos. Esto equivale a un montón de años y de todas maneras no cambia el valor de la política.
Si alguien lo ha cambio para decirle a su samba que no expire la passwd como política, le agradezco el si comenta el truquito.
Saludos,
Bayardo.
Bayardo Rivas wrote:
Hola,
utilice el comando :
# pdbedit -P "maximum password age" -C -1
La politica es "maximum password age" y el valor -1 le indica que las contraseñas no expiran, pero aún me sigue diciendo que existe un valor para la caducidad de la contraseña que por cierto es en segundos y representa bastante tiempo, incluso, distinto a los 45 días que me muestra la interfaz gráfica de administración del LDAP el cual "lee" los valores de Samba para esta directiva (supongo que atraves de los esquemas).
otra sugerencia??
Gracias,
Bayardo
francisco f wrote:
On Monday 15 March 2010 18:21:04 Bayardo Rivas wrote:
Hola amigos,
Desde hace unos meses vengo arrastrando un problema que no he podido resolver on OpenLDAP + Samba.
Tengo integrados los servicios y el dominio y correo autentica a través de LDAP, sin embargo, cada 45 días estan venciendo las contraseñas y no queremos que continue con este comportamiento. La única manera que he encontrado para corregir antes de manera paleativa es es cambiar la directiva en la información de LDAP de cada usuario. Obviamente esto me obliga a cambiar contraseña inmediatamente (no es problema) pero la directiva no cambia su valor y a los 45 dias estoy nuevamente con el problema que venció la contraseña.
Yo necesito decirle a OpenLDAP que cambie ese valor de manera permanente y la contraseña de toda cuenta de usuario (existente o nueva) no tenga fecha de caducidad.
Gracias por cualquier ayuda.
Bayardo.
Con pdbedit deberia cambiarse la politica para todo el grupo que le digas
El día fue largo y no avance un pelo con este problema por
mas que lo intenté. Existe otra manera de modificar las políticas de caducidad de passwd del samba??? solo lo puedo hacer a través de pdbedit??
No.. aunque estoy trabajando en modo recuerdo hay algo de la misma microsoft con que se puede cambiar el comportamiento de samba aqui estan ftp://ftp.microsoft.com/Softlib/MSLFILES/SRVTOOLS.EXE con eso se puede ver algunos parametros de samba y toquetear otros (eso no corre en linux ni con wine.. pero si en XP mira a ver si te sirve para algo.. te repito estoy en modo recuerdo asi que de pronto la auida noe s muy efectiva Jaime v -- 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
El Tue, 16 Mar 2010 21:59:22 -0600, Bayardo Rivas escribió:
El día fue largo y no avance un pelo con este problema por mas que lo intenté. Existe otra manera de modificar las políticas de caducidad de passwd del samba??? solo lo puedo hacer a través de pdbedit??
Es que "pdbedit" debería funcionar, que para eso está y es la herramienta recomendaba e integrada en el propio paquete de Samba :-? ¿Qué te devuelve "pdbedit -P "maximum password age"? Saludos, -- Camaleón -- 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
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. Aqui el resultado del comando que he utilizado Gracias por su ayuda. Bayardo ============================================ # pdbedit -P "maximum password age" INFO: Current debug levels: all: True/65 tdb: False/0 printdrivers: False/0 lanman: False/0 smb: False/0 rpc_parse: False/0 rpc_srv: False/0 rpc_cli: False/0 passdb: False/0 sam: False/0 auth: False/0 winbind: False/0 vfs: False/0 idmap: False/0 quota: False/0 acls: False/0 locking: False/0 msdfs: False/0 dmapi: False/0 doing parameter domain logons = Yes doing parameter domain master = Yes doing parameter preferred master = Yes doing parameter printcap name = CUPS doing parameter show add printer wizard = No doing parameter printing = cups doing parameter template shell = /bin/false doing parameter winbind use default domain = no doing parameter dont descend = /proc,/dev,/etc,/lib,/lost+found,/initrd doing parameter case sensitive = no doing parameter short preserve case = yes doing parameter hosts allow = 127., 192.168.0. doing parameter ldap delete dn = Yes doing parameter add user script = /usr/local/sbin/smbldap-useradd -m "%u" doing parameter add machine script = /usr/local/sbin/smbldap-useradd -w "%u" doing parameter add group script = /usr/local/sbin/smbldap-groupadd -p "%g" doing parameter add user to group script = /usr/local/sbin/smbldap-groupmod -m "%u" "%g" doing parameter delete user from group script = /usr/local/sbin/smbldap-groupmod -x "%u" "%g" doing parameter set primary group script = /usr/local/sbin/smbldap-usermod -g "%g" "%u" doing parameter delete user script = /usr/local/sbin/smbldap-userdel "%u" doing parameter delete group script = /usr/local/sbin/smbldap-groupdel "%g" doing parameter logon script = scripts\logon.bat doing parameter logon path = \\%L\profiles\%U doing parameter logon drive = X: pm_process() returned Yes lp_servicenumber: couldn't find homes set_server_role: role = ROLE_DOMAIN_PDC Attempting to register new charset UCS-2LE Registered charset UCS-2LE Attempting to register new charset UTF-16LE Registered charset UTF-16LE Attempting to register new charset UCS-2BE Registered charset UCS-2BE Attempting to register new charset UTF-16BE Registered charset UTF-16BE Attempting to register new charset UTF8 Registered charset UTF8 Attempting to register new charset UTF-8 Registered charset UTF-8 Attempting to register new charset ASCII Registered charset ASCII Attempting to register new charset 646 Registered charset 646 Attempting to register new charset ISO-8859-1 Registered charset ISO-8859-1 Attempting to register new charset UCS2-HEX Registered charset UCS2-HEX Substituting charset 'UTF-8' for LOCALE Substituting charset 'UTF-8' for LOCALE Substituting charset 'UTF-8' for LOCALE Substituting charset 'UTF-8' for LOCALE Substituting charset 'UTF-8' for LOCALE Substituting charset 'UTF-8' for LOCALE Substituting charset 'UTF-8' for LOCALE Substituting charset 'UTF-8' for LOCALE Substituting charset 'UTF-8' for LOCALE Substituting charset 'UTF-8' for LOCALE Substituting charset 'UTF-8' for LOCALE Substituting charset 'UTF-8' for LOCALE Substituting charset 'UTF-8' for LOCALE Substituting charset 'UTF-8' for LOCALE Substituting charset 'UTF-8' for LOCALE Substituting charset 'UTF-8' for LOCALE Substituting charset 'UTF-8' for LOCALE Substituting charset 'UTF-8' for LOCALE Substituting charset 'UTF-8' for LOCALE Substituting charset 'UTF-8' for LOCALE Substituting charset 'UTF-8' for LOCALE Substituting charset 'UTF-8' for LOCALE Substituting charset 'UTF-8' for LOCALE Substituting charset 'UTF-8' for LOCALE Attempting to register passdb backend ldapsam Successfully added passdb backend 'ldapsam' Attempting to register passdb backend ldapsam_compat Successfully added passdb backend 'ldapsam_compat' Attempting to register passdb backend NDS_ldapsam Successfully added passdb backend 'NDS_ldapsam' Attempting to register passdb backend NDS_ldapsam_compat Successfully added passdb backend 'NDS_ldapsam_compat' Attempting to register passdb backend smbpasswd Successfully added passdb backend 'smbpasswd' Attempting to register passdb backend tdbsam Successfully added passdb backend 'tdbsam' Attempting to find an passdb backend to match ldapsam:"ldap://192.168.0.1" (ldapsam) Found pdb backend ldapsam smbldap_search_domain_info: Searching for:[(&(objectClass=sambaDomain)(sambaDomainName=MiDominio))] smbldap_search_ext: base => [dc=MiDominio,dc=org,dc=ni], filter => [(&(objectClass=sambaDomain)(sambaDomainName=MiDominio))], scope => [2] The connection to the LDAP server was closed smb_ldap_setup_connection: ldap://192.168.0.1 smbldap_open_connection: connection opened ldap_connect_system: Binding to ldap server ldap://192.168.0.1 as "cn=Manager,dc=MiDominio,dc=org,dc=ni" ldap_connect_system: successful connection to the LDAP server ldap_connect_system: LDAP server does support paged results The LDAP server is successfully connected smbldap_get_single_attribute: [sambaAlgorithmicRidBase] = [<does not exist>] pdb backend ldapsam:"ldap://192.168.0.1" has a valid init Netbios name list:- my_netbios_names[0]="SACUANJOCHE" Attempting to find an passdb backend to match ldapsam:"ldap://192.168.0.1" (ldapsam) Found pdb backend ldapsam smbldap_search_domain_info: Searching for:[(&(objectClass=sambaDomain)(sambaDomainName=MiDominio))] smbldap_search_ext: base => [dc=MiDominio,dc=org,dc=ni], filter => [(&(objectClass=sambaDomain)(sambaDomainName=MiDominio))], scope => [2] The connection to the LDAP server was closed smb_ldap_setup_connection: ldap://192.168.0.1 smbldap_open_connection: connection opened ldap_connect_system: Binding to ldap server ldap://192.168.0.1 as "cn=Manager,dc=MiDominio,dc=org,dc=ni" ldap_connect_system: successful connection to the LDAP server ldap_connect_system: LDAP server does support paged results The LDAP server is successfully connected smbldap_get_single_attribute: [sambaAlgorithmicRidBase] = [<does not exist>] pdb backend ldapsam:"ldap://192.168.0.1" has a valid init 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
Es que "pdbedit" debería funcionar, que para eso está y es la herramienta recomendaba e integrada en el propio paquete de Samba :-?
¿Qué te devuelve "pdbedit -P "maximum password age"?
Saludos,
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, -- Camaleón -- 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
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 2010-03-20 18:10, Camaleón wrote:
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).
Ese numero es 2³²-1, o sea, el mayor número de 32 bits que se puede almacenar. O sea, es el valor de infinito para un programa que use enteros de 32 bits, o sea, que significa nunca porque mayor no se puede escribir. - -- Cheers / Saludos, Carlos E. R. (from 11.2 x86_64 "Emerald" GM (Elessar)) -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.12 (GNU/Linux) Comment: Using GnuPG with SUSE - http://enigmail.mozdev.org/ iEYEARECAAYFAkulI18ACgkQU92UU+smfQXbwwCeOXEOakS7VkiVukiTm6Bz+M6z iT4AnRwGUmpiAkxVR9NBQq3Xg4cfFNhs =JxkM -----END PGP SIGNATURE----- -- 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
El Sat, 20 Mar 2010 20:34:55 +0100, Carlos E. R. escribió:
On 2010-03-20 18:10, Camaleón wrote:
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).
Ese numero es 2³²-1, o sea, el mayor número de 32 bits que se puede almacenar. O sea, es el valor de infinito para un programa que use enteros de 32 bits, o sea, que significa nunca porque mayor no se puede escribir.
Eso es interesante. http://en.wikipedia.org/wiki/Integer_(computer_science) Realmente esa cifra 4.294.967.295 (que expresa tiempo en segundos en samba) equivale a unos ciento treinta y pico años. Es una curiosa forma de aplicarlo. Y una limitación auto-impuesta/ficticia para los sistemas de 64 bits ¿no? :-? Saludos, -- Camaleón -- 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
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2010-03-21 a las 11:18 -0000, Camaleón escribió:
El Sat, 20 Mar 2010 20:34:55 +0100, Carlos E. R. escribió:
Ese numero es 2³²-1, o sea, el mayor número de 32 bits que se puede almacenar. O sea, es el valor de infinito para un programa que use enteros de 32 bits, o sea, que significa nunca porque mayor no se puede escribir.
Eso es interesante.
Mmm. Y parte de los problemas que describen son del C, donde un "entero" tiene un tamaño distinto según para que maquina sea el compilador... eso les pasa por no definir nombres unívocos y universales.
Realmente esa cifra 4.294.967.295 (que expresa tiempo en segundos en samba) equivale a unos ciento treinta y pico años. Es una curiosa forma de aplicarlo. Y una limitación auto-impuesta/ficticia para los sistemas de 64 bits ¿no? :-?
Si usaras un entero de 64 bits entonces tendrías ficheros de configuración distintos según tuvieras sistemas de 64 o de 32 bits. O dicho de otro modo, no por recompilar un programa para otro procesador mayor tienes todas sus ventajas. También hay que tocar el programa. - -- Saludos Carlos E. R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAkumGikACgkQtTMYHG2NR9VnVACfeceJ5JB5JKOs4vxkTv5IiJLj lUAAn3+kSCrZW3IOXXN+LlHc/cqu9les =aX9h -----END PGP SIGNATURE-----
El Sun, 21 Mar 2010 14:07:50 +0100, Carlos E. R. escribió:
El 2010-03-21 a las 11:18 -0000, Camaleón escribió:
Eso es interesante.
Mmm.
Y parte de los problemas que describen son del C, donde un "entero" tiene un tamaño distinto según para que maquina sea el compilador... eso les pasa por no definir nombres unívocos y universales.
Supongo que la culpa no será sólo del lenguaje sino también del programador ¿o esas cosas no se pueden depurar con las herramientas que proporciona C? :-?
Realmente esa cifra 4.294.967.295 (que expresa tiempo en segundos en samba) equivale a unos ciento treinta y pico años. Es una curiosa forma de aplicarlo. Y una limitación auto-impuesta/ficticia para los sistemas de 64 bits ¿no? :-?
Si usaras un entero de 64 bits entonces tendrías ficheros de configuración distintos según tuvieras sistemas de 64 o de 32 bits.
O dicho de otro modo, no por recompilar un programa para otro procesador mayor tienes todas sus ventajas. También hay que tocar el programa.
Claro. Lo extraño es que no hayan optimizado samba para los 64 bits. O no en todos los aspectos. De todas formas, para inhabilitar una opción no se me ocurriría usar valores enormes o impensables. No me parece una solución infalible. Prefiero hacerlo en dos pasos: primero un conmutador (0|1) y luego, si "1", permitir la asignación de valores. Saludos, -- Camaleón -- 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
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 El 2010-03-21 a las 13:43 -0000, Camaleón escribió:
El Sun, 21 Mar 2010 14:07:50 +0100, Carlos E. R. escribió:
Mmm.
Y parte de los problemas que describen son del C, donde un "entero" tiene un tamaño distinto según para que maquina sea el compilador... eso les pasa por no definir nombres unívocos y universales.
Supongo que la culpa no será sólo del lenguaje sino también del programador ¿o esas cosas no se pueden depurar con las herramientas que proporciona C? :-?
No, no es depurable porque es imposible adivinar las intenciones del programador al usar un nombre u otro. El párrafo es este: One important cause of non-portability of software is the incorrect assumption that all computers have the same word size as the computer used by the programmer. For example, if a programmer using the C language incorrectly declares as int a variable that will be used to store values greater than 2¹⁶-1, the program will fail on computers with 16-bit integers. That variable should have been declared as long, which has at least 32 bits on any computer. Programmers may also incorrectly assume that a pointer can be converted to an integer without loss of information, which may work on (some) 32-bit computers, but fail on 64-bit computers with 64-bit pointers and 32-bit integers. El problema es que la definición de "int" o de "long int" es variable, es del tipo "se garantiza que tiene un tamaño mínimo de" y cosas así, en vez de especificar "tiene un tamaño exacto de". Lo que hacemos los programadores es hacer un programita de cuatro lineas que nos pone en pantalla el tamaño de las variables, y a partir de ese momento trabajamos con esa idea mental. El problema es cuando el programa se cambia de máquina y se recompila, por ejemplo, en un 64bit, y de repente unas cuantas variables cambian de tamaño. O peor aún, lo haces en uno más pequeño y los punteros se desbordan... la lias parda. Es por hacer la cuenta de la vieja. Ese párrafo de la wikipedia tan solo esboza el problema. Otra parte del problema es que el compilador de C te permite (puede que ahora te den un warning más o menos gordo) asignar entre sí variables de distinto tamaño o tipo (un puntero a un entero, pe). En otros compiladores de más fuerte tipado para hacer eso tienes que asegurar al compilador que efectivamente quieres hacer esa asignación concreta aunque sea peligroso. El tema de la portabilidad del software no es nada sencillo.
Realmente esa cifra 4.294.967.295 (que expresa tiempo en segundos en samba) equivale a unos ciento treinta y pico años. Es una curiosa forma de aplicarlo. Y una limitación auto-impuesta/ficticia para los sistemas de 64 bits ¿no? :-?
Si usaras un entero de 64 bits entonces tendrías ficheros de configuración distintos según tuvieras sistemas de 64 o de 32 bits.
O dicho de otro modo, no por recompilar un programa para otro procesador mayor tienes todas sus ventajas. También hay que tocar el programa.
Claro. Lo extraño es que no hayan optimizado samba para los 64 bits. O no en todos los aspectos.
De todas formas, para inhabilitar una opción no se me ocurriría usar valores enormes o impensables. No me parece una solución infalible. Prefiero hacerlo en dos pasos: primero un conmutador (0|1) y luego, si "1", permitir la asignación de valores.
Tendrían que usar configuraciones portables, del tipo de "infinito", no un número muy grande. Ya te he dicho que lo de la portabilidad no es precisamente un tema sencillo... yo no me he peleado con ella. - -- Saludos Carlos E. R. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.9 (GNU/Linux) iEYEARECAAYFAkumUKIACgkQtTMYHG2NR9XkewCfRKrrFYVkArrqWgJ7nTnMJWCN e8QAmQFQ4/W/CV5el9d4FwB4Cxsq2Cwb =aakR -----END PGP SIGNATURE-----
On Domingo, 21 de Marzo de 2010 14:43:43 Camaleón escribió:
De todas formas, para inhabilitar una opción no se me ocurriría usar valores enormes o impensables. No me parece una solución infalible. Prefiero hacerlo en dos pasos: primero un conmutador (0|1) y luego, si "1", permitir la asignación de valores.
No espero estar yo por aqui en el 2140, para poder investigar si tienes o no tienes razon. -- Saludos Lluis
El Sun, 21 Mar 2010 19:57:55 +0100, Lluis escribió:
On Domingo, 21 de Marzo de 2010 14:43:43 Camaleón escribió:
De todas formas, para inhabilitar una opción no se me ocurriría usar valores enormes o impensables. No me parece una solución infalible. Prefiero hacerlo en dos pasos: primero un conmutador (0|1) y luego, si "1", permitir la asignación de valores.
No espero estar yo por aqui en el 2140, para poder investigar si tienes o no tienes razon.
¿No te animas? Pero si es muy sencillo... (abstenerse usuarios con sistemas de 32 bits puros o edulcorados con el PAE, estáis limitados por el bug del 2038, ¡¡juas, juaasssss!! ejem...): *** sm01@stt008:~$ date --date='130 years' lun mar 21 20:12:22 CET 2140 *** Y si ajustamos el reloj del sistema a esa hora y tenemos un samba ejecutándose en el equipo... ¡tacháaaan!, "to'er mundo a cambiarse la passwold" >>:-). Por eso mi sistema de conmutación inicial sería mejor, evita esos problemas O:-) Nota: no, realmente no pasaría nada, porque ese valor del número gigantesco de samba equivale a "never", no toma un valor de fecha real. O eso creo. Saludos, -- Camaleón -- 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
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,
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,
Bayardo Rivas escribió:
Hola amigos,
El día fue largo y no avance un pelo con este problema por mas que lo intenté. Existe otra manera de modificar las políticas de caducidad de passwd del samba??? solo lo puedo hacer a través de pdbedit??
A mi siempre me ha funcionado. Otra forma es modificando todos los win con el gpedit.msc o cambiando directamente el registro. Otra opcion con los ficheros .pol al iniciar sesion -- 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
participants (7)
-
admin-listas
-
Bayardo Rivas
-
Camaleón
-
Carlos E. R.
-
francisco f
-
Jaime Velez
-
Lluis