[erledigt] su oder sudo - Wie herausfinden, welches geht?

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
scientific
Beiträge: 3020
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Re: [gelöst] su oder sudo - Wie herausfinden, welches geht?

Beitrag von scientific » 28.07.2017 19:34:11

Wheel ist ja auch so ein Relikt, das nur durch Gewohnheit passt, sonst aber äußerst seltsam klingt...
dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

Benutzeravatar
MartinV
Beiträge: 788
Registriert: 31.07.2015 19:38:52
Wohnort: Hyperion
Kontaktdaten:

Re: su oder sudo - Wie herausfinden, welches geht?

Beitrag von MartinV » 04.08.2017 12:39:42

Ich muß meine [gelöst]-Meldung leider widerrufen. :(
Was erst eine Lösung zu sein schien, um die Anwendbarkeit von sudo für einen bestimmten Befehl zu testen:

Code: Alles auswählen

sudo -ln docker
... funktioniert leider nur, wenn sudo vorher schon mit Paßwort aufgerufen wurde und sich das Paßwort gemerkt hat. Ansonsten gibt es Fehlercode 1 zurück, auch wenn der Befehl zulässig ist. :evil:

Die Paßwortabfrage von pkexec funktioniert nur auf Display :0. Auf Konsole und auf anderen X Servern bricht es mit Fehlermeldung ab. In OpenSuse funktioniert es nicht einmal auf Display :0.
Traurige Bilanz, wenn pkexec nach 10 Jahren nicht in der Lage ist, zuverlässig eine Paßwortabfrage durchzuführen. So wird das nix mit der Ablösung von su und sudo. :?

Da steh ich nun, ich armer Tor, und bin so klug als wie zuvor. :roll:
Die Vernunft kann einem schon leidtun. Sie verliert eigentlich immer.

TomL

Re: su oder sudo - Wie herausfinden, welches geht?

Beitrag von TomL » 04.08.2017 17:26:20

MartinV hat geschrieben: ↑ zum Beitrag ↑
04.08.2017 12:39:42
Traurige Bilanz, wenn pkexec nach 10 Jahren nicht in der Lage ist, zuverlässig eine Paßwortabfrage durchzuführen.
Was macht Dich eigentlich so sicher, dass das Polkit das Problem ist? Ich bin eigentlich ziemlich sicher, dass es das nicht ist. Beschreibe doch einfach mal ganz präzise, was Du erreichen willst, in welchem Umfeld, mit welchen Hilfsmitteln, in welchem zeitlichen Ablauf, wer UND was ist beteiligt am Prozess? Du solltest Dich wirklich nicht wundern, wenn auf Dein Posting kein Mensch reagiert.... was ist denn das für eine Feststellung "es bricht mit einer Fehlermeldung ab", wenn es hier kein Orakel gibt, welches uns hier die Fehlermeldung zeigt. Wie soll man denn da helfen? Irgendwas hinterhertragen habe ich auch keinen Bock drauf. 3 Mal bin ich heute schon angefangen und habs jedesmal wieder abgebrochen. Aber die Aussage, dass das Polkit nicht funktioniert ist schlichtweg falsch. Und das sollte so nicht stehenbleiben.... also nun doch ein 4. Versuch.

Benutzeravatar
MartinV
Beiträge: 788
Registriert: 31.07.2015 19:38:52
Wohnort: Hyperion
Kontaktdaten:

Re: su oder sudo - Wie herausfinden, welches geht?

Beitrag von MartinV » 04.08.2017 20:46:08

Aber die Aussage, dass das Polkit nicht funktioniert ist schlichtweg falsch. Und das sollte so nicht stehenbleiben.... also nun doch ein 4. Versuch.
Danke! :)
Was macht Dich eigentlich so sicher, dass das Polkit das Problem ist?
Nachdem die Verwicklungen um pkexec und Gruppe sudo geklärt sind, bleibt noch ein Problem: Die Paßwortabfrage mit pkexec. Auf Display :0 funktioniert sie. Du hast das Problem auch erwähnt:
TomL hat geschrieben: ↑ zum Beitrag ↑
27.07.2017 11:38:48
scientific hat geschrieben: ↑ zum Beitrag ↑
27.07.2017 10:35:41
Aber hat pkexec nicht den Vorteil, dass es je na verfügbarer Oberfläche entscheidet, ob eine Abfrage im Terminal oder über ein GUI macht?

