Sieht so aus, als ob es diesen Fehler schon eine ganze Weile gibt! Hier sind einige Fehlerreferenzen, die Sie möglicherweise hilfreich finden (und die Sie abonnieren / abstimmen möchten, Hinweis, Hinweis ...):
Debian-Fehler # 85123 ("sudo: SECURE_PATH kann immer noch nicht überschrieben werden") (ab 2001!)
Es scheint, dass Bug # 20996 in dieser Version von sudo noch vorhanden ist. Das Changelog besagt, dass es zur Laufzeit überschrieben werden kann, aber ich habe noch nicht herausgefunden, wie.
Sie erwähnen, dass Sie so etwas in Ihre Sudoers-Datei aufnehmen:
Defaults secure_path="/bin:/usr/bin:/usr/local/bin"
aber wenn ich das zumindest in Ubuntu 8.10 mache, gibt es mir diesen Fehler:
visudo: unknown defaults entry `secure_path' referenced near line 10
Ubuntu-Fehler # 50797 ("Sudo mit --with-Secure-Path ist problematisch")
Schlimmer noch, soweit ich das beurteilen kann, ist es unmöglich, den sicheren Pfad in der sudoers-Datei erneut anzugeben. Wenn Sie Ihren Benutzern beispielsweise einen einfachen Zugriff auf etwas unter / opt bieten möchten, müssen Sie sudo neu kompilieren.
Ja. Es muss eine Möglichkeit geben, diese "Funktion" zu überschreiben, ohne sie neu kompilieren zu müssen. Nichts ist schlimmer als Sicherheits-Bigots, die Ihnen sagen, was für Ihre Umgebung am besten ist, und Ihnen dann keine Möglichkeit geben, sie auszuschalten.
Das ist wirklich nervig. Es mag aus Sicherheitsgründen ratsam sein, das aktuelle Verhalten standardmäßig beizubehalten, aber es sollte eine andere Möglichkeit geben, es zu überschreiben, als es aus dem Quellcode neu zu kompilieren! Viele Menschen brauchen eine PATH-Vererbung. Ich frage mich, warum sich keine Betreuer damit befassen, was leicht zu finden scheint, um eine akzeptable Lösung zu finden.
Ich habe es so umgangen:
mv /usr/bin/sudo /usr/bin/sudo.orig
Erstellen Sie dann eine Datei / usr / bin / sudo, die Folgendes enthält:
#!/bin/bash
/usr/bin/sudo.orig env PATH=$PATH "$@"
dann funktioniert Ihr reguläres sudo genauso wie das nicht sichere sudo
Ubuntu-Fehler # 192651 ("Sudo-Pfad wird immer zurückgesetzt")
Angesichts der Tatsache, dass ein Duplikat dieses Fehlers ursprünglich im Juli 2006 eingereicht wurde, ist mir nicht klar, wie lange ein ineffektiver env_keep in Betrieb war. Unabhängig davon, welche Vorteile es hat, Benutzer zu zwingen, Tricks wie die oben aufgeführten anzuwenden, sollten die Manpages für sudo und sudoers sicherlich die Tatsache widerspiegeln, dass Optionen zum Ändern des PATH effektiv überflüssig sind.
Das Ändern der Dokumentation, um die tatsächliche Ausführung widerzuspiegeln, ist nicht destabilisierend und sehr hilfreich.
Ubuntu-Fehler # 226595 ("PATH kann nicht beibehalten / angegeben werden")
Ich muss in der Lage sein, sudo mit zusätzlichen nicht standardmäßigen Binärordnern im PATH auszuführen. Nachdem ich meine Anforderungen bereits zu / etc / environment hinzugefügt hatte, war ich überrascht, als ich Fehler über fehlende Befehle beim Ausführen unter sudo erhielt .....
Ich habe Folgendes versucht, um dies ohne Erfolg zu beheben:
Verwenden der sudo -E
Option " " - hat nicht funktioniert. Mein vorhandener PFAD wurde immer noch von sudo zurückgesetzt
Das Ändern von " Defaults env_reset
" in " Defaults !env_reset
" in / etc / sudoers - hat auch nicht funktioniert (auch in Kombination mit sudo -E)
Das Kommentieren env_reset
(zB " #Defaults env_reset
") in / etc / sudoers - hat auch nicht funktioniert.
Das Hinzufügen von ' Defaults env_keep += "PATH"
' zu / etc / sudoers - hat auch nicht funktioniert.
Trotz der Man-Dokumentation ist sudo in Bezug auf PATH eindeutig fest codiert und lässt keine Flexibilität hinsichtlich der Beibehaltung des PATH-Benutzers zu. Sehr ärgerlich, da ich mit sudo keine nicht standardmäßige Software unter Root-Berechtigungen ausführen kann.