Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1766 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Logiciels

  Installation PAM-devel sous Debian

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Installation PAM-devel sous Debian

n°783041
SpliteMast​er
Posté le 16-02-2006 à 12:04:44  profilanswer
 

Bonjour
 
Tout d'abord je recherche quelqu'un qui pourrait m'expliquer sommairement le fonctionnement de l'authentification via PAM.  
Ensuite j'aimerai pouvoir installer le paquet pam-devel sur mon poste, mais je n'arrive pas à le trouver. De plus j'ai l'impression que PAM fonctionne avec PERL... faut-il installé PERL sous ma debian, quoique je pense qu'il soit déjà installé par défaut.
 
Tout ceci étant dans le but de faire fonctionner une authentification cliente sous OpenVPN.
 
Je vous fournit ci-dessous le script qui permet de gérer cette authentification :
 
Merci de votre aide
 

Code :
  1. #!/usr/bin/perl -t
  2. # OpenVPN PAM AUTHENTICATON
  3. #   This script can be used to add PAM-based authentication
  4. #   to OpenVPN 2.0.  The OpenVPN client must provide
  5. #   a username/password, using the --auth-user-pass directive.
  6. #   The OpenVPN server should specify --auth-user-pass-verify
  7. #   with this script as the argument and the 'via-file' method
  8. #   specified.  The server can also optionally specify
  9. #   --client-cert-not-required and/or --username-as-common-name.
  10. # SCRIPT OPERATION
  11. #   Return success or failure status based on whether or not a
  12. #   given username/password authenticates using PAM.
  13. #   Caller should write username/password as two lines in a file
  14. #   which is passed to this script as a command line argument.
  15. # CAVEATS
  16. #   * Requires Authen::PAM module, which may also
  17. #     require the pam-devel package.
  18. #   * May need to be run as root in order to
  19. #     access username/password file.
  20. # NOTES
  21. #   * This script is provided mostly as a demonstration of the
  22. #     --auth-user-pass-verify script capability in OpenVPN.
  23. #     For real world usage, see the auth-pam module in the plugin
  24. #     folder.
  25. use Authen::PAM;
  26. use POSIX;
  27. # This "conversation function" will pass
  28. # $password to PAM when it asks for it.
  29. sub my_conv_func {
  30.     my @res;
  31.     while ( @_ ) {
  32.         my $code = shift;
  33.         my $msg = shift;
  34.         my $ans = "";
  35.         $ans = $password if $msg =~ /[Pp]assword/;
  36.         push @res, (PAM_SUCCESS(),$ans);
  37.     }
  38.     push @res, PAM_SUCCESS();
  39.     return @res;
  40. }
  41. # Identify service type to PAM
  42. $service = "login";
  43. # Get username/password from file
  44. if ($ARG = shift @ARGV) {
  45.     if (!open (UPFILE, "<$ARG" )) {
  46. print "Could not open username/password file: $ARG\n";
  47. exit 1;
  48.     }
  49. } else {
  50.     print "No username/password file specified on command line\n";
  51.     exit 1;
  52. }
  53. $username = <UPFILE>;
  54. $password = <UPFILE>;
  55. if (!$username || !$password) {
  56.     print "Username/password not found in file: $ARG\n";
  57.     exit 1;
  58. }
  59. chomp $username;
  60. chomp $password;
  61. close (UPFILE);
  62. # Initialize PAM object
  63. if (!ref($pamh = new Authen::PAM($service, $username, \&my_conv_func))) {
  64.     print "Authen::PAM init failed\n";
  65.     exit 1;
  66. }
  67. # Authenticate with PAM
  68. $res = $pamh->pam_authenticate;
  69. # Return success or failure
  70. if ($res == PAM_SUCCESS()) {
  71.     exit 0;
  72. } else {
  73.     print "Auth '$username' failed, PAM said: ", $pamh->pam_strerror($res), "\n";
  74.     exit 1;
  75. }

mood
Publicité
Posté le 16-02-2006 à 12:04:44  profilanswer
 

n°783078
arghbis
salops de dauphins
Posté le 16-02-2006 à 13:51:39  profilanswer
 

aptitude install libpam0g-dev
 
pour le reste, j'y connais pas grand chose, je laisse la réponse à d'autres

n°783118
SpliteMast​er
Posté le 16-02-2006 à 14:52:33  profilanswer
 

Merci arghbis, je viens d'installer le packages, mais le script ne fonctionen toujours pas. Voilà l'erreur :  
 

Code :
  1. Can't locate Authen/PAM.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.8.4 /usr/local/share/perl/5.8.4 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.8 /usr/share/perl/5.8 /usr/local/lib/site_perl) at ./sample-scripts/auth-pam.pl line 30.
  2. BEGIN failed--compilation aborted at ./sample-scripts/auth-pam.pl line 30.


 
Il ne trouve pas Authen/PAM.pm qui correspond à la ligne 30 du script, je sais pas où trouver ce Authen/PAM.pm ???  

n°783143
SpliteMast​er
Posté le 16-02-2006 à 15:58:08  profilanswer
 

C'est bon mon script fonctionne, je n'est plus l'erreur, mais je ne comprends vraiment rien au fonctionnement de PAM. Il me semble qu'il faut configurer certain fichier dans /etc/pam.d mais je sais pas lequels...
 
Quelqu'un peut me donner un coup de main pour configurer tout ca ??


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Logiciels

  Installation PAM-devel sous Debian

 

Sujets relatifs
[Debian] Pb au démarrage du serveur XMandriva 2006 et probleme installation VLC
installation winxp sans lecteur CD?[SATA]installation red hat AS4 sur disque SATA
[Résolu] Mandriva 2006 - Installation foireuse ???[Ubuntu] Installation un peu problématique...
Pb Installation Open Office 2Apache2+ssl (Debian)
[Debian] Clé usb(fin d'installation) 
Plus de sujets relatifs à : Installation PAM-devel sous Debian


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR