Wie führe ich ein Programm als niemand?
Ich möchte eine Benutzer-privilegierte (nicht-root) - Prozess zur Einführung neuer Prozesse als Benutzer nobody
. Ich habe versucht, eine gerade zu nennen setuid
nicht, dass mit -1 EPERM
auf Ubuntu 8.04
:
#include <sys/types.h>
#include <unistd.h>
int main() {
setuid(65534);
while (1);
return 0;
}
Wie sollte ich dies anstelle?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du wird Unterstützung benötigen und viel Vertrauen von Ihrem system-administrator. Normale Benutzer sind nicht in der Lage zu führen Sie die ausführbare Datei Ihrer Wahl auf den Namen an andere Benutzer, Zeitraum.
Sie hinzufügen können Ihre Anwendung
/etc/sudoers
mit der richtigen Einstellungen und Sie werden in der Lage sein, um Sie mitsudo -u nobody
. Dies funktioniert für beide Skripts und ausführbare Binärdateien.Andere Möglichkeit ist, dass Sie tun
chown nobody
undchmod +s
auf Ihre binäre ausführbare Datei, und Sie werden in der Lage sein, um führen Sie es direkt. Diese Aufgabe muss wiederholt werden, jedes mal, wenn Ihr ausführbaren Datei ändert.Dies könnte auch für die Skripte, wenn Sie erstellen eine winzige Helfer ausführbare Datei, die einfach nicht
exec("/home/you/bin/your-application")
. Diese ausführbare Datei kann gemacht werden, suid-niemand (siehe oben) und können Sie frei ändernyour-application
.Soweit ich weiß, kann man nicht, es sei denn Sie sind root-oder sudo einrichten, erlauben Sie den Benutzer zu wechseln. Oder, Sie können Ihre ausführbare Datei haben, die das suid-bit gesetzt auf es, und haben es im Besitz von niemand. Aber das erfordert root-Zugriff zu.
Den "nobody" - Benutzer ist immer noch ein user. Ich bin mir nicht sicher, was ist Ihre Argumentation, mit der das Programm ausgeführt wird, da niemand, es wird nicht gehen, das hinzufügen einer zusätzlichen Sicherheit. Du bist eher, um es öffnen sich andere Probleme.
Ich würde Folgen squadette die Empfehlung der Verwendung einer Helfer-Anwendung.
calife
ist eine alternative zusudo
.Lief ich über die setuid-sandbox Projekt heute beim Lesen LWN, die tut was ich bin auf der Suche für den richtigen Weg.