Ubuntuxer
Anmeldungsdatum: 16. September 2007
Beiträge: 429
|
Gibt es eine Möglichkeit, dass beim ausführen eines normalen bash Script ohne Terminal eine sudo Passwortabfrage, wie beispielsweise beim starten einer Systemverwaltung, gestartet wird. Oder zumindest kleine Messagebox, (wie bei Windows) erscheint. Das Problem ist, dass man bei folgendem Code keine Chance hat die Meldung zusehen. Obwohl man trotzdem ins Terminal wechseln muss, um das Programm nun als sudo auszuführen, weiß man wenigstens was man machen muss. Das Problem ist, dass man zb. bei folgendem Code keine Chance hat die Meldung zusehen.
#!/bin/bash
if [ `whoami` == "root" ]
then
mach irgendetwas
else
{
echo "Bitte führen sie dieses Script als sudo aus."
}
fi
|
Der_Gestreifte
Anmeldungsdatum: 21. Juni 2007
Beiträge: 1261
Wohnort: Nürnberg
|
Gibt es eine Möglichkeit, dass beim ausführen eines normalen bash Script ohne Terminal eine sudo Passwortabfrage, wie beispielsweise beim starten einer Systemverwaltung, gestartet wird.
xdialog, zenity, kdialog
Oder zumindest kleine Messagebox, (wie bei Windows) erscheint.
xmessage
|
BadBoy
Anmeldungsdatum: 25. Oktober 2007
Beiträge: 479
|
der befehl "gksu" (oder auch "gksudo") ruft ein fenster auf, indem man direkt das sudo-passwort eintippen kann (wie bei synaptic oder ähnlichem) also:
gksu hierdeinprogramm un es wird mit root-rechten gestartet
|
e1bart0
Anmeldungsdatum: 12. Mai 2007
Beiträge: 927
Wohnort: München
|
BadBoy hat geschrieben: der befehl "gksu" (oder auch "gksudo") ruft ein fenster auf, indem man direkt das sudo-passwort eintippen kann
Oder kdesudo für KDE... ☺
|
BadBoy
Anmeldungsdatum: 25. Oktober 2007
Beiträge: 479
|
|
Ubuntuxer
(Themenstarter)
Anmeldungsdatum: 16. September 2007
Beiträge: 429
|
Erstmal vielen Dank für die vielen unterschiedlichen Antworten ☺ Kann sich ein Script auch selbst noch einmal mit root Rechten ausführen. zb. ganz einfach jetzt benutz ich noch einmal meinem Code vom Anfang
#!/bin/bash
if [ `whoami` == "root" ]
then
mach irgendetwas
else
{
gksu ./Programm
fi Dadurch müsste es doch passieren, dass wenn ich das Programm als sudo über die Konsole ausführe, ich kein Passwort erneut eingeben muss; doch wenn ich als normaler User über die Konsole, sowie auch einfach über die Desktopumgebung starten kann. Meine Idee dahinter ist eigentlich das man jedes Programm, auch wenn es root Rechte benötigt ganz einfach auch über die normale Desktopumgebung starten kann und nur in einem kurzen Dialog das Passwort eingeben muss. 😀 Klickibunti 😀
|
MrKanister
Anmeldungsdatum: 13. Oktober 2007
Beiträge: 2105
|
Du könntest einfach direkt vor die Befehle, die root-Rechte benötigen könnten ein "sudo" davor setzen.
|
Ubuntuxer
(Themenstarter)
Anmeldungsdatum: 16. September 2007
Beiträge: 429
|
Das weiß ich auch, 😉 doch darum geht es nicht. Der Nutzer soll nur die Möglichkeit geboten, bekommen auch ganz ohne Konsole auszukommen. Trotzdem soll der Konsolennutzer davon keine Nachteile haben, sodass er z.B. obwohl er eigentlich sudo ist, dass Passwort noch einmal eingeben muss. sozusagen echte freie Entscheidung ☺
|
jerik
Anmeldungsdatum: 19. August 2006
Beiträge: 425
|
schieb einen wrapper davor der die root abfrage macht und ruf dann das programm auf. Gruss – jerik
|
Ubuntuxer
(Themenstarter)
Anmeldungsdatum: 16. September 2007
Beiträge: 429
|
schieb einen wrapper davor der die root abfrage macht und ruf dann das programm auf.
Was ist wrapper? 😕
|
Pumbaa80
Anmeldungsdatum: 5. März 2007
Beiträge: 2130
Wohnort: Residenz des Rechts
|
Ein Wrapper ist ein Skript, welches nur dazu dient, ein anderes Programm zu starten. (naja, so etwa 😉) Ubuntuxer hat geschrieben: Kann sich ein Script auch selbst noch einmal mit root Rechten ausführen.
Ja, so: #!/bin/bash
if [ "`whoami`" = "root" ]
then
mach irgendetwas
else
gksu "$0" "$@"
fi
|
Ubuntuxer
(Themenstarter)
Anmeldungsdatum: 16. September 2007
Beiträge: 429
|
Das funktioniert leider bei mir leider nicht; Der Passwortdialog kommt zwar, aber das Programm ruft sich nicht selber auf, sondern wird danach einfach beendet. Wenn ich das direkt als sudo übers Terminal ausführe gehts natürlich.
|
Pumbaa80
Anmeldungsdatum: 5. März 2007
Beiträge: 2130
Wohnort: Residenz des Rechts
|
Überprüfe mal, was dabei rauskommt: #!/bin/bash
if [ "`whoami`" = root ]
then
echo we are root
echo arguments: "$@"
else
echo we are `whoami`. trying to launch gksu "$0" "$@"
gksu "$0" "$@"
fi
|
Ubuntuxer
(Themenstarter)
Anmeldungsdatum: 16. September 2007
Beiträge: 429
|
Ich habs jetzt geschaft, ich hatte bei deinem vorherigen Script einen anderen Fehler gemacht, weshalb es bei mir nicht funktioniert hat. 😕 Zum Test habe ich versucht eine Datei in meinem home Verzeichnis zu kopieren. Das Problem war nur das ich Idiot ~/ eingegeben habe; die shell hat irgendetwas in /root/ durchsucht und natürlich nix gefunden. Da das Terminal nur kurz geblinkt hat konnte ich die Fehlermeldung nicht lesen und hab gedacht es wär nichts passiert. Naja, da sieht man mal auf welche Kleinigkeiten man achten muss. 🙄 Auf jeden Fall vielen Dank euch allen 😀
|