Michael Schröpl: Perlscript mit Benutzerrechten 711 starten II

Beitrag lesen

Mit Telnet funktioniert es zwar auch, aber nicht mit http. Ich verwende folgendes Script, um ein anderes Script auszuführen:
eval(echo \"$password\" su -c \"cat $scriptname\" $username);
Wo könnte das Problem liegen?

Bei mir funktioniert das nicht mal via Telnet - hätte mich auch sehr gewundert. Ich hatte doch schon mal gepostet, daß genau das nicht funktionieren kann, weil "su" nicht von stdin liest, man also nichts dort hinein pipen kann ...
Und das ist so, weil man genau die ganze Trickserei, die Du hier probierst, in UNIX grundsätzlich unmöglich machen wollte.

Wenn Du etwas unter einer fremden Kennung ausführen willst, dann geht das im Batch-Modus nicht mit einer programmgesteuerten Identitätsänderung mitten im Prozeß, sondern nur mit dem s-Bit.