¿Qué programa debería usarse para solicitar la contraseña del usuario en la consola, verificarla y devolver solo el código de salida?

¿Qué programa debería usarse para solicitar la contraseña del usuario en la consola, verificarla y devolver solo el código de salida?

Que programajustopregunta la contraseña del usuario especificado (incluso si el usuario que llama es root) y devuelve el código de salida 0 si está bien y 1 si falla.

¿Existe un programa tan simple (es decir, que no sea "sudo" con configuración editada) para realizar la tarea?

También estoy buscando un programa que inicie sesión como usuario (verificando su contraseña, escribiendo en auth.log), pero que no ejecute ningún programa (como login), simplemente devuelva el código de salida.

Respuesta1

Quieres una utilidad conocida comopwauth. Hace exactamente lo que usted describe: acepta un nombre de usuario y contraseña, y luego devuelve un código de salida según su validez. Está diseñado para usarse con mod_auth_external de Apache para conectarse a la autenticación del sistema, pero debería funcionar bien para lo que desea.

Respuesta2

Lo que está tratando de frustrar el propósito de una sesión de usuario, el usuario ya escribió esa contraseña cuando inició sesión en su cuenta, por lo que es de mala educación volver a solicitarla para su tarea; Si desea que su programa se base en el inicio de sesión, entonces el mejor enfoque es admitir conjuntos de claves, esto permite al usuario elegir si desea escribir explícitamente o no una contraseña para su tarea.

No obligue a los usuarios a escribir correct horse battery staplenuevamente cuando lo acaban de hacer...

Respuesta3

Parece que la forma más sencilla es escribirlo usandopython-pamusando /usr/share/doc/python-pam/examples/pamtest.pycomo ejemplo. El ejemplo lee la contraseña, autentica al usuario mediante PAM y escribe un mensaje según el resultado. Se puede cambiar fácilmente a un código de salida variado.

información relacionada