Seite 1 von 1

[gelöst] synaptic mit root-Rechten starten: gksu, su-to-root

Verfasst: 17.02.2016 21:00:37
von ingo2
Habe hier nach einer Änderung ein "Rechte-Problem":

Die Änderung:
Um den WLAN-Sniffer "LinSSID" sicher zu benutzen, werden nur für dessen Aufruf der "iw*"-Tools root-Rechte benötigt, das Tool selbst läuft unter einem normalen User. Dazu war es nötig, mich als User der Gruppe "sudo" zuzufügen.
Aus Sicherheitsgründen habe ich noch die /etc/sudoers abgeändert

Code: Alles auswählen

#Defaults       env_reset
Defaults        env_reset, targetpw, timestamp_timeout=0
so daß er das root-PW erfragt. Alles gut und schön und klappt so auch, nur:

Jetzt spinnt Synaptic, wenn ich es aus dem XFCE-Menü mit dem dort hinterlegtem Befehl

Code: Alles auswählen

synaptic-pkexec
starte. Dann wird nach einem PW gefragt, aber es wird nicht das root-PW, sondern mein user-PW verlangt. Ursache ist der Aufruf des Programms in /usr/bin/synaptic-pkexec:

Code: Alles auswählen

#!/bin/sh
pkexec "/usr/sbin/synaptic" "$@"
.
Und für synaptic gibt es dann eine pkexec-Konfiguration in

Code: Alles auswählen

/usr/share/polkit-1/actions/com.ubuntu.pkexec.synaptic.policy:

<policyconfig>

  <action id="com.ubuntu.pkexec.synaptic">
    <message>Authentication is required to run the Synaptic Package Manager</message>
    <message xml.....
   [i]   (in allen möglichen Prache die Abfrage nach PW)[/i]
    <icon_name>synaptic</icon_name>
    <defaults>
      <allow_any>auth_admin</allow_any>
      <allow_inactive>auth_admin</allow_inactive>
      <allow_active>auth_admin</allow_active>
    </defaults>
    <annotate key="org.freedesktop.policykit.exec.path">/usr/sbin/synaptic</annotate>
    <annotate key="org.freedesktop.policykit.exec.allow_gui">true</annotate>
  </action>

c
Jetz bin ich da verunsichert, wie ich das sauber löse, damit Synaptic nach dem root-PW fragt, ohne irgendwelche Sicherheitslöcher aufzureißen. Da ist wohl hier eine Vermischung von Debian- und Ubuntu-Konfiguration am Werk?

Beste Grüße, Ingo

Re: synaptic mit root-Rechten starten: gksu, su-to-root, pke

Verfasst: 17.02.2016 21:25:20
von TomL
ingo2 hat geschrieben:Da ist wohl hier eine Vermischung von Debian- und Ubuntu-Konfiguration am Werk?
Nein, eher nicht Debian und Ubuntu, sondern vermutlich liegt ein Interessenkonflikt durch das von Ubuntu noch verwendete alte "sudo" mit dem Policy-Kit vor. Dein Ausschnitt aus dem Polkit-conf für Synaptic verlangt "ein" Admin-Password.

Code: Alles auswählen

      <allow_any>auth_admin</allow_any>
      <allow_inactive>auth_admin</allow_inactive>
      <allow_active>auth_admin</allow_active>
Unter Debian gibts kein "sudo", damit wird automatisch das "root"-Password verlangt. In der Datei:

Code: Alles auswählen

/var/lib/polkit-1/localauthority/10-vendor.d/org.freedesktop.packagekit.pkla
wird festgelegt, dass die Mitglieder der Gruppe "sudo" für Jobs am/um/im Paketmanager berechtigt sind:

Code: Alles auswählen

