Hi!
Wie kann man Skripte, in diesem speziellen Fall ein Python Skript, setuid root setzen? Geht das überhaupt, ohne den Interpreter zu`suid`en?
Ahnungslos, Eric
On Thu, Feb 07, 2002 at 10:54:42PM +0100, Eric Schaefer wrote:
Hi!
Wie kann man Skripte, in diesem speziellen Fall ein Python Skript, setuid root setzen? Geht das überhaupt, ohne den Interpreter zu`suid`en?
setuid auf den Interpreter legt natürlich alle Sicherheitsvorkehrungen eines Betriebssystems lahm. So etwas wie setuid-perl gibt es für python nicht.
Zwei Möglichkeiten: Du schreibst dir ein kleines C-Programm, das nichts weiter macht als das Python Programm aufzurufen.
Oder du rufst per setuid-perl das python script auf.
Hintergrund: Per "#!/..." aufgerufene Programme können unter Linux nicht setuid sein.
thomas
Hallo Thomas,
On Thu, Feb 07, 2002 at 11:12:04PM +0100, Thomas Guettler wrote:
Hintergrund: Per "#!/..." aufgerufene Programme können unter Linux nicht setuid sein.
<nitpick> Sie koennen schon setuid sein, das Bit wird bloss vom Kernel ignoriert. </nitpick>
Perl arbeitet mit einigen Tricks, dass das Bit letztlich doch zu einem als userid=0 laufendem Programm fuehrt.
Holger
On Thu, Feb 07, 2002 at 11:12:04PM +0100, Thomas Guettler wrote:
Zwei Möglichkeiten: Du schreibst dir ein kleines C-Programm, das nichts weiter macht als das Python Programm aufzurufen.
Hat jemand sowas fertig da? Man muß ja an der Stelle tausend Dinge beachten wenn man nicht der einzige auf dem Rechner ist. Mit setuid()+ system() ist es da nicht getan.
Reinhard
On Fri, Feb 08, 2002 at 02:46:42AM +0100, Reinhard Foerster wrote:
Hat jemand sowas fertig da? Man muß ja an der Stelle tausend Dinge beachten wenn man nicht der einzige auf dem Rechner ist. Mit setuid()+ system() ist es da nicht getan.
suexec() mal anschauen. (Das ist beim Apache dabei und ist ziemlich strict. Ich weiß aber nicht, ob es für den vorgesehenen Fall ok ist. Aber als Anhaltspunkt...)
Heiko
On Thu, Feb 07, 2002 at 11:12:04PM +0100, Thomas Guettler wrote:
On Thu, Feb 07, 2002 at 10:54:42PM +0100, Eric Schaefer wrote:
Wie kann man Skripte, in diesem speziellen Fall ein Python Skript, setuid root setzen? Geht das überhaupt, ohne den Interpreter zu`suid`en?
setuid auf den Interpreter legt natürlich alle Sicherheitsvorkehrungen eines Betriebssystems lahm. So etwas wie setuid-perl gibt es für python nicht.
Ebend.
Zwei Möglichkeiten: Du schreibst dir ein kleines C-Programm, das nichts weiter macht als das Python Programm aufzurufen.
Das macht ja Arbeit...
Oder du rufst per setuid-perl das python script auf.
daraufhin: # apt-cache search setuid ... super - Execute commands setuid root ...
Das hats dann auch getan.
Hintergrund: Per "#!/..." aufgerufene Programme können unter Linux nicht setuid sein.
Sollte auch so sein.
Danke, Eric
lug-dd@mailman.schlittermann.de