Résolu : Runprogram et passwd qui ne fonctionnent pas ensemble

Codes specifiques à Linux
Ehma
Messages : 26
Inscription : dim. 24/juin/2018 19:01

Résolu : Runprogram et passwd qui ne fonctionnent pas ensemble

Message par Ehma »

Bonjour,

Je tente de créer l'automatisation de mots de passe pour certains utilisateurs génériques, mais j'ai toujours la même erreur et je ne vois pas où est le problème.

[syntax]
Passwd = RunProgram("/usr/bin/passwd"," -q "+NomDUtilisateur(ProgramParameter(0)),"", #PB_Program_Open | #PB_Program_Write | #PB_Program_Error)
If Passwd
While ProgramRunning(Passwd)
If AvailableProgramOutput(Passwd)
WriteProgramStringN(Passwd,MotDePAsse)
EndIf
Wend
CloseProgram(Passwd) ; Ferme la connexion vers le programme
EndIf
[/syntax]

J'obtiens toujours cette même erreur, avez-vous une idée ?

/autopassword# sudo ./autopassword emmanuel
Segmentation fault (core dumped)

MErci à tous.
Dernière modification par Ehma le mar. 08/mars/2022 8:43, modifié 1 fois.
Marc56
Messages : 2196
Inscription : sam. 08/févr./2014 15:19

Re: Runprogram et passwd qui ne fonctionnent pas ensemble

Message par Marc56 »

Bonsoir Ehma,

Cela dépend de la version de linux, mais je ne suis pas sur qu'un changement de mdp utilisateurs puisse se faire par un simple utilisateur étant membre du groupe sudo. As-tu essayé en direct avant ?
Si on tente de le faire en direct, on a le classique message de confirmation et demande du mdp de root.

Un coredump provient du système et a du laisser quelques traces dans /var/log/message etc. As-tu regardé ?

:wink:
Ehma
Messages : 26
Inscription : dim. 24/juin/2018 19:01

Re: Runprogram et passwd qui ne fonctionnent pas ensemble

Message par Ehma »

Merci beaucoup,

J'ai essayé avec le compte root et c'est pareil.

j'ai ça :[21773504.928900] autopassword[28679]: segfault at 20 ip 0000000000405e00 sp 00007ffcff377708 error 4 in autopassword[400000+a000]

En tout cas, je sais le fais sans problème depuis un script bash. Je veux dire, si j'utilise le même compte en faisant echo -e "nouveamdp\nnouveaumdp"|passwd utilisateur
Ehma
Messages : 26
Inscription : dim. 24/juin/2018 19:01

Re: Runprogram et passwd qui ne fonctionnent pas ensemble

Message par Ehma »

Voilà, j'ai résolu le problème par

Code : Tout sélectionner

While ProgramRunning(Passwd)
  WriteProgramStringN(Passwd,MotDePAsse)
Wend
au lieu de ça

Code : Tout sélectionner

While ProgramRunning(Passwd)
  If AvailableProgramOutput(Passwd)
    WriteProgramStringN(Passwd,MotDePAsse)
  EndIf
Wend
Là ça fonctionne !
Si ça peut aider....
Répondre