TC-Befehl über Webseite als Sudo

1105
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 10 Jahren 0
Können Sie den gleichen Befehl wie root ausführen? Lawrence vor 10 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 10 Jahren 0