2010-04-30 11 views
5

J'utilise ce module pour authentifier l'aide pam: http://code.google.com/p/web2py/source/browse/gluon/contrib/pam.pyproblème d'authentification PAM

Je peux appeler authentifier (« nom d'utilisateur », « mot de passe ») et il retourne Vrai/Faux. Cela fonctionne pour n'importe quel 'nom d'utilisateur' mais 'root'. Je suppose qu'il existe une restriction de sécurité dans PAM qui ne permet pas de vérifier le mot de passe root.

Je dois pouvoir vérifier le mot de passe root. Y at-il quelque chose que je peux changer dans le pam.conf ou ailleurs pour supprimer cette restriction?

Répondre

4

J'ai trouvé la réponse à votre question, le problème est dans le service par défaut.

Lorsque vous appelez la fonction d'authentification ('nom d'utilisateur', 'mot de passe') assurez-vous que vous passez également un service approprié. comme authenticate ('nom d'utilisateur', 'mot de passe', 'passwd') ou vous pouvez ajouter votre configuration personnalisée sous /etc/pam.d/

ici est un exemple du projet Webmin

#%PAM-1.0 
auth required pam_unix.so nullok 
account required pam_unix.so 
session required pam_unix.so 

écrivez les lignes précédentes sur un fichier sous /etc/pam.d/ et appelez-le 'myconfig' par exemple, puis passez son nom à la fonction, et ça marchera (ça a été fait pour moi): D

+0

Merci. J'ai essayé les deux solutions mais pas de chance. – mdipierro

3

J'ai eu le même problème racine n'était pas authentifié. Voici le correctif

Si vous utilisez le service 'login', il ne fonctionnera pas pour root. utilisation,

#authenticate('username','password',service='system-auth') 
+0

Merci, cela a fonctionné pour moi, notre authentification n'est pas basée sur le fichier local. –