Apfelinsel
Mac-Software => Thema gestartet von: Florian am Oktober 26, 2008, 17:49:38
-
Gibt es eine Möglichkeit, daß system.log anzuschauen, ohne als Admin eingeloggt zu sein? Über die Konosle ja scheinbar nicht (Tiger).
Wäre echt praktisch, wenn man sich wenigstens direkt im Programm Konsole authentifzieren könnte. Auch Path Finder zeigt mir leider nur ein leeres Fenster anstatt einer Passwort-Abfrage.
Irgendwie geht das ja sicher übers Terminal, aber anders wär's mir lieber. :)
-
AFAIK geht das nur, wenn die Konsole mit Admin-Rechten gestartet wird. Auch im Terminal wird es normalerweise nicht klappen, da der Befehl "sudo", den man benutzt, um etwas mit root-Rechten auszuführen, nur von Administratoren ausgeführt werden darf.
Mir ging das auch auf die Nerven nur dafür in den Admin-Account zu wechseln. Und ich habe dafür zwei Lösungen gefunden:
- Das Programm Pseudo (http://www.versiontracker.com/dyn/moreinfo/macosx/9608) ermöglicht es, ein anderes Programm mit root(!)-Rechten, nicht mit Admin-Rechten zu starten. Muss man natürlich vorsichtig sein, welche Programme man damit startet. Bei Konsole dürfte es ungefährlich sein. Leider kostet das Programm 15$ und ist seit 10.2 nicht mehr weiterentwickelt, funktioniert aber auch unter Leopard noch.
- Man gibt im Terminal folgendes ein:
sudo open /Applications/Utilities/Console.appWenn man das öfters benötigt, dann kann man sich dafür auch eine Textdatei erstellen, die man nur doppelklicken muss zum Starten der Konsole mit root-Rechten.
Allerdings wird das mit einem Nicht-Admin-Account zunächst nicht funktionieren, weil sudo nicht ausgeführt werden darf (man bekommt auch die Meldung, dass dieser Einbruchsversuch gemeldet wird!).
Damit man auch als Nicht-Admin ein sudo ausführen darfst, musst Du noch die Datei /etc/sudoers editieren. Von:
root ALL=(ALL) ALL
%admin ALL=(ALL) ALL
nach:
root ALL=(ALL) ALL
%admin ALL=(ALL) ALL
xy ALL=(ALL) ALLWobei xy Dein Login-Kurzname ist.
Seitdem brauche ich mich überhaupt nicht mehr als Admin anmelden. :)
-
Danke, daß hilft wirklich weiter.
Option 2 heißt dann aber auch, daß Jeder, der in Besitz des Account-Passworts ist, allerlei Schabernack treiben könnte. Das werde ich mal abwägen.
-
Ja, man kann sich dann per sudo und Kenntnis des aktuellen Kennwortes root-rechte besorgen. Genauso wie es bei einem Admin-Account eh der Fall ist.
-
Wenn das so tatsächlich funktioniert (woran ich noch ein bisschen zweifle), kann man sich aber wohl das Starten von Console.app via Terminal sparen. Die scheint so nämlich genau so unter der UID des Normalbenutzers zu laufen. Falls so wirklich der Zugriff auf system.log möglich ist, liegt das schätzungsweise einzig daran, dass der Benutzer sudoer geworden ist. Und das allein dürfte dann auch genügen.
-
Aber was funktionieren müsste, auch ohne die sudoers-Datei zu ändern:
su xy
sudo /Applications/Utilities/Console.app/Contents/MacOS/Console
Wobei xy ein Admin-Account ist und nach beiden Eingaben jeweils das Passwort für diesen Account eingegeben muss. (Ist aber insofern mit Vorsicht zu geniessen, als man so tatsächlich ein GUI Programm als root startet. Was eigentlich Tabu ist.)
Nachtrag: Besser wäre also wohl, da Du ja eh schon im Terminal bist, sich das Log auch gleich da anzeigen zu lassen. (Aber gibt so halt etwas ein Leertastengeklicke, bist Du am Ende bist.)
su xy
sudo more /var/log/system.log
-
Ich würde es dann über less machen und dann einfach mit "/Suchbegriff" nach den entsprechenden Einträgen suchen lassen, die Relevanz für mich haben.
Oder mit "sudo cat /var/log/system.log > ~/Desktop/Gewünschter_Name.txt"
auf den Schreibtisch oder halt woanders hin als Textfile "exportieren". Dann kann man da halt mit einem Editor schön schauen.
-
Yep, bald haben wir die perfekte Lösung. :)
(more ist reine Gewohnheit. Mindestens unter Leo wird aber, AFAIR, ohnehin less gestartet.)
-
Wenn das so tatsächlich funktioniert (woran ich noch ein bisschen zweifle), kann man sich aber wohl das Starten von Console.app via Terminal sparen. Die scheint so nämlich genau so unter der UID des Normalbenutzers zu laufen.
Ups, tatsächlich. Ich hatte nicht nachgeschaut. Dann streiche ich meinen zweiten Vorschlag, der funktioniert dann nicht. Mit Pseudo geht es aber. Console läuft dann tatsächlich mit root-Rechten.
Falls so wirklich der Zugriff auf system.log möglich ist,
Nö, funktioniert tatsächlich nicht. hatte ich nicht getestet. Schande über mich...
su xy
sudo /Applications/Utilities/Console.app/Contents/MacOS/Console
Ne, geht auch nicht. Console läuft dann immer noch unter meinem Account.
Nachtrag: Besser wäre also wohl, da Du ja eh schon im Terminal bist, sich das Log auch gleich da anzeigen zu lassen. (Aber gibt so halt etwas ein Leertastengeklicke, bist Du am Ende bist.)
Naja, Er wollte halt kein Terminal. :)
Und die schönen Suchfunktionen von Console hat man dann ja leider auch nicht.
Bleibt Pseudo oder der Vorschlag von daveinitiv:
- User in sudoers und "sudo cat /var/log/system.log > ~/Desktop/Gewünschter_Name.txt"
oder
- "su xy" gefolgt von "sudo cat /var/log/system.log > ~/Desktop/Gewünschter_Name.txt"
-
su xy
sudo /Applications/Utilities/Console.app/Contents/MacOS/Console
Ne, geht auch nicht. Console läuft dann immer noch unter meinem Account.
Hmm, also bei mir gings. (Mein Vorschlag war getestet. ;))
Wenn Du aus dem Terminal direkt das Executable aufrufst, müsste das eigentlich schon als jener Benutzer laufen, der Du im Terminal gerade bist.
-
Hmm, also bei mir gings. (Mein Vorschlag war getestet. ;))
Wenn Du aus dem Terminal direkt das Executable aufrufst, müsste das eigentlich schon als jener Benutzer laufen, der Du im Terminal gerade bist.
Ich glaube, ich höre diese Woche auf zu schreiben. :)
Du hast Recht. Ich hatte mit open und dem Paketnamen probiert.
In dem Fall würde aber auch mein zweiter Vorschlag doch wieder funktionieren.
OK, fassen wir mal die Vorschläge zusammen (jetzt alle getestet):
1. Konsole mit Pseudo starten. (Konsole läuft als root)
2. Das Executable von Console per sudo starten und Eintrag des Benutzers in sudoer (Konsole läuft als root):
sudo /Applications/Utilities/Console.app/Contents/MacOS/Console
3. Erst mit su zu einem Admin wechseln und dann das Executable von Console ohne sudo starten (Konsole läuft als Admin):
su xy
/Applications/Utilities/Console.app/Contents/MacOS/Console
4. Das Log in eine Datei per sudo kopieren und Eintrag des Benutzers in sudoer:
sudo cat /var/log/system.log > ~/Desktop/Name.txt"
Teilweise kann man das ganze dann auch automatisieren, damit man nicht immer Terminal per Hand starten und die Befehle tippen muss.
-
Danke an alle Beteiligten!
Flieger, kleine Berichtigung: Bei 4. sollte man den eigenen Schreibtisch als Speicherplatz anwählen, nicht den des Admins.
-
Bei 4 macht er kein su. Stimmt also schon so. ;)
-
Eben. Ich habe es diesmal vorher probiert. :)
Mit su und anschliessendem Schreiben auf den eigenen Schreibtisch ging es gar nicht. Trotz sudo hatt er angeblich keine Schreibrechte. Wäre sonst Möglichkeit 5 gewesen.
-
Ach so. Hatte vergessen, exit einzugeben und war noch Admin, logisch. Und ohne das kommt natürlich die Meldung von wegen dem sudoer-file, wie's da steht, man muss es halt auch lesen. Sorry.
Option 3 ist mir dann die liebste.