[PHP] authentification via login:pass de la machine

Bonsoir,

j’ai une interface ouaib générée en php via laquelle je dois me connecter avec les login:pass d’un user enregistré dans la machine.
je voudrais faire ca sans utiliser NIS, ni PAM :confused:
et je galère… en fait j’y arrive pas, oui j’avoue…
j’ai essayé de jouer avec la fonction crypt() de php pour que le mdp entré soit crypté puis comparé au mdp crypté de /etc/shadow mais ca marche pô évidement, ca serait trop simple :confused:

je me suis dis que c’etait un défis pour la cafzone :stuck_out_tongue:
alors si quelqu’un a une idée je lui en serais vraiment reconnaissant :stuck_out_tongue:

:stuck_out_tongue:

bon je me suis trouvé une solution :stuck_out_tongue: en farfouillant les MAN

[code]
user:
pass:

<? if(isset($_POST['ok'])) { $USER=$_POST['user']; $PASS=$_POST['pass']; $encrypted = exec('cat /etc/shadow | grep '.$USER.' | cut -d ":" -f2'); $d = explode('$',$encrypted); $algo = $d[1]; $salt = $d[2]; $result = exec('openssl passwd -'.$algo.' -salt '.$salt.' '.$PASS); if($result == $encrypted) echo "CORRECT"; else echo "INCORRECT"; } ?>[/code]

avec cet algo, je vais lire dans /etc/shadow, donc j’ai du faire un chmod 444 dessus ( 400 dorigine pour des raisons de sécurités evidendes …).

a terme les mots de passes cryptés seront enregistrés en base de données..cad authentification des machines windows et nunux via une base SQL (on est en train de tout centraliser en BDD) donc la lecture de /etc/shadow ne va pas durer :P :P

sinon si quelqu’un d’autre à un code tout fait pour l’authentification via PAM… je veux bien tester finalement avec PAM, car en fait la lecture de shadow pour tout le monde m’enbete un peu :stuck_out_tongue:

je sais pas si ca peut marcher et je peux pas vraiment tester, mais en appelant un “sudo dummy” (dummy étant un executable de cironstance) et en redirigeant l’entree standard de sudo pour lui filer le mdp depuis un script shell, je pense que tu peux faire un truc un peu moins limite…
C’est toujours tès crade, mais ton shadow est pas en lecture pour tt le monde…

bon en fait je me rend compte que je ne peux faire sans PAM|NIS sans rajouter des droits de lectures sur /etc/shadow.

Donc je veux vais me redigirer vers qqch de moins crade … càd avec PAM.

Si quelqu’un peut me renseigner sur l’utilisation de PAM et NIS avec php ca serait sympa car je trouve ca assez obscure … (même la doc officiel n’est pas tres explicite a ce sujet :/)

Tss tss tss, j’ai posé une question à ce sujet il y a quelques semaines.