TC-Befehl über Webseite als Sudo

1066
didinino

Das Hauptziel: Führen Sie einen tcBefehl über eine Webseite aus, beginnend mit:

tc qdisc del root dev eth0 

(löscht alle Filter)

Nach einfachen Linux-Befehlen von einer Webseite versuche ich, einen tc-Befehl hinzuzufügen, aber dazu ist Sudo erforderlich (andernfalls ist die Operation nicht zulässig). Deshalb läuft:

/ sbin / tc qdisc del root dev eth0

ist fehlgeschlagen.

0

1 Antwort auf die Frage

2
Lawrence

Sie müssen zuerst den Benutzer, der den Webserver ausführt, zur sudoers-Datei hinzufügen.

So ähnlich - ersetzen Sie www-dataden Benutzer, der den Webserver ausführt

www-data ALL=(ALL) NOPASSWD:/sbin/tc qdisc del root dev eth0 

Dadurch kann der www-data-Benutzer sudo /sbin/tc qdisc del root dev eth0ohne Kennwort laufen .

Wenn Sie weitere Befehle hinzufügen müssen, können Sie sie mit einem Komma wie dem Ende anheften

www-data ALL=(ALL) NOPASSWD:/sbin/tc qdisc del root dev eth0,/sbin/tc qdisc del root dev eth1 

Sobald die Sudoers-Datei eingerichtet ist, sollte sie beim Ausführen der Webseite, auf der der Befehl ausgeführt wird, sudo /sbin/tc qdisc del root dev eth0funktionieren, solange die Webseite ausgeführt wird .

Ich habe diese Zeile zur Sudoers-Datei hinzugefügt, jedoch wurde das Problem nicht gelöst. Ich habe versucht, sich selbst myuser hinzuzufügen, der kein Admin-Benutzer anstelle von www-data ist, und den Befehl auszuführen, und ich habe folgende Antwort erhalten: "RTNETLINK antwortet: Operation nicht zulässig. Die von mir hinzugefügte Zeile ist myuser ALL = (ALL) NOPASSWD:" / sbin / tc qdisc del root dev eth0 didinino vor 9 Jahren 0
Können Sie den gleichen Befehl wie root ausführen? Lawrence vor 9 Jahren 0
wenn Sie über sudo / sbin / tc sprechen qdisc del root dev eth0 dann kann ich. Nachdem ich diesen Befehl ausgeführt habe, verwende ich tc qdisc show, um zu sehen, dass alle Filter deaktiviert sind. didinino vor 9 Jahren 0