Ik ben momenteel bezig aan een GTK Tool om je paswoord te veranderen. Ik ben dit aan het maken met python en GTK.
een screenshot kan je hier vinden.
Maar nu zit ik even vast met de frontend voor passwd. passwd word gestart. vraagt achter je huidig paswoord, dat zou gegeven moeten worden, je nieuw paswoord en nog maals je nieuw wachtwoord. Het probleem is echter dat passwd blijkbaar geen input van mijn programma wilt aannemen. Met het commando chfn werkt het wel perfect ( om user info ) aan te passen.
Mijn code ziet er als volgt uit momenteel :
Het programma blijft gewoon hangen op de vraag voor het oude paswoord.
Na wat op google te zoeken had ik de pwd module van python gevonden maar deze ondersteunt geen shadow files ( Zou niet werken ook aangezien een user /etc/shadow niet kan openen). Dus de enige mogelijkheid is passwd gebruiken, wat ik blijkbaar niet echt aan de praat krijg.
Is er iemand die weet hoe ik dit kan oplossen ?
een screenshot kan je hier vinden.
Maar nu zit ik even vast met de frontend voor passwd. passwd word gestart. vraagt achter je huidig paswoord, dat zou gegeven moeten worden, je nieuw paswoord en nog maals je nieuw wachtwoord. Het probleem is echter dat passwd blijkbaar geen input van mijn programma wilt aannemen. Met het commando chfn werkt het wel perfect ( om user info ) aan te passen.
Mijn code ziet er als volgt uit momenteel :
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
| print oldPass
print newPass
r,w = popen2.popen2("passwd")
#check = r.readline()
#print check
w.write(OldPass + "\n")
check = r.readLine()
print check
w.write(newPass + "\n")
check = r.readLine()
print check
w.write(newPass + "\n")
check = r.readLine()
print check
r.close()
w.close() |
Het programma blijft gewoon hangen op de vraag voor het oude paswoord.
Na wat op google te zoeken had ik de pwd module van python gevonden maar deze ondersteunt geen shadow files ( Zou niet werken ook aangezien een user /etc/shadow niet kan openen). Dus de enige mogelijkheid is passwd gebruiken, wat ik blijkbaar niet echt aan de praat krijg.
Is er iemand die weet hoe ik dit kan oplossen ?