umbhaki
Supporter
Anmeldungsdatum: 30. Mai 2010
Beiträge: 2521
Wohnort: Düren/Rhld
|
Hallo zusammen, gerade versuch(t)e ich, gksu zu installieren. Die Antwort im Terminal ist folgende:
~$ sudo apt install gksu
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut.
Statusinformationen werden eingelesen.... Fertig
Paket gksu ist nicht verfügbar, wird aber von einem anderen Paket
referenziert. Das kann heißen, dass das Paket fehlt, dass es abgelöst
wurde oder nur aus einer anderen Quelle verfügbar ist.
E: Für Paket »gksu« existiert kein Installationskandidat.
Weiß jemand, was ich stattdessen installieren soll?
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11176
Wohnort: München
|
Wofür brauchst du gksu(do) ? Man sollte GUI-Anwendungen prinzipiell nicht mit root-Rechten starten (der etablierte Weg ist die GUI mit Benutzerrechten laufen zu lassen und sich dann über polkit zu authentifizieren und mit einem Backend zu interagieren, das mit erhöhten Rechten läuft und die Operationen durchführt, die tatsächlich erhöhte Rechte benötigen). sudo -H dürfte da von der Funktionalität noch am nächsten dran sein, aber es kann sein, dass man etwas basteln muss, damit eine Zugriff auf den X-Server möglich ist.
|
voxxell99
Anmeldungsdatum: 23. September 2009
Beiträge: 3901
Wohnort: da, wo andere Urlaub machen. :)
|
seahawk1986 schrieb: der etablierte Weg ist die GUI mit Benutzerrechten laufen zu lassen und sich dann über polkit zu authentifizieren und mit einem Backend zu interagieren, das mit erhöhten Rechten läuft und die Operationen durchführt, die tatsächlich erhöhte Rechte benötigen
...was übersetzt für Normalsterbliche jetzt was heißt? Was muss statt gksu(do) verwendet werden?
|
umbhaki
Supporter
(Themenstarter)
Anmeldungsdatum: 30. Mai 2010
Beiträge: 2521
Wohnort: Düren/Rhld
|
seahawk1986 schrieb: Wofür brauchst du gksu(do) ?
Um beispielsweise den Dateimanager mal als root zu starten, oder dafür, dass diese benutzerdefinierte Aktion funktioniert.
Man sollte GUI-Anwendungen prinzipiell nicht mit root-Rechten starten
Das weiß ich. Aber gelegentlich habe ich mal etwas in einem geschützten Ordner zu ändern (gerade eben beispielsweise youtube-dl nach /usr/local/bin zu kopieren oder die Fehler von Mirage auszubügeln), und da ist der Dateimanager für mich einfach bequemer als das Terminal. Ging aber selbstverständlich auch so.
(der etablierte Weg ist die GUI mit Benutzerrechten laufen zu lassen und sich dann über polkit zu authentifizieren und mit einem Backend zu interagieren, das mit erhöhten Rechten läuft und die Operationen durchführt, die tatsächlich erhöhte Rechte benötigen).
Bisschen viel Aufwand dafür, dass man in Lubuntu mal was kopieren will.
sudo -H dürfte da von der Funktionalität noch am nächsten dran sein, aber es kann sein, dass man etwas basteln muss, damit eine Zugriff auf den X-Server möglich ist.
~$ sudo --help
-H, --set-home HOME-Variable als Home-Ordner des Zielnutzers
setzen
Verstehe ich nicht. Soll ich das jetzt so verstehen, dass gksu aus den Paketquellen entfernt wurde, weil das keiner (außer mir) brauchen kann?
|
seahawk1986
Anmeldungsdatum: 27. Oktober 2006
Beiträge: 11176
Wohnort: München
|
umbhaki schrieb: seahawk1986 schrieb: Wofür brauchst du gksu(do) ?
Um beispielsweise den Dateimanager mal als root zu starten, oder dafür, dass diese benutzerdefinierte Aktion funktioniert.
Bei pcmanfm funktioniert der neue Weg über gvfs und das admin:// Prefix bereits - da muss man den Eintrag für die Erweiterung nur darauf anpassen - was daran besonders aufwendig sein soll, erschließt sich mir dabei nicht wirklich:
[Desktop Entry]
Type=Action
Tooltip=Open Folder As Root
Name=Open Folder As Root
Name[de]=Ordner mit Root-Rechten öffnen
Icon=gtk-dialog-authentication
Profiles=on_folder;
[X-Action-Profile on_folder]
MimeTypes=inode/directory;
Exec=/usr/bin/pcmanfm admin://%f
Name=replacement for missing function
sudo -H dürfte da von der Funktionalität noch am nächsten dran sein, aber es kann sein, dass man etwas basteln muss, damit eine Zugriff auf den X-Server möglich ist.
~$ sudo --help
-H, --set-home HOME-Variable als Home-Ordner des Zielnutzers
setzen
Verstehe ich nicht.
Na das biegt schon mal die Umgebungsvariable für HOME so hin, dass du nicht aus versehen (Konfigurations-)Dateien in deinem eigenen Home-Verzeichnis erstellt, die root gehören. Wenn du gksu vermisst, solltest du wenigstens darüber im klaren sein, was in etwa macht. Soll ich das jetzt so verstehen, dass gksu aus den Paketquellen entfernt wurde, weil das keiner (außer mir) brauchen kann?
Nein, der Grund ist, dass das Konzept ein GUI-Programm als root starten zu müssen, um Operationen mit höheren Rechten ausführen zu können suboptimal ist - deswegen ist das Paket bei Debian (https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=867236) und dann auch bei Ubuntu (https://bugs.launchpad.net/ubuntu/+source/umit/+bug/1740618) rausgeflogen. Edit: man muss für den Menüeintrag %f statt %u als Platzhalter nutzen, damit das funktioniert.
|
umbhaki
Supporter
(Themenstarter)
Anmeldungsdatum: 30. Mai 2010
Beiträge: 2521
Wohnort: Düren/Rhld
|
Hallo seahawk1986, erst einmal danke für deine Erklärungen.
Exec=/usr/bin/pcmanfm admin://%f
hat funktioniert.
was daran besonders aufwendig sein soll, erschließt sich mir dabei nicht wirklich
Nein, ist nicht aufwendig, wenn man's denn weiß. Deshalb ja mein Dank an dich. Wirklich glücklich bin ich mit der jetzigen Lösung aber nicht, denn PCManFM erlaubt mir in seinem admin://-Modus nicht, Besitzer oder Rechte an Dateien in einem geschützten Ordner zu verändern. Die Aufgabe hatte ich gerade, weil ich in /usr/lib/cups/filter eine Datei kopieren musste (das ging mit dem PCManFM) und dann aber auch den Besitzer root und die entsprechenden Rechte einzustellen hatte. Das ging nicht. Der Drucker druckt inzwischen wieder am neu installierten Lubuntu 18.04, dank sudo chown und sudo chmod. Aber früher war das wirklich bequemer. Sei's drum: Security first!
|
Planspiel
Anmeldungsdatum: 2. Mai 2016
Beiträge: 673
Wohnort: Spielplan
|
Ich nehme für so was gerne den Midnight Commander (gestartet mit sudo -H, damit gemachte Einstellungen (config-files des mc) auch in /root landen).
|
umbhaki
Supporter
(Themenstarter)
Anmeldungsdatum: 30. Mai 2010
Beiträge: 2521
Wohnort: Düren/Rhld
|
Planspiel schrieb: … Midnight Commander gestartet mit sudo -H …
Danke für den Tipp!
|
steps66
Anmeldungsdatum: 7. November 2008
Beiträge: 576
|
|
umbhaki
Supporter
(Themenstarter)
Anmeldungsdatum: 30. Mai 2010
Beiträge: 2521
Wohnort: Düren/Rhld
|
Aalso, weil ich ja vermutlich nicht der einzige bin, der über das fehlende gksu stolpert, erzähle ich mal: In dem Artikel, den steps66 verlinkt hat, steht, dass beim Nautilus in die URL-Leiste
admin:///etc/default/
eintragen kann, dann bekommt man (nach Eingabe des Passworts) diesen Ordner angezeigt und kann die darin befindlichen Dateien mit Root-Rechten in einem Editor bearbeiten. Beim PCManFM funktioniert das so (noch?) nicht. Der kennt zwar auch das admin:// in der Adresszeile, aber man kann dann keine Dateien bearbeiten. Der Vorschlag von Planspiel funktioniert hingegen. Wenn ich mit
sudo -H mc
den Midnight Commander starte (nachdem ich ihn erst mal installiert habe logischerweise), dann habe ich darin Root-Rechte und kann auch Dateien bearbeiten. Das habe ich gerade mit der /etc/hosts ausprobiert: Im Midnight Commander markieren,
F4 drücken (oder unten auf „Bearbeiten“ klicken), dann wurde ich gefragt, welchen Editor ich zu nutzen wünsche (habe mich für den guten alten Nano entschieden), und schon konnte ich meine Facebook-Block-Litanei dort eintragen. So geht's also. Aber selbstverständlich hätte ich genauso gut einfach
sudo nano /etc/hosts
ins Terminal eintippen können. Auch die Dateirechte und -eigentümer lassen sich im Midnight Commader in einer kleinen grafischen Ansicht verändern. Für einen wie mich ist das angenehmer als die Arbeit mit chmod und chown. Bin halt die grafische Oberfläche gewohnt. seahawk1986 schrieb: … etwas basteln muss, damit ein Zugriff auf den X-Server möglich ist.
Das habe ich gar nicht erst versucht. Der Midnight Commander ist als Lösung für mich voll ausreichend.
|
romeylo
Anmeldungsdatum: 13. September 2011
Beiträge: 207
|
Hallo,
ich suche auch noch eine Lösung. Ich habe im Startmenü ein Icon welches eigentlich mit "gksu system-config-samba" die gui starten soll. Geht natürlich nicht mehr. Aber eine wirkliche Alternative habe ich nicht gefunden außer das Ganze im Terminal zu starten.
Gruß
Roland
|
noisefloor
Ehemaliger
Anmeldungsdatum: 6. Juni 2006
Beiträge: 28950
Wohnort: WW
|
Hallo, voxxell99 schrieb: seahawk1986 schrieb: der etablierte Weg ist die GUI mit Benutzerrechten laufen zu lassen und sich dann über polkit zu authentifizieren und mit einem Backend zu interagieren, das mit erhöhten Rechten läuft und die Operationen durchführt, die tatsächlich erhöhte Rechte benötigen
...was übersetzt für Normalsterbliche jetzt was heißt? Was muss statt gksu(do) verwendet werden?
pkexec kann auch eine Alternative sein. pkexec ohne weitere Optionen ist im Prinzip wie sudo , greift aber auf die in PolicyKit definierten Rechte zurück.
Zum Editieren von Dateien halte ich aber admin:\\ aus dem gvfs-Backend auch für die bessere Wahl. Setzt natürlich voraus, dass das eingesetze *buntu gvfs an Bord hat. Gruß, noisefloor
|
PressureCooker
Anmeldungsdatum: 21. Mai 2018
Beiträge: 8
|
Da sudo -i im Grunde das Gleiche macht, wie gksu, brauchen wir nur noch eine grafische Passwortabfrage. Also: 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 | #!/bin/bash
# command to execute
execcmd=$1
# current user name
curuser=$(whoami)
# message to show
msg="sudo -i $execcmd\n\nEnter password for $curuser:"
# request user password
if PASS=$(zenity --entry --hide-text --icon-name=window-new --text "$msg" --title "GKSU" 2> /dev/null); then
if ! [ -z $PASS ]; then
# execute with sudo
echo $PASS | sudo -S -i $execcmd & disown
fi
fi
exit 0
|
Das Skript als gksu abspeichern und mit chmod +x gksu als ausführbar markieren.
Ein ./gksu gedit macht dann (fast) genau das Gleiche, wie zuvor das gksu gedit. Man müsste noch den stderr sudo abfangen, um zu schauen, ob das Passwort evtl. falsch eingegeben wurde.
So wie das Skript hier steht, macht es einfach garnichts, wenn das Passwort falsch ist.
|
PressureCooker
Anmeldungsdatum: 21. Mai 2018
Beiträge: 8
|
Habs' etwas ausgebaut und yags genannt. Jetzt gibts' entsprechende Meldungen, falls Passwort oder Command Banane sind: 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 | #!/bin/bash
#
# ### YAGS - yet another gksu replacement ###
#
# fetch command to execute
execcmd=$@
# fetch current user name
curuser=$(whoami)
# message to show
msg="sudo $execcmd\n\nEnter password for $curuser:"
# request user password
if PASS=$(zenity --entry --hide-text --text "$msg" --title "YAGS" 2> /dev/null); then
if ! [ -z $PASS ]; then
# check if password is valid
echo "$PASS" | sudo -S -i -k pwd > /dev/null 2> /dev/null
if ! [ $? -eq 0 ]; then
# password is not valid: show warning
zenity --warning --no-wrap --text "The password supplied was invalid!" --title "YAGS" 2> /dev/null
else
# password is valid: execute command
echo "$PASS" | sudo -S -i -k $execcmd 2> /dev/null
# eval exit code of command
if ! [ $? -eq 0 ]; then
zenity --warning --no-wrap --text "The command supplied could not be executed!" --title "YAGS" 2> /dev/null
fi
fi
else
# empty password: show warning
zenity --warning --no-wrap --text "An empty password was supplied!" --title "YAGS" 2> /dev/null
fi
fi
# clean exit
exit 0
|
|
Ubu-tester
Anmeldungsdatum: 7. Januar 2011
Beiträge: 2206
Wohnort: NDS
|
moin, ich habe hier Xubuntu V18.04 drauf mit 'gksu'. Habe ich von Anfang an problemlos am laufen. Brauche ich für den Gnome-Commander mit Adminrechten und eigenen Programm. Bisher kein Problem damit. Habe ich aus der 'synaptic' Paketverwaltung.
|