[Allow admins to upgrade the system]
Identity=unix-group:sudo
Action=org.freedesktop.packagekit.upgrade-system;org.freedesktop.packagekit.trigger-offline-update
ResultAny=no
ResultInactive=no
ResultActive=yes
Ich vermute, dass sich synaptic an den vorhandenen Einstellungen bedient - deswegen bringt es auch seinen eigenen pkexec-Wrapper mit. Ich vermute deshalb weiter, dass es sich auch im Polkit die Berechtigungen via "pkcheck" holt. Unter Debian (ohne sudo) bleibt das folgenlos. Unter Ubuntu, wenn Du in der Gruppe "sudo" eingetragen bist, eben nicht. Geh davon aus, dass es noch weitere undichte bzw. unklare und Dir unbekannte Stellen durch diese konkurrierende Konstellation gibt. sudo und Polkit sind zwei Aspekte, die sich mit dem gleichen befassen.... und infolgedessen sich durch Vermischung gegenseitig beeinflussen können... und davon bin ich überzeugt, nicht zwingend in meinem Interesse.

Re: synaptic mit root-Rechten starten: gksu, su-to-root, pke

Verfasst: 17.02.2016 22:00:44
von ingo2
Danke für die schnelle Antwort Tomi,

aber wie soll ich das jetzt sicher flicken - an welcher Stelle drehen? Wie sollte ich Synaptic aufrufen oder wie Polkit umconfigurieren, damit es sicher bleibt?

Ein einfacher Aufruf mit "/usr/sbin/synapic" scheitert - es fehlen die Rechte und ein PW wird nich erfragt?

Gruß, Ingo

P.S.: Die einzige Alternative wäre, mein Tool "LinSSID" incl. graphischer Oberfläche als root zu starten, dann könnte ich mich wieder aus der Gruppe sudo entfernen. LinSSID setzt das nämlich sauber um und nutzt root-Rechte nur für die "iw*" Komandos.

Re: synaptic mit root-Rechten starten: gksu, su-to-root, pke

Verfasst: 17.02.2016 23:26:53
von TomL
Sorry, dass ich Dir da nicht weiter helfen kann. Meine Lösung wäre, "sudo" deinstallieren und sowohl synaptic als auch LinSSID via "pkexec" zu starten. Beide Programme würden dadurch mit root-Rechten ausgeführt. Unter Debian ist das imho problemlos möglich, da "sudo" kein Default-Paket ist, sondern vorsätzlich installiert werden muss. Ebenso läuft Debian an sich auch wieder weiter, wenn man sudo wieder deinstalliert. Unter Debian ist -sowie ich das sehe- alles darauf ausgerichtet, auch ohne sudo zu funktionieren. Aber unter Ubuntu kann ich nicht vorhersagen, ob alles noch ohne vorhandenen "sudo" wie gewünscht funktioniert.

Re: synaptic mit root-Rechten starten: gksu, su-to-root, pke

Verfasst: 18.02.2016 12:52:01
von ingo2
So, ich habe mich an alte Zeiten mit Ubuntui erinnert. Dort habe ich auch aus Sicherheitsgründen einen echten root-accoutn eingerichtet und für sudo auch das root-PW verlangt. Und genau das geht immer noch in Debian.

Der Knackpunkt ist Policykit-1 und die Dateien in /etc/polkit-1/localauthority.conf.d.
Dort wird die original Debian-Policy 50-localauthority.conf

Code: Alles auswählen

AdminIdentities=unix-user:0
von der "Ubuntu-Policy" 51-debian-sudo.conf

Code: Alles auswählen

AdminIdentities=unix-group:sudo
überstimmt (alphabetische Reihenfolge).
Um das zu verhindern reicht ein einfaches

Code: Alles auswählen

cp 50-localauthority.conf 52-ask-rootpw.conf
um die Debian-Policy wieder herzuistellen und gleichzeitig vor eventuellen Paket-Updates sicher zu sein (ein Löschen von 51-debian-sudo.conf hätte zwar den gleichen Effekt, wäre aber nicht Update-sicher).

So, ich setze das mal jetzt auf "gelöst", aber falls Jemand einen besseren Vorschlag hat, bitte posten,
Ingo