Wie kann _user_
umleiten PID
sowie stdout
und stderr
von sudo
(und nicht der Unterschale es laicht) einreichen?Redirect _sudo_ ‚s PID, stderr und stdout Datei
I.e.
{sudo-process} &> >(tee /path/foobar > /dev/null)
oder
{sudo-process} 2>&1 | tee /path/foobar &>/dev/null)
so weit wie stdout
und stderr
: die sudo
passwd Anfrage ([sudo] password for _user_: _
) und jeder Fehler normalerweise an dem aktuell Shell gesendet stdout
und stderr
durch sudo
sollen jede geeignete Datei /path/foobar
, im Geist des umgeleitet werden sind besorgt. In meinem Anwendungsfall wird PID
auch benötigt, um das unbeaufsichtigte Töten des sudo
Prozesses von einem externen Skript mit entsprechenden privis möglich zu machen.
Mit "aktuelle Shell", ich meine die Shell, in der der sudo
Prozess lebt. Am weitesten entfernt ist ein mögliches askpass
Programm (siehe Option -A
in man 8 sudo) und die Möglichkeit, plugins
zu verwenden, die relevant sein können oder nicht. Ich habe überhaupt keine Erfahrung damit. Können Sie mir helfen?
Hinweis: Ich bin NICHT bei Umleiten Ausgang von einem Shell-gelaicht von sudo
zu Datei suchen. Wie in:
$ sudo cmd &> /path/foobar
oder $ sudo sh -c 'cmd &> /path/foobar'
, ob /path/foobar
je eine Datei mit den entsprechenden Schreibrechte, das heißt zugänglich cmd
‚s Umleitung von stdout
und stderr
. Das ist nicht das Problem.
EDIT:
@JohnKugelman schlägt sudo -n
läuft die sudo
verursacht eine Fehlermeldung an stderr
auszusenden und zu sterben, falls ein passwd benötigt wird. Das kümmert sich um:
- Umleitung stdout
, da es keine mehr gibt.
- die Notwendigkeit, sudo
PID zu speichern, da der Prozess von selbst stirbt.
Das Hauptproblem bleibt: Wie Umleitung sudo
's stderr
zu Datei?
Zu welchem Zweck? Vielleicht wäre "sudo -n" besser: "Die Option' -n' verhindert, dass sudo den Benutzer nach einem Passwort fragt. Wenn ein Passwort für die Ausführung des Befehls benötigt wird, zeigt sudo eine Fehlermeldung an und beendet sich. " - [sudo (8)] (http://linux.die.net/man/8/sudo) –
@JohnKugelman: Danke. Ich habe genau in diesem Moment über diese Option gelesen. Das kümmert sich um 'sudo's PID, da es nicht mehr gespeichert werden muss. Das Hauptproblem bleibt jedoch: * Umleitung 'stderr' von' sudo' Prozess in Datei, ** unbeaufsichtigt **.* – Cbhihe