이것은 xy 문제일 수 있습니다. 다른 방향을 알려주시기 바랍니다.
Lua 플러그인이나 CheckPassword 프로그램을 사용하여 dovecot의 passdb에 대한 로그인 메커니즘을 작성하려고 합니다. 궁극적인 목표는 모든 로그인을 사용자로 강제하지 않고도 비둘기장용으로 특별히 yubikey OTP를 사용할 수 있도록 하는 것입니다.
나는 이곳의 시설이 /usr/libexec/auth
유용하다고 생각했다. 특히 전화를 걸어 /usr/libexec/auth/login_yubikey -d username
비밀번호를 묻는 메시지를 받을 수 있습니다. 인증에 성공하면 프로그램이 authorize
터미널에 인쇄되고 상태 0으로 종료됩니다.
이제 다른 프로그램에서 이러한 기능을 사용하는 것은 어려워 보입니다. login_*
사용된 기능은 readpassphrase(3)
에서 읽혀지는 것이 아니라 stdin
에서 읽혀 집니다 /dev/tty
(여기서의 차이로 인해 혼란스럽습니다).
/usr/libexec/auth/login_*
사용자에게 비밀번호를 묻는 대신 비밀번호를 제공하는 시설에 어떻게 전화합니까 ?
이것이 가능하지 않은 경우 프로그램 내에서 주어진 비밀번호나 키를 사용하여 사용자에게 어떻게 권한을 부여할 수 있습니까?