J'écris mon propre module PAM qui fera partie d'une application que je développe, mais je ne sais pas exactement où le mettre. Mon module fait essentiellement une authentification au niveau du réseau (avec d'autres mojo bien sûr) similaire à LDAP.
Il y a beaucoup de fichiers de configuration dans mon /etc/pam.d/
répertoire, et je sais ce que font la plupart des services (sauf quelques-uns, comme atd, polkit, ppp). Je suppose que l'authentification avec la pile PAM ressemble à ceci:
- Exécute la pile en fonction du nom du service (s'il existe un fichier de configuration)
- S'il n'est pas authentifié, recourez à common- *, où * est le type de module (auth, compte, etc.)
- Renvoyer le succès ou l'échec de l'application appelante (et toute autre donnée bien sûr)
Ai-je raison dans cette hypothèse? Toutes les plateformes ont-elles l'authentification commune, le compte commun, le mot de passe commun et la session commune?
Si c'est le cas, je pensais simplement le placer en haut de common- * en tant que sufficient
module afin qu'en cas d'échec, la pile PAM régulière ne soit pas affectée. Ceci est particulièrement avantageux car je peux le faire par programme lors de l'installation du logiciel.
Suis-je en train de manquer des failles de sécurité potentielles?
Je n'ai pas pu trouver de très bonne documentation sur l'endroit où intégrer les modules PAM personnalisés ou les problèmes de sécurité concernant l'emplacement des modules.