Seite 1 von 1
					
				Root Passwort setzen
				Verfasst: Donnerstag 23. Dezember 2010, 21:43
				von sttrader
				Hallo an alle
Ich habe mal wider eine Frage wie kann ich mit Python 
ein Linux Root Passwort setzen. 
Code: Alles auswählen
def Install():
    os.system("sudo passwd")
    os.system(rootpass)
    os.system(rootpass)
Wenn ich sudo passwd ausführe möchte er ja 2 mal eine weitere eingaben
ich komme nicht drauf wie ich es hinbekomme 
LG ST
 
			 
			
					
				Re: Root Passwort setzen
				Verfasst: Donnerstag 23. Dezember 2010, 21:58
				von cofi
				http://docs.python.org/library/subprocess.html und `communicate`
Das wurde dir doch schonmal geraten ..
 
			 
			
					
				Re: Root Passwort setzen
				Verfasst: Donnerstag 23. Dezember 2010, 21:59
				von sttrader
				heheheheh Ja Stimmt da bin ich auch gerade finde nur kein Beispiel für 
mein Problem 

 
			 
			
					
				Re: Root Passwort setzen
				Verfasst: Donnerstag 23. Dezember 2010, 22:32
				von sttrader
				Hallo 
So nun bin ich mit Hilfe der Hilfe bis hierher gekommen.
Code: Alles auswählen
def Install():
    p=subprocess.Popen("sudo passwd",stdin=subprocess.PIPE,shell=True)
    p.communicate(rootpass)
Jetzt bleibt nur noch das Problem das ich das Passwort ein zweites mal bestätigen muss.
Hat da jemand eine Lösung???
LG
 
			 
			
					
				Re: Root Passwort setzen
				Verfasst: Freitag 24. Dezember 2010, 00:39
				von cofi
				Ohne es getestet zu haben: Nochmal dasselbe?
			 
			
					
				Re: Root Passwort setzen
				Verfasst: Freitag 24. Dezember 2010, 01:15
				von sttrader
				danke
			 
			
					
				Re: Root Passwort setzen
				Verfasst: Freitag 24. Dezember 2010, 02:30
				von sttrader
				So nun stundenlang gesucht aber keine Lösung gefunden auch nicht 
in der Original Hilfe, schade ich komme da nicht weiter, vieleicht 
weiß es ja einer von euch.
Wünsche euch allen ein Frohes Fest
MFG
			 
			
					
				Re: Root Passwort setzen
				Verfasst: Freitag 24. Dezember 2010, 15:03
				von Leonidas
				Für Kommunikation mit externen Programmen die auf Eingaben des Users warten ist PExpect eine brauchbare Lösung.
			 
			
					
				Re: Root Passwort setzen
				Verfasst: Freitag 24. Dezember 2010, 19:19
				von Dauerbaustelle
				Vielleicht solltest du auch noch ein <Enter> senden...
			 
			
					
				Re: Root Passwort setzen
				Verfasst: Montag 27. Dezember 2010, 11:18
				von Dav1d
				Communicate weglassen und in p.stdin schreiben
			 
			
					
				Re: Root Passwort setzen
				Verfasst: Mittwoch 29. Dezember 2010, 16:28
				von sttrader
				Ich habe es immer noch nicht hingekommen weder mit 
communicate noch mit in p.stdin schreiben, es hackt immer 
noch an der zweiten Bestätigung 

 
			 
			
					
				Re: Root Passwort setzen
				Verfasst: Mittwoch 29. Dezember 2010, 16:32
				von cofi
				`communicate` kann keine Loesung sein:
http://docs.python.org/library/subprocess.html#subprocess.Popen.communicate hat geschrieben:Popen.communicate(input=None)
    Interact with process: Send data to stdin. Read data from stdout and stderr, until end-of-file is reached. 
Wait for process to terminate. The optional input argument should be a string to be sent to the child process, or None, if no data should be sent to the child.
 
Entschuldige bitte den Weg in die Weg in die Sackgasse.
Warum nutzt du nicht 
PExpect wie Leonidas vorgeschlagen hat?
 
			 
			
					
				Re: Root Passwort setzen
				Verfasst: Mittwoch 29. Dezember 2010, 16:40
				von sttrader
				Hallo cofi
Für die Sackgasse brauchst du dich ja nicht entschuldigen wider was dazu gelernt 
PExpect gehört ja nicht zur Python Standard Installation, ich brauche 
ein weg möglichst ohne Extra Pakete da ich einen Installer für eine Bestehende
Linux Distribution schreiben muss in dem dieses Paket nicht bei ist.
Es muss doch auch so gehen oder ???
 
			 
			
					
				Re: Root Passwort setzen
				Verfasst: Mittwoch 29. Dezember 2010, 17:23
				von Whitie
				Hallo sttrader,
probier doch mal folgendes (ungetestet):
evtl. auch ohne das zweite "\n".
Gruß Whitie
 
			 
			
					
				Re: Root Passwort setzen
				Verfasst: Mittwoch 29. Dezember 2010, 17:30
				von sttrader
				
			 
			
					
				Re: Root Passwort setzen
				Verfasst: Mittwoch 29. Dezember 2010, 17:37
				von Dauerbaustelle
				Dauerbaustelle hat geschrieben:Vielleicht solltest du auch noch ein <Enter> senden...
Punkt Punkt Punkt