2011-01-09 12 views
1

Ich habe eine Python-Datei, auf die ich das SUID-Flag setzen möchte. Wenn also ein normaler Benutzer es ausführt, wird es als root ausgeführt. Ich weiß, dass es ein Sicherheitsproblem ist, aber ich muss immer noch das SUID-Flag setzen.SUID Flag für eine Datei setzen?

+0

Haben Sie eine Frage, die wir beantworten könnten? –

+0

Die Frage scheint zu sein: "Wie setze ich das SUID-Bit auf ein Skript?" – janm

Antwort

0

Sie benötigen ein systemeigenes Image für das suid-Bit, das auf modernen Unix-Systemen verwendet werden kann. Wenn Sie diese Anforderung wirklich haben, würde ich ein C/C++ - Programm mit dem eingebetteten Python-Code schreiben, der die Umgebung bereinigt und dann das Skript ausführt.

Ein guter Weg, dies zu tun, ist mit boost :: python Python in ein C++ - Programm einzubetten, so dass Sie ein sicheres, statisch verknüpftes Bild erstellen können.

Je nachdem, was Sie wirklich tun, wäre eine andere Option, Ihr Skript in einen Daemon-Prozess zu verwandeln, der von einem bekannten Kontext aus startet (z. B. mit daemontools) und die Benutzer dann mit ihm kommunizieren lässt, wenn sie etwas brauchen getan, zum Beispiel mit einer Named Pipe mit entsprechender Zugriffskontrolle.

Ob die zweite Option geeignet ist, hängt davon ab, was Sie wirklich brauchen.