Wie kann ich unter OS X feststellen, ob eine über den Befehl Öffnen gestartete App mit erhöhten Berechtigungen gestartet wurde?
Ich habe es als Beispiel versucht sudo open http://www.google.com/
, aber der Aktivitätsmonitor scheint keine Informationen anzuzeigen, die darauf hinweisen, dass der Safari-Prozess als Root ausgeführt wird.
open
Befehl wurde mit Root-Berechtigungen in OS X gestartet.open
Befehl wurde mit Root-Berechtigungen gestartet? Was bist du Ja wirklich versuchen zu tun? In den meisten Fällen ist es nur so, dass Sie gefragt werden tatsächlich Frage gibt Ihnen bessere Antworten. Darauf wollte ich hinweisen.Antworten:
(Hinzufügen einer zweiten Antwort auf die geklärte Frage)
Wenn du benutzt hast
sudo open http://google.com
, das System liefopen
als Wurzel, aberopen
ist wirklich nur ein Kunde für MacOS LaunchServices . welches noch als angemeldeter Benutzer läuft.Tatsächlich zeigt Ihnen der Aktivitätsmonitor, dass die Safari-Instanz geöffnet wurde durch
sudo open http:/google.com
ist nicht als root laufen, als "User" Spalte zeigt Ihren Benutzernamen, nichtroot
.Sie können Safari jedoch auch direkt über die Befehlszeile mit aufrufen Sudo, Umgehung der Startdienste:
Jetzt können Sie im Aktivitätsmonitor bestätigen, dass es als ausgeführt wird
root
.quelle
Ich gehe davon aus, dass Sie "als Wurzel laufen" meinen. Beachten Sie, dass nur, wenn Sie als Root ausgeführt werden, nicht die höchste Priorität ausgeführt wird. auch nicht mit der
sudo
Befehl bedeutet notwendigerweise, dass der Prozess als Root ausgeführt wird.Versuchen Sie dies jedoch an einer Terminal-Eingabeaufforderung:
Um die Prozessliste nach denjenigen zu filtern, die als root ausgeführt werden. Oder sogar (abhängig von Ihrer Version von Mac OS):
quelle
sudo -u root open http://www.google.com/
, der Browser wird nicht unter dem root-Benutzer geöffnet und ich bin mir nicht sicher, warum nicht.Um ein Protokoll der Prozesse anzuzeigen, die mit ausgeführt wurden
sudo
Sie könnengrep
das system.log:Sie können auch die Konsolenanwendung verwenden. Wählen Sie "system.log" aus der Protokollliste und geben Sie "sudo" in die Suchleiste ein.
quelle