su-to-root setzt PATH variable nicht

Du kommst mit der Installation nicht voran oder willst noch was nachfragen? Schau auch in den "Tipps und Tricks"-Bereich.
Antworten
Gunman1982
Beiträge: 923
Registriert: 09.07.2008 11:50:57
Lizenz eigener Beiträge: MIT Lizenz

su-to-root setzt PATH variable nicht

Beitrag von Gunman1982 » 26.09.2009 23:19:02

Moin moin,
hab seit dem letzten Update (oder vielleicht seit einem davor) ein Problem. Synaptic wird über das Programm "su-to-root" gestartet damit die root Passwort-abfrage kommt. Alles schön und gut allerdings ist die Umgebungsvariable PATH nicht gesetzt und synaptic verweigert somit die Installation von Paketen.

Wenn ich auf root selber wechsel oder sudo nutze funktioniert alles.
Bsp.:

Code: Alles auswählen

xxx@xxx:~$ su-to-root -c echo $PATH
Führe jetzt echo aus.
Dieser Befehl benötigt die Privilegien von root, um ausgeführt zu werden.
Verwende su ...
Geben Sie das Passwort von root ein.
Passwort: 

xxx@xxx:~$ sudo echo $PATH
[sudo] password for xxx: 
/usr/local/bin:/usr/bin:/bin:/usr/games
xxx@xxx:~$su -
Passwort: 
xxx:~# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
xxx:~#
Frage nun: Wo wird die PATH Variable gesetzt beim Aufruf von su-to-root, bzw wo sollte sie gesetzt werden? Die conf Datei die im manual erwähnt wird (/etc/su-to-rootrc) existiert nicht. Wüsste auch nicht wie die aussehen sollte.

Danke vorab für hilfreiche Antworten.

greetz
Gunman

Benutzeravatar
Natureshadow
Beiträge: 2157
Registriert: 11.08.2007 22:45:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Radevormwald
Kontaktdaten:

Re: su-to-root setzt PATH variable nicht

Beitrag von Natureshadow » 29.09.2009 10:35:48

Mal eine Frage: Was bitte ist denn su-to-root ?? Klingt gefährlich ... und braucht kein Mensch. Entweder sudo oder einfach nur su - das geht standardmäßig auf root.

-nik

Benutzeravatar
GoKi
Beiträge: 2068
Registriert: 04.07.2003 23:08:56
Lizenz eigener Beiträge: MIT Lizenz

Re: su-to-root setzt PATH variable nicht

Beitrag von GoKi » 29.09.2009 11:57:30

Natureshadow hat geschrieben:Mal eine Frage: Was bitte ist denn su-to-root ?? Klingt gefährlich ... und braucht kein Mensch.
su-to-root ist ein wrapper um su, sudo und auch die X11 Programme gksu, sux, usw. Wenn keines der X11 Programme installiert ist, wird ein Terminal mit dem su Prompt gestartet. Es soll wohl vom menu Paket verwendet, um Einträge die Root-Rechte brauchen aus dem Menü heraus zu starten. Gefährlich ist das erst mal nicht. /usr/bin/su-to-root ist ein Shell-Script, man kann sich den "gefährlichen" Code also ohne Umwege anschauen.

Zum eigentlichen Problem:

Code: Alles auswählen

su-to-root -c echo $PATH
Hier wird durch ein Bug/Feature nur "echo" als Befehl an die unterliegenden Programme innerhalb su-to-root übergeben. Der richtige Test für die Umgebungsvariable PATH wäre somit

Code: Alles auswählen

su-to-root -c "echo \$PATH"
Das sollte dann

Code: Alles auswählen

/sbin:/bin:/usr/sbin:/usr/bin:/usr/bin/X11:/usr/local/sbin:/usr/local/bin
ergeben, da man in su-to-root folgende Zeile findet:

Code: Alles auswählen

PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/bin/X11:/usr/local/sbin:/usr/local/bin
Oder man gibt sich gleich die volle Dosis mittels:

Code: Alles auswählen

su-to-root -c env
Vergleich mal die Ausgaben, vielleicht liegt dein Problem nicht an su-to-root.
Übrigens gibt es noch http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=532322
MfG GoKi
:wq

Benutzeravatar
Natureshadow
Beiträge: 2157
Registriert: 11.08.2007 22:45:28
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Radevormwald
Kontaktdaten:

Re: su-to-root setzt PATH variable nicht

Beitrag von Natureshadow » 29.09.2009 13:54:46

"Gefährlich" meinte auch eher "unnütz verkompliziert".

Antworten