Apparence
Uubu.fr

Les systèmes Linux, l’open source, les réseaux, l’interopérabilité, etc.
« Il vaut mieux viser la perfection et la manquer que viser l’imperfection et l’atteindre. » (Bertrand Arthur William RUSSEL)
06 octobre 2010

pam authentification sécurité           Pluggable Authentication Modules


pam_listfile

pam_listfile

Autorise ou refuse les services basé sur un fichier arbitraire

   le mdule récupère l'item du type spécifié:

        user spécifie le username, PAM_USER
        tty spécifie le nom du terminal, PAM_TTY
        rhost spécifie le nom de l'hôte distant, PAM_RHOST
        ruser spécifie l'utilisateur distante, PAM_TUSER

   et cherche une instance de cet item dans file=filename. filename contient une ligne par item listé. Si l'item est trouvé, alors si sense=allow, retourne PAM_SUCCESS sinon si sense=deny, retourne PAM_AUTH_ERR.

   Si une erreur est rencontrée (par exemple si filename n'existe pas ou un argument mal construit est trouvé), alors si onerr=succeed, retourne PAM_SUCCESS, sinon si onerr=fail, retourne PAM_AUTH_ERR ou PAM_SERVICE_ERR.

  apply= peut être utilisé pour restreindre l'application à un utilisateur spécifique (apply=username) ou un groupe (apply=@groupname). Utile seulement avec tty, rhost et shell

OPTIONS

item=[tty|user|rhost|ruser|group|shell] Ce qui est listé dans le fichier et doit être vérifié
sense=allow Action à prendre si trouvé dans le fichier.
file=/path/filename Fichier contenant un item par ligne
onerr=succeed quoi faire si quelques chose se produit comme l'impossibilité d'ouvrir le fichier
apply=user restreint à l'utilisateur ou le groupe spécifié
quiet ne log par les erreurs

   fournis tous les types de module

Valeurs retournées

PAM_SUCCESS en cas de succès
PAM_AUTH_ERR en cas d'échec
PAM_BUFF_ERR, PAM_SERVICE_ERR en cas d'erreur interne
PAM_IGNORE si aucune rêgle ne s'applique

Exemples

l'authentification classique ftpusers peut être implémenté avec cette entrée dans /etc/pam.d/ftpd
auth required pam_listfile.so onerr=succeed item=user sense=deny file=/etc/ftpusers
note que les utilisateur listés dans /etc/ftpusers ne sont pas autorisés pour accéder au service ftp
Pour autoriser le login pour certains utilisateurs, vous pouvez utiliser une entrée dans /etc/pam.d/login
auth required pam_listfile.so onerr=fail item=user sense=allow file=/etc/loginusers