Ich habe viele Threads darüber gelesen, dass gksu aus vielen Linux-Versionen entfernt wird, einschließlich Ubuntu 18.04. Viele sagen, dass gksu ein Gräuel ist und kein Benutzer jemals so etwas benutzen sollte. Ich habe 2 Beispiele, in denen ich meines Wissens etwas haben muss, das es mir erlaubt, als root zu laufen (nicht nur zum Bearbeiten von Dateien).
Zunächst muss mysql erst gestartet werden, nachdem ein verschlüsselter Ordner im GUI-Befehl geöffnet wurde. Dies bedeutet, dass ein Skript vom Verschlüsselungssystem ausgeführt wird, das den mysql-Dienst startet. Das muss als root gemacht werden, also benutze ich gksu in dem Startskript, das mich nach einem Passwort fragt. Wie kann ich einen Dienst von einem GUI-System aus starten?
Ich führe auch Ubuntu-Systemsicherungen als root aus, da sonst viele Systemdateien nicht gesichert werden können. Die Desktop-Datei verwendet also gksu, um die Sicherung zu starten.
pkexec sieht kompliziert aus und benötigt Richtliniendateien. Ist das die einzige Alternative und wenn ja, warum ist sie sicherer?
Andere Antworten auf ähnliche Fragen scheinen sich nicht mit einzelnen Problemen zu befassen, die Menschen jetzt haben, da gksu nicht mehr (oder schwerer zu finden ist ...). Ich denke, solche Fragen von Nicht-Experten würden von detaillierteren Antworten profitieren. Ich habe jetzt welche und möchte daher meine eigene Frage beantworten.
pkexec
für Sie stattgksu
?pkexec
. (Sie müssen danach jagen)sudo -H GUI-program
Wayland zu verwenden, und wenn es diesen Link gibt, der nützlich sein könnte, gibt es Problemumgehungen, wenn Sie ein GUI-Tool haben, das für Sie gut funktioniert und erhöhte Berechtigungen benötigt.Antworten:
Ich habe diesen Befehl gefunden
Auf der folgenden Seite:
https://sites.google.com/site/installationubuntu/home/ubuntu-17-10/alternatives-for-gksu-and-gksudo
quelle
Ich weiß, dass es angeblich anderswo Antworten darauf gibt, aber ich habe keine klar und einfach genug gefunden, um dieses Problem zu lösen. Also habe ich mich an vielen Stellen umgesehen und mir das ausgedacht. Ich verstehe immer noch nicht, warum die Linux-Community beschlossen hat, uns einfachen Desktop-Benutzern das Leben so schwer zu machen (und ich habe versucht, viele Erklärungen zu verstehen), aber das ist das Leben. Ich benutze die GUI für fast alles und benutze nur das Terminalfenster, wenn es nötig ist. Soweit ich Lösungen mit sudo-Optionen beurteilen kann, hilft das nicht weiter. Also habe ich
.desktop
Dateien und Skripte, die alle Jobs erledigen, die ich regelmäßig benutze.Es gibt zwei grundlegende Lösungen.
1. Neu installieren
gksu
Diese Lösung kann oder kann nicht dauern. Anti-Gksu-Techniker könnten einen Weg finden, dies zu stoppen. In der Zwischenzeit laden Sie 2
.deb
Dateien von libgksu (x64) und gksu (x64) herunter . Installieren Sie libgksu2 und dann gksu mit gdebi oder dem Installationsprogramm, das Sie verwenden möchten. Das hat bei mir funktioniert.2. Verwenden Sie
pkexec
Als (hoffentlich) längerfristige Lösung gelang es mir, pkexec für die benötigten Tools zum Laufen zu bringen.
So starten Sie einen Dienst aus einem Skript. Es stellt sich heraus, dass weder gksu noch pkexec benötigt werden. Nur
start service xyz
und es wird nach Ihrem Passwort gefragt.Informationen zum Bearbeiten von Stammdateien oder zum Öffnen von nautilus als Stamm finden Sie unter Ausführen von Gedit und Nautilus als Stamm mit pkexec anstelle von gksu - Web Upd8 . Dies bietet zwei "Polkit" -Dateien für pkexec, mit denen Sie ein Skript verwenden können, das
pkexec gedit
das Bearbeiten einer Stammdatei enthält , und in ähnlicher Weise für nautilus. Die Anweisungen befinden sich alle auf dieser Webseite. Ich verwende jetzt 'Dateimanager-Aktionen', um mit der rechten Maustaste Aktionen zum Ausführen von gedit oder nautilus als root bereitzustellen.Ich starte deja-dup als root für Backups des Core-Systems. Ich mache das nur selten, außer
/home
(für/home
häufige Backups, die keinen Root-Zugriff benötigen). Damit dies funktioniert, habe ich eine Kopie der in Schritt 2 für gedit verwendeten Datei erstellt und für deja-dup bearbeitet. Ich verstehe den Inhalt nicht wirklich, aber es funktioniert sowohl für Sicherungen als auch zum Wiederherstellen von Dateien mithilfepkexec backup
eines Skripts, das von einer .desktop-Datei initiiert wird. Ich habe diese neue Datei hinzugefügt, um Folgendes zu/usr/share/polkit-1/actions
enthalten:Beachten Sie, dass sich in diesem Verzeichnis eine weitere deja-dup-Datei befindet, die angeblich beim Wiederherstellen von Dateien hilft, die jedoch nicht funktioniert. Diese neue Datei muss einen eindeutigen Namen haben, z
org.gnome.DejaDupNew.policy
.Ich laufe momentan ohne GKSU. Ich werde versuchen weiterzumachen ...
quelle
pkexec deja-dup
für mich nach dem Hinzufügen der Datei, wie Sie beschrieben haben. Der Dialog lässt mich zuerst die Einstellungen auswählen, was großartig ist./usr/share/polkit-1/actions
war in der Tat die Möglichkeit, einen Desktop-Starter mit erhöhtenpkexec
Berechtigungen zu erstellen . Hier ist ein weiteres Beispiel .Nautilus Admin ( nautilus-admin ) ist eine einfache Python-Erweiterung für den Nautilus-Dateimanager, die dem Kontextmenü einige administrative Aktionen hinzufügt:
Um Nautilus Admin in allen derzeit unterstützten Versionen von Ubuntu zu installieren, öffnen Sie das Terminal und geben Sie Folgendes ein:
Ich habe alle Alternativen zu gksu in 18.04 für andere Anwendungen als Files und Gedit getestet, und die, die am konsequentesten zu funktionieren scheint, ist:
pkexec
ist der beste Ersatz für gksu, wenn es funktioniert, weil es höhere Sicherheit bietet, aber für verschiedene Apps sehr inkonsistent ist (zum Beispiel funktioniert es nicht mit Gedit) und bei einigen Apps zum Absturz führen kann.sudo -i
Es ist unnötig schwierig zu verwalten, da es Ihre Root-Rechte für einen längeren Zeitraum erhöht, wenn Sie nur root sein müssen, um einen einzelnen Befehl auszuführen.quelle
Ich verwende ein Skript mit dem Namen,
sgedit
das die Benutzervorgaben für Schriftarten, Registerkarten und Erweiterungen übernimmt. Es wirdsudo -H gedit
anstelle vongksu gedit
für die Stabilität in der GUI-Umgebung verwendet. Es fordert zur Eingabe eines Passworts auf.Haben Sie
sudo
Ihre Benutzerkontoeinstellungengedit
geerbtIn diesem Beispiel wurden die Benutzereinstellungen für den Schriftartnamen, die Schriftgröße, die Tabulatoren, die Umwandlung von Tabulatoren in Leerzeichen, die Hervorhebung von 80 Spalten und den Schieberegler für Miniaturansichten auf der rechten Seite von übernommen
sudo
.Mit regular können
sudo -H gedit
Sie diese Konfigurationseinstellungen weder vornehmen noch speichern. Mit dem folgenden Skript werdensgedit
die Einstellungen von Ihrem Benutzerkonto übernommen.Dieses Skript behebt auch die Probleme "
gksu
ist schlecht und nicht standardmäßig installiert" und "pkexec
ist schwer einzurichten".Hintergrund
Ich bin seit Jahren von demselben Problem geplagt. Das Projekt dieses Wochenendes bestand darin, das
sgedit
Drehbuch zu schreiben :sgedit filename1 filename2...
sudo -H
um den Dateieigentum beizubehalten und gleichzeitig Root- Rechte zu erhalten.gsettings set
mit den Unterschieden (reduziert 174set
Befehle auf ein Dutzend oder weniger. Beim nächsten Mal werden vielleicht nur ein oder zwei Änderungen ausgeführt, aber oftmals keine.Bash-Skript
sgedit
Housekeeping
Kopieren Sie das obige Bash-Skript in eine neue Datei mit dem Namen
sgedit
. Ich empfehle es in Ihrem$HOME/bin
Verzeichnis zu platzieren, dh/home/YOURNAME/bin
. Möglicherweise müssen Sie zuerst das Verzeichnis erstellen.Markieren Sie die Datei als ausführbar mit:
Hinweis
~
ist eine Abkürzung für/home/YOURNAME
.quelle
Ubuntu 18.04: Einige Installationsprogramme und andere benötigen gksudo oder gksu, um mit demselben Namen verfügbar zu sein. Um diese Arbeit zu machen:
Installieren Sie die Gnome-Version von
ssh-askpass
. Ohne dies kann der Passwortdialog hinter einem anderen Fenster versteckt sein:Neue Datei erstellen
my-gksudo.sh
:Dateiinhalt:
Erstelle neue Dateien gksudo und gksu mit identischem Inhalt:
und
Dateiinhalt für beide:
Gksudo und gksu ausführbar machen:
Und
Starten Sie den Computer neu.
quelle