Wolfgang Pavel: Das verbannte Kommando GKSU zurückholen

... besonders für Linux Mint 19 und auch andere.

Bisher konnte man vorhandene grafische Anwendungen mit Admin-Rechten ausführen durch:
gksu kommando

Dann wurde grafisch das Admin-Passwort angefordert und – wenn richtig – das kommando mit Admin-Rechten ausgeführt.
Seit Linux Mint 19 bzw. Ubuntu 18.04 ist das Kommando GKSU verbannt worden; es gibt es nicht einmal mehr in den Paketquellen.
Linux-Nerds begrüßen diese Verbannung freudig und als selbstverständlich. Erklärt wird das mit Sicherheitsgefährdung beim Ausführen grafischer Programme unter Admin-Rechten. Das mag richtig sein.
Doch was macht der ungeübte Anwender, der nicht in der Lage ist, vorhandene Programme oder auch nur Skripte zu ändern, um die »offiziellen« policy-Befehle einzufügen, und wenn der Hersteller eines solchen Programms oder Skripts das nicht tut. Und wenn das immer wieder zitierte Prefix admin:// nicht funktioniert.
Liebe Mint-/Ubuntu-Leute: Es ist zwar schön, dass ihr euch um die Sicherheit eurer Anwender Sorgen macht; aber es ist nicht die feine Art, ein Werkzeug einfach zu verbannen, ohne eine sofort anzuwendende Alternative zu bieten, und zwar gerade für den ungeübten Anwender. Immerhin hat sich Mint zu Recht zu der wohl derzeit anwender- und umsteigerfreundlichsten Linux-Distribution entwickelt; und darauf solltet ihr Rücksicht nehmen.
Zwei Beispiele aus meiner Praxis (möglicherweise nicht gerade das, was andere machen; aber da gibt es sicher vieles ähnliche):

Inzwischen haben sich auch etliche andere zu Wort gemeldet, die so denken wie ich, und manche haben einfach ein gksu-Skript als Ersatz angeboten. Auch ich habe mir so etwas gemacht und gebe es einfach mal hier an:
---------------------------------------------

#!/bin/bash
if passwort=$(zenity --entry --hide-text --text "Für die Ausführung sind Admin-Rechte notwendig\nBitte Admin-Passwort eingeben:" --title "Passwort eingeben" 2> /dev/null); then
  if ! [ -z $passwort ]; then # Passwort eingegeben, nicht leer
    echo "$passwort" | sudo -S -i -k pwd > /dev/null 2> /dev/null
    if ! [ $? -eq 0 ]; then # Passwort nicht das richtige
      zenity --warning --no-wrap --text "Ungültiges Passwort!" --title "Passwort" 2> /dev/null
    else # Passwort richtig
      echo "$passwort" | sudo -S -i -k $@ 2> /dev/null # Kommando ausführen
      if ! [ $? -eq 0 ]; then # fehlerhafte Ausführung
        zenity --warning --no-wrap --text "Kommando konnte nicht ausgeführt werden!" --title "Passwort" 2> /dev/null
      fi
    fi
  else #leeres Passwort
    zenity --warning --no-wrap --text "Leeres Passwort!" --title "Passwort" 2> /dev/null
  fi
fi
exit 0
---------------------------------------------
Wenn Sie dieses Skript verwenden wollen, kopieren Sie den Text in eine Textdatei, nennen diese »gksu« und speichern sie in ihrem Home-Verzeichnis in dem Verzeichnis bin. Sollte es das Verzeichnis ~/bin bzw. /home/{benutzer}/bin bei Ihnen noch gar nicht geben, legen sie es einfach an. Nach Neu-Anmelden steht Ihnen gksu wie gewohnt zur Verfügung.
(Zusätzlich muss das Paket »Zenity« installiert sein; das ist aber bei Mint 19 vorinstalliert der Fall.)

Und da gibt es noch eine andere Möglichkeit, das verbannte GKSU zu ersetzen: Falls noch nicht geschehen, installiere man das Paket »Menu«, das in den Paketquellen vorhanden ist. Damit gibt es das – noch nicht verbannte – Kommando su-to-root, mit dem sich dasselbe wie mit gksu errreichen lässt, und zwar mit dieser Schreibweise:
su-to-root -X -c kommando

Das funktioniert bei mir auch in dem oben genannten Beispiel zu »Öffnen mit« mit Geany:
su-to-root -X -c geany %F

Allerdings muss man bei dieser Alternative überall, wo gksu vorkommt, dies durch das andere Kommando ersetzen.

Geschrieben: Oktober 2018 – Letzte Änderung: 04.01.2024