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

  FORUM HardWare.fr
  Programmation

  Fonction C pour tester un mot de passe Unix

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Fonction C pour tester un mot de passe Unix

n°166320
matt276
Posté le 26-06-2002 à 13:18:21  profilanswer
 

Existe t'il une fonction C qui permet de tester le mot de passe d'un compte systeme unix (linux).
 
genre : fonction(user,password) retourne 1 si mdp est ok
 
Je pense pas que çà existe mais bon :)
Sinon y aurait t'il un moyen de faire çà ?

mood
Publicité
Posté le 26-06-2002 à 13:18:21  profilanswer
 

n°166328
Jar Jar
Intaigriste
Posté le 26-06-2002 à 13:32:23  profilanswer
 

#include <pam.h>
 
Et regarde la doc de PAM.


---------------
« No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book
n°166698
matt276
Posté le 26-06-2002 à 19:53:04  profilanswer
 

je cherche mais je trouve rien de bien terrible sur PAM

n°166726
zion
Plop
Posté le 26-06-2002 à 21:22:53  profilanswer
 

netneo a écrit a écrit :

je cherche mais je trouve rien de bien terrible sur PAM




 
 :heink:  
 
15s sur google, et je sais pas ce que c'est PAM, et je code pas sous Linux (enfin, pas ca :p)
http://www.openwall.com/passwdqc/
 
Et c'est probablement ce que tu veux faire en fait, tu veux juste essayer de pirater un mot de passe hein  :sarcastic:


---------------
Informaticien.be - Lancez des défis à vos amis
n°166970
matt276
Posté le 27-06-2002 à 10:54:50  profilanswer
 

J'ai trouvé ce bout de code, çà correspond exactement à ce que je veut faire mais çà fonctionne pas  :(  
 

Code :
  1. #include <stdio.h>
  2. #include <unistd.h>
  3. #include <pwd.h>
  4. main(int argc, char *argv[])
  5. {
  6.   char *login=argv[1];
  7.   char *password=argv[2];
  8.   struct passwd *user;
  9.  
  10.   if ((user= getpwnam(login)) == NULL)
  11.     printf("No such user\n" );
  12.   else if (!strcmp(user->pw_passwd, crypt(password, user->pw_passwd))
  13.     printf("Password correct\n" );
  14.   else
  15.     printf("Password incorrect\n" );
  16. }


 
Il trouve bien le user, mais le password est toujours incorrect

n°166976
LetoII
Le dormeur doit se réveiller
Posté le 27-06-2002 à 10:57:19  profilanswer
 

Les password n'étant pas en clair, il te faut certainement cripté le password entré en argument avant de le comparer au paswd de l'utilisateur.


---------------
Le Tyran
n°166980
matt276
Posté le 27-06-2002 à 10:59:03  profilanswer
 

http://www.unixpapa.com/incnote/passwd.html
 
la fonction crypt sert à crypter justement


Message édité par matt276 le 27-06-2002 à 11:00:35
n°167805
matt276
Posté le 28-06-2002 à 01:10:59  profilanswer
 

up

n°169414
matt276
Posté le 02-07-2002 à 09:09:33  profilanswer
 

up

n°169481
Jar Jar
Intaigriste
Posté le 02-07-2002 à 10:04:53  profilanswer
 

apt-get install libpam-doc
 
Et il faut éviter d'utiliser les fonctions à la getpwd, l'architecture d'authentification sous Linux, maintenant, c'est PAM et rien d'autre.


---------------
« No question is too silly to ask, but, of course, some are too silly to answer. » -- Perl book

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  Fonction C pour tester un mot de passe Unix

 

Sujets relatifs
[Access] fonction Eval[PHP] Bouton suivant : passé a la page 2, 3, ... ??
construire un tableau à l'envers en ASP en fonction de la datehtml dans la fonction mail()
Ne pas demander le mot de passe pour une connexionAidez moi en c++ sur une fonction merci !
[C] E/S haut /bas niveau sur fichiers et différences Unix/Windows.Se deconnecter pour tester les pages
en ASP soit mes 10 requestes sql passent soit je veux rien faire passéComment tester des pages ASP?
Plus de sujets relatifs à : Fonction C pour tester un mot de passe Unix


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