Agregar un esquema alternativo de cambio de contraseña a la contraseña utilizando los módulos PAM [cerrado]

2

Estoy intentando configurar un módulo PAM que le permite a uno agregar un esquema de cambio de contraseña condicional. El comportamiento deseado es así:

  1. passwd

  2. ¿Desea cambiar el token de autenticación para TestProgram? (s / n):

en caso de que decida que lo hace (s)

  • 3.1.1 (s) > usuario: ...
  • 3.1.2 > pass: ...
  • 3.1.3 > newpass: ...
  • 3.1.4 > repetir paso nuevo: ...

  • 3.1.5 > la contraseña se modificó correctamente (o no)

En caso de que solo quisiera usar passwd regularmente

  • 3.2.1: contraseña de usuario de UNIX: ....

...

Ya me las arreglé para que funcionara más o menos, pero tengo problemas con los indicadores PAM. En este momento, la configuración del módulo (llamémoslo myauthschema) es así:

auth sufficient /usr/lib/security/pam_mymod.so ...

y en mi archivo /etc/pam.d/passwd agregué primero la línea

@include myauthschema

En la interfaz pam_sm_chauthtok hago esto:

if(flags & PAM_PRELIM_CHECK) return PAM_IGNORE;

De lo contrario, ejecute la conversación pam para saber si desea cambiar las credenciales de este programa. Si lo hace, devuelva PAM_SUCCESS o un error (esto debería terminar con la ejecución de la pila, ya sea por éxito o por falla),

Si desea utilizar el módulo regular,

return PAM_IGNORE*

Mi problema es el siguiente: cuando ejecuto passwd , ejecutará mi módulo, pero si decido dar a PAM_IGNORE su resultado, no se me solicitará mi contraseña de usuario a continuación, para el uso regular de passwd comando. ¿Alguna idea de cómo podría resolverse? es muy probable que no pueda usar las banderas correctamente, es decir, siempre devuelvo PAM_IGNORE la primera vez que se llama pam_sm_chauthok , pero no estoy seguro de qué debo devolver.

Tal vez el comportamiento correcto es preguntar primero lo que quiero chauthtok , luego verificar si es la verificación preliminar o no. Si mi pregunta no es clara, me gustaría escucharla.

Por lo que sé, es muy similar a esta pregunta que encontré al excavar la inter-web: enlace

    
pregunta Bruno Figares 28.09.2011 - 01:37
fuente

0 respuestas

Lea otras preguntas en las etiquetas