Autenticación PAM y acceso SSH basado en información de usuario almacenada en sqlite3

Tengo una aplicación que se ejecuta en una caja de Linux . La aplicación almacena toda su información de usuario (como – username , password , ssh-allowed , etc.) en una database sqlite3 siguiente manera.

 username password ssh-allowed admin X y regularuser X n 

Los usuarios de la aplicación iniciarán session en una GUI para usar la aplicación. Pero todos los usuarios de la aplicación que tienen su ssh-allowed como y pueden iniciar session en la caja de Linux usando ssh . Otros usuarios de aplicaciones (con ssh-allowed como n ) no pueden iniciar session en el cuadro de Linux utilizando ssh .

Por lo tanto, en el caso anterior, el usuario admin tendrá permiso para ssh a la caja de Linux , pero se le denegará el acceso a la caja de Linux usuario regularuser .

Con la GUI, para realizar la authentication usando PAM para la información del usuario almacenada en sqlite , utilizo libpam-sqlite . En realidad, lo he modificado para que funcione con la database sqlite3 y está disponible aquí .

Ahora a la pregunta: cuando un usuario de la aplicación intenta iniciar session en el cuadro Linux , ¿cómo puedo realizar la authentication y luego decidir permitir o denegar el acceso ssh function del parámetro ssh-allowed que está almacenado en la database sqlite3 usando PAM (o Cualquier otra manera)?

NOTA: toda la información del usuario se almacena en la database sqlite3 solamente y NO en /etc/passwd , /etc/shadow , /etc/group . IOW la aplicación no tiene derechos para agregar / eliminar loggings en los files /etc

NOTA 2: Tengo la misma pregunta publicada en SO ; pensó que este es un mejor foro para preguntas relacionadas con Linux.