Heidiho,
ich möchte, dass mein Passwortänderungs-CGI ein su $user ausführt und sozusagen das $passwd eingibt, dass es auch vom Webinerface kriegt. Ich versuche dazu folgendes auszuführen:
Python:
os.system('echo '+passwd+'| su '+user+' -c "was_langes"')
bzw. kurz in Bash: $ echo $passwd|su $user -c "was langes"
Aber zu "was_langes" (auch so ein Konstrukt mit passwd drin) kommt das ganze gar nicht erst. Es gibt folgende Meldung:
su: must be run from a terminal
Bei smbpasswd gibts die Option -s, durch die das Programm aufs Terminal verzichtet und von stdin liest. Bei su (und wohl auch passwd) dummerweise nicht. Per ssh/telnet localhost tritt das Problem genau so auf. Weiß jemand Rat?
Für alle Ideen dankbar, Fabian