Andreas Flückiger: Perlscript mit Benutzerrechten 711 starten

Beitrag lesen

Genau - so geht es nicht, weil "su" nicht von einer umleitbaren Quelle wie stdin liest (sonst könnte man das Passwort mit "echo" hineinpipen), sondern von einer Dialogstation.

Könnte man vielleicht ein kompiliertes Perl/C Programm mit etwa folgendem Code erstellen?

open(SU,"su -c "/usr/bin/perl $ARGV[2]" $ARGV[0]");
print SU $ARGV[1];
close(SU);

Und dann in der ersten Zeile der Perl-Programme folgendes schreiben?

#!NameDesObigenScripts username password

Eleganter wäre es, das Problem über eine entsprechende Konfiguration des Webservers zu lösen.

Es ist leider nicht mein Server, daher dürfte das weniger in Frage kommen.