Das funktioniert bei mir verblüffenderweise unter Stretch nicht mehr....die Text-Abfrage im Terminal failed bei jeder Passwordeingabe ... keine Ahnung warum... keine Ahnung, ob das ein Bug ist. Bei mir funktioniert nur der GUI-Dialog. Ich bemerke das nur nicht, weil ich eben für die Jobs alles über Rules geregelt habe und die Password-Abfrage nicht kommt. Aber merkwürdig ist das schon.
pkexec im Terminal auf Display :0 funktioniert bei mir, es kommt die GUI-Abfrage.
Auf Konsole bekomme ich diese Fehlermeldung:

Code: Alles auswählen

$ pkexec bash
==== AUTHENTICATING FOR org.freedesktop.policykit.exec ===
Authentication is needed to run `/bin/bash' as the super user
Authenticating as: root
Password: 
polkit-agent-helper-1: error response to PolicyKit daemon: GDBus.Error:org.freedesktop.PolicyKit1.Error.Failed: No session for cookie
==== AUTHENTICATION FAILED ===
Error executing command as another user: Not authorized

This incident has been reported.
Starte ich einen zweiten X Server und rufe dort pkexec auf, kommt manchmal die pkexec-GUI auf dem ersten X Server (wo ich sie nicht sehen kann, weil ich ja die Anzeige vom zweiten X Server habe), manchmal erscheint sie auch auf dem ersten X server nicht und die Fehlermeldung wird erst sichtbar, wenn ich den zweiten X Server beende und wieder auf Konsole bin. Paßwortabfrage mit gksu funktioniert auch auf zusätzlichen X servern.
Beschreibe doch einfach mal ganz präzise, was Du erreichen willst, in welchem Umfeld, mit welchen Hilfsmitteln, in welchem zeitlichen Ablauf, wer UND was ist beteiligt am Prozess?
Eigentlich ist es eine Kleinigkeit: Ich will einen einzelnen Befehl (docker) als root ausführen und dafür das Paßwort abfragen. Der Rest des Skriptes (insbesondere verschiedene X Server, z. B. Xephyr) soll als unprivilegierter User laufen.

Ziel: GUI-Anwendungen in docker Containern ermöglichen, und dabei unter anderem Sicherheitslücken im X11 Protokoll vermeiden (z .B. Keylogging).
Umfeld: Beliebige Linux-Distributionen
Hilfsmittel: bash, docker, zusätzliche X server
Ablauf: Ein X Server wird gestartet, es erscheint eine Paßwortabfrage, um docker zu starten. Anschließend werden X Server und docker überwacht, und wenn eines von beiden beendet wird, beendet das Skript auch das andere.
Das Skript auf github: x11docker
Die Vernunft kann einem schon leidtun. Sie verliert eigentlich immer.

TomL

Re: su oder sudo - Wie herausfinden, welches geht?

Beitrag von TomL » 04.08.2017 22:26:01

Ich glaube, die Quelle des Problems ist nicht das Polkit, auch wenn das Polkit jetzt diesen Effekt zeigt. Das Problem liegt eher bei Debian, weil sich die Entwickler entschlossen haben, sogar bei Stretch immer noch ein Polkit einzusetzen, was schon bei Jessie alt war... und zwar immer noch die Version 0.105. Der Grund dafür war, soweit ich mich erinnere, dass man sich nicht einigen konnte und die dunkelblaue Tischdecke auf keinen Fall jetzt dunkelgrün sein darf. Ganz so wars zwar nicht, aber für mich ist es gleichbedeutend und auf jeden Fall völlig absurd. Es ging darum, das 0.105 pkla-Flat-Files hatte und 0.113 neuerdings die Dateien im xml-Style anlegt. Als wenn das eine Rolle spielt.... stattdessen hält man lieber an einer Bug-Version fest.

Egal... das TTY-Problem besteht aktuell in Debian. Läuft der GUI-Auth-Agent funktionierts, wenn X läuft. In der Konsole gehts nicht, weil kein X läuft und der pkttyagent failed. Das funktioniert nicht mal mit einem Prozess-Bind. Allerdings versteh ich nicht,warum Du darauf bestehst, dass der User sein Password eingeben muss... denn Du wirst ihm ja wohl kein root-PWD geben. Und wenn der User sowieso sein eigenes PWD eingeben kann, kann man sich das doch auch sparen. Ich würde die betroffenen User explizit in eine Gruppe (nicht sudo!) eintragen und die Gruppe via Polkit ohne PWD-Abfrage berechtigen. Und alle User, die nicht in der Gruppe enthalten sind, würde ich gleich am Anfang des Scripts abschmettern, so dass erst gar keine PWD-Abfrage kommt, die einen Fehler produziert.

Das wäre für mich nicht nur ein Workaround, sondern die Lösung... weil ich einfach in Frage stelle, ob der mit seinem PWD angemeldete User wirklich noch mal das gleiche PWD eingeben soll... ich würde das für überflüssig halten.

Benutzeravatar
MartinV
Beiträge: 788
Registriert: 31.07.2015 19:38:52
Wohnort: Hyperion
Kontaktdaten:

Re: su oder sudo - Wie herausfinden, welches geht?

Beitrag von MartinV » 04.08.2017 23:43:22

TomL hat geschrieben: ↑ zum Beitrag ↑
04.08.2017 22:26:01
Ich glaube, die Quelle des Problems ist nicht das Polkit, auch wenn das Polkit jetzt diesen Effekt zeigt. Das Problem liegt eher bei Debian, weil sich die Entwickler entschlossen haben, sogar bei Stretch immer noch ein Polkit einzusetzen, was schon bei Jessie alt war... und zwar immer noch die Version 0.105.
[...] Egal... das TTY-Problem besteht aktuell in Debian
Hmm... Ich habe mal gerade einen Test auf Fedora 25 gemacht. "pkexec --version" zeigt 0.113 und funktioniert auch nicht auf der Konsole, gleiche Fehlermeldung wie oben. Ebenso funktioniert es nicht auf anderen X Servern.
TomL hat geschrieben: ↑ zum Beitrag ↑
04.08.2017 22:26:01
Allerdings versteh ich nicht,warum Du darauf bestehst, dass der User sein Password eingeben muss... denn Du wirst ihm ja wohl kein root-PWD geben.
Um docker zu starten, braucht der user root-Rechte. Das geht z.B. auf debian mit su und root-Paßwort, und z.B. auf Ubuntu mit sudo und User-Paßwort. Weder su noch sudo funktioniert von Haus aus auf beiden Systemen, nur entweder-oder.
TomL hat geschrieben: ↑ zum Beitrag ↑
04.08.2017 22:26:01
Ich würde die betroffenen User explizit in eine Gruppe (nicht sudo!) eintragen und die Gruppe via Polkit ohne PWD-Abfrage berechtigen. Und alle User, die nicht in der Gruppe enthalten sind, würde ich gleich am Anfang des Scripts abschmettern, so dass erst gar keine PWD-Abfrage kommt, die einen Fehler produziert.
Mein Skript soll auf beliebigen Systemen laufen können. Für gewöhnlich hat der User ein Paßwort, um root-Rechte zu bekommen, entweder für su oder für sudo. (Irgendwelche Firmenarbeitsplätze mal ausgenommen).
Das System erst umzukonfigurieren, damit mein Skript starten kann, kann/will ich von beliebigen Usern nicht verlangen. Ich habe (für mich) den Anspruch, daß Programme "einfach funktionieren" sollen, ohne daß man erst etwas schrauben muß.

Es scheint keine allgemeingültige Lösung für eine Paßwortabfrage zu geben, um root-Rechte zu bekommen.
Ich gehe jetzt nach "Wahrscheinlichkeitsschätzung": Ist der User in Gruppe sudo, darf er wahrscheinlich "sudo docker" ausführen, und ich verwende im Skript sudo.
Ist er nicht in der Gruppe sudo, verwende ich su. Ein möglicher Eintrag in /etc/sudoers für docker kann nicht berücksichtigt werden, ist einfach nicht feststellbar, nicht einmal mit sudo -l.
Außerdem testet das Skript, ob docker ohne Paßwort (einmal mit, einmal ohne sudo) starten kann. Falls ja, gibt es keine Paßwortabfrage.
Damit dürfte ich hoffentlich >95% aller su/sudo-Konfigurationen korrekt einschätzen.
Wo diese allgemeine Einschätzung nicht stimmt, kann der User über eine Option zwischen pkexec/su/sudo/gksu/gksudo/kdesu/kdesudo/lxsu/lxsudo wählen. (Vergleiche xkcd: Standards :wink: )
Damit beherzige ich jetzt auch heisenbergs Empfehlung:
heisenberg hat geschrieben:Wer wenige Kenntnisse hat, der wird in seinem eigenen Interesse eine Mainstream-Distri haben. Wer etwas Extravagantes hat, bei dem kann man etwas mehr Wissen voraussetzen. ( Und wer eine Fortgeschrittenen-Distri als Anfänger benutzt, der hat Pech gehabt, bzw. muss das harte Brot kauen, was er sich selbst vorgesetzt hat. )

Für die Mainstream-Distris kann man Fallunterscheidungen einbauen. Dem Rest kann man zumuten, dass Sie entweder das Skript selbst als root ausführen sollen oder auf Verdacht testweise zwei Abfragen beantworten sollen.
Darüber hinaus arbeite ich an einem Update, in dem das Skript von root gestartet werden darf, und der "echte" unprivilegierte User mit $(logname), $SUDO_USER und $PKEXEC_USER ermittelt wird, damit der die unprivilegierten Befehle ausführt.

Was für ein Aufwand, um einen einzelnen Befehl als root ausführen zu dürfen ... Würde die pkexec-Paßwortabfrage auch außerhalb von DISPLAY=:0 funktionieren, wäre ich sofort ein begeisterter polkit-Fan! Dann könnte ich auf den su/sudo/gksu/gksudo/kdesu/kdesudo/lxsu/lxsudo/$nochmehr-Urwald verzichten.
Die Vernunft kann einem schon leidtun. Sie verliert eigentlich immer.

scientific
Beiträge: 3020
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Re: su oder sudo - Wie herausfinden, welches geht?

Beitrag von scientific » 04.08.2017 23:59:56

dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

Benutzeravatar
MartinV
Beiträge: 788
Registriert: 31.07.2015 19:38:52
Wohnort: Hyperion
Kontaktdaten:

Re: su oder sudo - Wie herausfinden, welches geht?

Beitrag von MartinV » 05.08.2017 00:10:34

scientific hat geschrieben: ↑ zum Beitrag ↑
04.08.2017 23:59:56
Erste Antwort:
https://askubuntu.com/questions/477551/ ... thout-sudo
Danke für den Hinweis :).
Mitgliedschaft in Gruppe docker ist gefährlich, auch die erste Antwort in dem Thread zeigt eine dicke Warnung:
Warning: The docker group (or the group specified with -G) is root-equivalent
Trotz der damit verbundenen Risiken gibt es viele, die ihren User der Gruppe docker hinzufügen, um die lästige Paßwortabfrage loszuwerden.
Indem ich teste, ob docker auch ohne Paßwort erfolgreich aufgerufen werden kann, habe ich diesen Fall mit abgedeckt.

Code: Alles auswählen

docker images >/dev/null 2>&1 && echo "docker startet ohne Paßwortabfrage"
Die Vernunft kann einem schon leidtun. Sie verliert eigentlich immer.

TomL

Re: su oder sudo - Wie herausfinden, welches geht?

Beitrag von TomL » 05.08.2017 09:58:00

MartinV hat geschrieben: ↑ zum Beitrag ↑
04.08.2017 23:43:22
Um docker zu starten, braucht der user root-Rechte. Das geht z.B. auf debian mit su und root-Paßwort, und z.B. auf Ubuntu mit sudo und User-Paßwort. Weder su noch sudo funktioniert von Haus aus auf beiden Systemen, nur entweder-oder.
Ich habe das schon beim ersten Mal verstanden. Und NEIN, das root-PWD ist NIE notwendig, sondern nur die Berechtigung, einen Befehl mit root-Rechten auszuführen. Aber ich wiederhole mich jetzt noch mal: Das funktioniert einwandfrei mit pkexec OHNE Eingabe eines Passwords (deshalb ohne, eben weil das auf Konsole offensichtlich fehlerhaft ist) - aber ich halte die PWD-Eingabe hier ohnehin für überflüssig. Die Lösung ist, die Leute in eine Gruppee (NICHT! sudo) einzutragen und die Gruppe via PKLA zu berechtigen. Diese User brauchen für den Start von Docker KEIN root-Password, sondern nur die explizite Berechtigung, diesen Befehl mit root-Rechten auszuführen. Und genau das kann das Polkit mit pkexec perfekt. Die PWD-Abfrage ist außerdem sowieso unnötig, wenn sie eh ihr eigenes PWD eingeben. Und wenn Hinz und Kunz das root-PWD kennt, dann kann man das PWD explizit für diesen Befehl auch einfach komplett deaktivieren.

Ich glaube, Dein Problem ist im Moment eine eigene Blockade... weil ein technisches Problem ist das jedenfalls nicht....

scientific
Beiträge: 3020
Registriert: 03.11.2009 13:45:23
Lizenz eigener Beiträge: Artistic Lizenz
Kontaktdaten:

Re: su oder sudo - Wie herausfinden, welches geht?

Beitrag von scientific » 05.08.2017 14:24:44

Und das pkla-File kann man in der Installation gleich mitinstallieren.
dann putze ich hier mal nur...

Eine Auswahl meiner Skripte und systemd-units.
https://github.com/xundeenergie

auch als Debian-Repo für Testing einbindbar:
deb http://debian.xundeenergie.at/xundeenergie testing main

Benutzeravatar
MartinV
Beiträge: 788
Registriert: 31.07.2015 19:38:52
Wohnort: Hyperion
Kontaktdaten:

Re: su oder sudo - Wie herausfinden, welches geht?

Beitrag von MartinV » 05.08.2017 20:34:53

Ich fürchte, wir reden aneinander vorbei.

Natürlich ist es möglich, pkexec so zu konfigurieren, daß ich einen root-Befehl (hier docker) ohne Paßwort starten kann.
Und es gibt noch mehr Möglichkeiten, das System so zu konfigurieren, daß docker ohne Paßwort startet, z. B. Mitgliedschaft in Gruppe docker.

Darum geht es aber nicht.
Die Fragestellung ist, wie distributionsübergreifend eine Paßwortabfrage zur Erlangung von root-Rechten möglich ist.
pkexec sollte das können, hat aber einen Bug in der Paßwortabfrage, kann es also nicht.

Das System passend zum Skript umzukonfigurieren, ist keine Option. Das Skript soll auf beliebigen Systemen laufen, ohne daß man erst am System schrauben muß.

Da es für die Problemstellung keine allgemeingültige Lösung zu geben scheint, nutze ich jetzt die oben beschriebene Näherungslösung.
Die Vernunft kann einem schon leidtun. Sie verliert eigentlich immer.

TomL

Re: su oder sudo - Wie herausfinden, welches geht?

Beitrag von TomL » 05.08.2017 20:46:14

MartinV hat geschrieben: ↑ zum Beitrag ↑
05.08.2017 20:34:53
Darum geht es aber nicht.
Und genau das verstehe ich nicht. Es gibt ja nur 2 Möglichkeiten.....

...erstens sie geben das Root-Passwort ein. Aber in dem Fall braucht man weder "sudo" noch "pkexec", sondern lässt den User sich via "su" als "root" anmelden und das Problem ist gelöst.

Zweitens, wenn man berechtigter Weise "erstens" nicht will, weil eben normale User das "root"-Password nicht kennen sollten, geben sie ihr eigenes Password zur Autorisierung ein. Und genau dann wirds wieder absurd, weil sie zweimal ihr eigenes Password eingeben sollen, einmal bei der Anmeldung, und dann noch mal, bei einem bestimmten Kommando. Und da frag ich "was soll dieser Quatsch?". Die User haben sich doch bei der Anmeldung identifiziert, wieso sollen sie das denn jetzt noch mal tun?

Oder hantierst Du noch mit einem dritten Password...?.. was ich mir ja kaum vorstellen kann. Welches Password, dass eingegeben werden soll, möchtest Du erzwingen? Das eigene? Obwohl sie es schon eingegeben haben? Wieso also noch mal? Das root-PWD? Dann brauchts kein pkexec und kein sudo. Sorry... ich verstehs nicht..... :roll:

Benutzeravatar
MartinV
Beiträge: 788
Registriert: 31.07.2015 19:38:52
Wohnort: Hyperion
Kontaktdaten:

Re: su oder sudo - Wie herausfinden, welches geht?

Beitrag von MartinV » 05.08.2017 20:53:16

TomL hat geschrieben: ↑ zum Beitrag ↑
05.08.2017 20:46:14
Und genau das verstehe ich nicht. Es gibt ja nur 2 Möglichkeiten.....

...erstens sie geben das Root-Passwort ein. Aber in dem Fall braucht man weder "sudo" noch "pkexec", sondern lässt den User sich via "su" als "root" anmelden und das Problem ist gelöst.
Leider nein - wenn root kein Paßwort hat, geht su nicht.
In dem Fall geht gewöhnlich stattdessen sudo.

Es ist aber nicht sicher feststellbar, ob su oder sudo zur Erlangung von root-Rechten geht.
Die Vernunft kann einem schon leidtun. Sie verliert eigentlich immer.

TomL

Re: su oder sudo - Wie herausfinden, welches geht?

Beitrag von TomL » 05.08.2017 22:09:25

OK, dann ist das geklärt, dann bleibt ja NUR das Polkit als Lösung. Und dann ist m.E. festzustellen, dass doch eigentlich gar kein Problem besteht.... oder eben nur dadurch, dass Du verlangst, dass der User zweimal sein eigenes Password eingibt. Und es bleibt die Frage: Warum soll der User sein eigenes Password zweimal eingeben?

Benutzeravatar
TRex
Moderator
Beiträge: 8038
Registriert: 23.11.2006 12:23:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: KA

Re: su oder sudo - Wie herausfinden, welches geht?

Beitrag von TRex » 05.08.2017 22:30:34

Ja, und was hat das eigentlich noch mit dem Problem des TE zu tun?
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

TomL

Re: su oder sudo - Wie herausfinden, welches geht?

Beitrag von TomL » 05.08.2017 22:45:38

TRex hat geschrieben: ↑ zum Beitrag ↑
05.08.2017 22:30:34
Ja, und was hat das eigentlich noch mit dem Problem des TE zu tun?
Ich habe verstanden, dass es darum geht,ein Programm durch normale User mit root-Rechten zu starten.... und das unter der Bedingung, dass er nicht weiss, ob "sudo" installiert ist oder ob ein root-PWD vergeben ist und "sudo" möglicherweise nicht verfügbar ist. Für dieses Problem ist m.E. das polkit die Lösung. Aber offensichtlich stimmt das nach Deiner Meinung so nicht. Jetzt bitte ich Dich natürlich mir zu erkären, worums hier wirklich geht... bzw. wo mein Irrtum ist und was das wirkliche Problem ist?

Benutzeravatar
TRex
Moderator
Beiträge: 8038
Registriert: 23.11.2006 12:23:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: KA

Re: su oder sudo - Wie herausfinden, welches geht?

Beitrag von TRex » 06.08.2017 07:53:22

Sorry, voreilige Rückfrage. TE beteiligt sich ja noch...
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

Benutzeravatar
MartinV
Beiträge: 788
Registriert: 31.07.2015 19:38:52
Wohnort: Hyperion
Kontaktdaten:

Re: [erledigt] su oder sudo - Wie herausfinden, welches geht?

Beitrag von MartinV » 06.08.2017 11:38:37

TomL hat geschrieben: ↑ zum Beitrag ↑
05.08.2017 22:45:38
Jetzt bitte ich Dich natürlich mir zu erkären, worums hier wirklich geht... bzw. wo mein Irrtum ist und was das wirkliche Problem ist?
Zusammenfassung:
Auf Linux ist es üblich, als unprivilegierter User angemeldet zu sein.
Um Befehle mit root-Rechten auszuführen, muß ein Paßwort eingegeben werden.
pkexec hat einen Bug und ist nicht in der Lage, zuverlässig eine Paßwortabfrage durchzuführen.
su geht nur, wenn root ein Paßwort hat.
sudo geht nur, wenn /etc/sudoers entsprechend konfiguriert ist.
Ob su oder sudo geht, ist nicht sicher feststellbar.
Das System paßwortlos umzukonfigurieren, ist für mich keine Option.

Für mich ist das Problem mit der oben beschriebenen Näherungslösung erledigt.
Die Vernunft kann einem schon leidtun. Sie verliert eigentlich immer.

TomL

Re: [erledigt] su oder sudo - Wie herausfinden, welches geht?

Beitrag von TomL » 06.08.2017 12:16:36

MartinV hat geschrieben: ↑ zum Beitrag ↑
06.08.2017 11:38:37
Für mich ist das Problem mit der oben beschriebenen Näherungslösung erledigt.
Das ist für mich auch völlig ok. Ich habe jetzt nur noch nur zwei Verständnisfragen, einfach nur aus persönlicher Neugier... weil ich diese Aussage als völlig ungenau empfinde:
Das System paßwortlos umzukonfigurieren, ist für mich keine Option.
1. Ist für Dich einen einzelnen (explizit erlaubten) Befehl mit Root-Rechten ohne PWD-Abfrage abzusetzen, gleichbedeutend mit "allgemein das System umkonfigurieren"?
2. Welches Password soll in Deinem Modell der User eingeben? Sein eigenes oder das root-Password?

Benutzeravatar
MartinV
Beiträge: 788
Registriert: 31.07.2015 19:38:52
Wohnort: Hyperion
Kontaktdaten:

Re: [erledigt] su oder sudo - Wie herausfinden, welches geht?

Beitrag von MartinV » 06.08.2017 12:24:47

TomL hat geschrieben: ↑ zum Beitrag ↑
06.08.2017 12:16:36
1. Ist für Dich einen einzelnen (explizit erlaubten) Befehl mit Root-Rechten ohne PWD-Abfrage abzusetzen, gleichbedeutend mit "allgemein das System umkonfigurieren"?
Ja. Das System muß dafür umkonfiguriert werden. Auch wenn es nur eine einzige Zeile irgendwo in /etc ist.
TomL hat geschrieben: ↑ zum Beitrag ↑
06.08.2017 12:16:36
2. Welches Password soll in Deinem Modell der User eingeben? Sein eigenes oder das root-Password?
Das, womit er den root-Befehl ausführen kann. Bei su ist es das root-Paßwort, bei sudo ist es das User-Paßwort.

Wenn jemand für sich entscheidet, das System für einen paßwortlosen Start des Befehls umzukonfigurieren, kann er das tun. Aber verlangen oder voraussetzen werde ich das nicht.
Die Vernunft kann einem schon leidtun. Sie verliert eigentlich immer.

TomL

Re: [erledigt] su oder sudo - Wie herausfinden, welches geht?

Beitrag von TomL » 06.08.2017 12:36:13

Bitte nimm das jetzt nicht persönlich, aber ich habe das Gefühl, dass Du an dieser Stelle irgendwas noch nicht verstanden hast. Fakt ist, sowohl die Kenntnis des root-Passwords als auch die Verwendung von "sudo" bei gleichzeitiger Mitgliedschaft des Benutzers in der Gruppe "sudo" ermöglichen erst, dass der User das System verändern kann.

Ich spreche hingegen davon, dass der Benutzer absolut GAR NICHTS am System verändern kann und für keine einzige Veränderung ein Password bekommt. Stattdessen können speziell ausgewählte Benutzer nur einen einzelnen Befehl starten, für den normalerweise root-Rechte notwendig sind, aber diese User wissen das nicht. Den Usern ist im Gegensatz zu "su" und "sudo" kein anderer Befehl möglich. Alle anderen User werden bei diesem Befehl und auch bei allen anderen Befehlen abgewiesen. Schwammige Zustände wie mit "sudo" gibt es erst gar nicht.

Ist aber auch egal... wird schon passen....

Antworten