witesoul hat geschrieben:Ach und das Synaptic der Gruppe sudo angehört habe ich auch gecheckt.
Code: Alles auswählen
root@erde:~# which synaptic-pkexec
/usr/bin/synaptic-pkexec
root@erde:~# ls -l /usr/bin/synaptic-pkexec
-rwxr-xr-x 1 root root 43 Jan 30 2012 /usr/bin/synaptic-pkexec
Das scheint dann ja irgend etwas mit dem x-terminal-emulator zu tun zu haben. Ob das noch in das sudo Thema rein passt möchte ich nicht entscheiden. Weil es ist ja auch eine sudo Basis existent.Es bleibt immer noch meine Frage offen, wo die Rechte dafür konfiguriert sind.
Ich habe das Gefühl, dass Du hier jede Menge völlig durcheinander wirfst...... ist aber nicht schlimm, weil das ja auch einigermaßen kompliziert ist.
root ist nicht sudo, Synaptic gehört nicht zur Gruppe "sudo", sondern dem Besitzer root. Das was Du hier als Beispiel anführst, beschreibt NUR die Besitzrechte, aber keine Ausführungsrechte. Das bedeutet nur, wem gehört die Datei "synaptic".... und hier ganz offensichtlich gehört sie dem Besitzer "root". Das hat aber überhaupt nix damit zu tun, wer berechtigt ist, sie auszuführen. Also in diesem Beispiel ist "root" zwar der Eigentümer der Datei, und dieser Eigentümer erlaubt ALLEN Benutzern sie zu starten. Das bedeutet, jeder kann das Programm zwar starten, aber nicht jeder ist zu dem berechtigt, was das Programm tut. Startet es ein unberechtigter User, wird es wohl gestartet, aber vermutlich mit einer Fehlermeldung beendet oder es verlangt das root-Password.
Was ist sudo? sudo ist -etwas missverständlich- zweierlei. Zum einen ist sudo ein Programm, was eigentlich bedeutet "
substitute
user and
do". Und das bedeutet, dass ein User zum Stellvertreter eines anderen User wird.... üblicherweise durch/von "root". Aber dieser andere User muss ihm das zuvor erlauben.
Und zum zweiten ist sudo eine Gruppen-Eigenschaft, um mehreren unterschiedlichen User genau eben diese Vertreterrechte zu geben, wenn eben diese User in der Gruppe sudo durch das Gruppenkennzeichen der Gruppe sudo (GID) gruppiert werden. Das sollte eigentlich exakt das gleiche sein, als wenn man einen User unter Windows in die Gruppe "Administratoren" einträgt. Nur ist es das leider bei Linux nicht.... deshalb nicht, weil es keine durchgängige Beachtung der Gruppe "sudo" gibt. Wie du selber festgestellt hast, funktioniert es unter dem Desktop (weil der (wie ich oben schon erläutert habe) sein eigenen Süppchen kocht), aber in der Konsole funktionierts eben nicht.
Fazit:
Also, sudo ist einersetis ein Programm, was aber nicht zwingend installiert sein muss... aber dann funktioniert natürlich auch kein "sudo" in der Konsole
Die Gruppe "sudo" sollte eigentlich zu pauschalen Adminrechten autorisieren, tut sie aber nicht, weil sie eben nicht durchgängig beachtet wird.
Aber... und das ist das wichtige, Fakt ist: dem Moment, wo eine Anwendung entweder das Kommando "sudo" erfolgreich ausführt (auf Grund der Berechtigung des Users) oder es wegen der Gruppe "sudo" tut, ab dem Moment gibt es keine Sonderrechte für den User oder die Gruppe, sondern es werden einfach nur alle Beschränkungen aufgehoben. Warum? Weil er als temporärer "root" (Administrator) zu ALLEM berechtigt ist.
Mit dem Kommando "sudo" kann man sich bei der Ausführung eines Befehls temporär für diesen Befehl als Vertreter von "root"
anmelden.... verwirrend ist, dass das überhaupt funktioniert. Meines Erachtens sollte es das auch nicht. Eindeutiger wäre es, wenn man "sudo root" schreiben müsste. Aber daraus kann man wieder folgendes ableiten: Du kannst auch mit dem Kommando "sudo" die Vertretung eines anderen Users übernehmen.... wenn Du der Klaus bist, dann zum Beispiel mit "sudo herbert", eben die Aufgaben von Herbert. Aber damit verlierst Du währenddessen deine root-Berechtigung, wenn Herbert eben diese Rechte nicht hat.... denn für die Vertretung bis du ja dann "Herbert".