• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

sudo u. yast2 suse 10.2 gelöst

hallo zusammen

ich habe ein problem mit sudo und yast2

mein eintrag in /etc/sudoers

username ALL = (root) NOPASSWD: /sbin/yast2

wenn ich jetzt in der konsole sudo /sbin/yast2 ausführe dann öffnet sich
yast nur im textmodus und nicht im grafischen modus aber erst seid suse 10.2

wieß jemand weider was das sein könnte

Lösung:

1 /etc/sudoers
Defaults env_reset || ist schon vorhanden
Defaults:username env_keep = "DISPLAY" || eintragen

username ALL = (root) NOPASSWD: /usr/bin/xauth merge
/home/username/.Xauthority || eintragen

username ALL = (root) NOPASSWD: /sbin/yast2 || eintargen

2.
Also erst als User das Xauthority-File exportieren und dann als root importieren
als user /usr/bin/xauth extract - $DISPLAY | sudo -u root /usr/bin/xauth merge - || ausführen

Verknüpfung mit programm || button programm befehl
sudo /usr/bin/xauth merge /home/marco/.Xauthority && sudo /sbin/yast2

das wars
 
marcoendrich schrieb:
wieß jemand weider was das sein könnte
Ja.
Seit SUSE 10.2 (KDE 3.5.5) benutzt kdesu sudo als Backend.
Aus Sicherheitsgründen wird dazu in der /etc/sudoers die Option
Code:
Defaults        env_reset
gesetzt.
Damit werden alle Umgebungsvariablen zurückgesetzt (also auch DISPLAY).
Eine Möglichkeit das zu umgehen wäre:
Code:
Defaults:username env_keep = "DISPLAY"
Allerdings kann ich momentan nicht sagen, wie "sicher" das Behalten von Umgebungsvariablen ist.
Siehe dazu: https://bugzilla.novell.com/show_bug.cgi?id=222728

Evtl. muss vorher noch das Xauthority-File für root erstellt werden:
Code:
xauth merge /home/username/.Xauthority
Natürlich auch via sudo:
Code:
username ALL = (root) NOPASSWD: /usr/bin/xauth merge /home/username/.Xauthority

Starten mit:
Code:
sudo /usr/bin/xauth merge /home/username/.Xauthority && sudo /sbin/yast2

Allerdings rate ich davon ab graphische Anwendungen via sudo zu starten.
(Gerade YaST funktioniert im Textmodus ausgezeichnet)
 
danke für deine Beschreibung die funktioniert enwandfrei

nur wenn yast2 geöffnet ist kann ich nicht anders mehr mach wie z.b
die würfelfläche wechseln oder evolution aufrufen usw ...

eine ahnung wonan das liegt

mfg


marco
 
Uhhps :oops: - mein Fehler.

Mit xauth merge übernimmt root das Xauthority-File des Users.

Bitte mal ein
Code:
chown username:users /home/username/.Xauthority
ausführen (als root).

Und dann statt
Code:
xauth merge /home/username/.Xauthority
bitte
Code:
/usr/bin/xauth extract - $DISPLAY | sudo -u root /usr/bin/xauth merge -
benutzen.
Also erst als User das Xauthority-File exportieren und dann als root importieren.
 
/home/username/.Xauthority

ist schon usersname:users rw-.---.---


beim ausfüheren des Befehler root konsole
laptop:/home/marco /usr/bin/xauth extract - $DISPLAY | sudo -u root /usr/bin/xauth merge

ausgabe:
/usr/bin/xauth: (argv):1: bad "merge" command line
 
marcoendrich schrieb:
/home/username/.Xauthority

ist schon usersname:users rw-.---.---
Dann lag es daran nicht.

marcoendrich schrieb:
/usr/bin/xauth: (argv):1: bad "merge" command line
Da fehlt das Minus nach "merge".
Außerdem das ganze als User ausführen:
Der User, dem das Xauthority-File gehört, muss es exportieren (xauth extraxt) und root muss es importieren (sudo xauth merge).
 
sorry minus fehlt

also als user

marco habe ich /usr/bin/xauth extract - $DISPLAY | sudo -u root /usr/bin/xauth merge -

ausgeführt er will dann das root pw habe ich ihn gegeben aber yast ist
unverändert erst wenn ich ihn wieder beendet kann ich weider arbeiten

datei .Xauthority >> marco.users rw-.---.---
 
Also:
/etc/sudoers
Code:
User_Alias      USER = username

Cmnd_Alias     YAST = /sbin/yast2, \
                                     /usr/bin/xauth merge *

Defaults:USER env_keep = "DISPLAY"

USER    hostname = NOPASSWD: YAST
YaST starten:
Code:
(/usr/bin/xauth extract - $DISPLAY | sudo -u root /usr/bin/xauth merge -) && sudo /sbin/yast2

marcoendrich schrieb:
nur wenn yast2 geöffnet ist kann ich nicht anders mehr mach wie z.b
die würfelfläche wechseln oder evolution aufrufen usw ...
Das äußert sich wie?
Fehlermeldung?
=> Programme aus der Konsole starten.
 
ha

ich habe eine ander möglichkeit gefunden

habe in der sudoers
marco ALL = (root) NOPASSWD: /opt/kde3/bin/konsole
eingetragen
dann
/usr/loacal/bin
ysat2_run >> /sbin/yast2 exit 0
erstellt
verkünpfung mit programm gemacht und eingetragen
sudo /opt/kde3/bin/konsole -e yast2

geht aber trotzdem danke für alles hast mir sehr geholfen
 
Sry, dass ich die "Lösung" kritisieren muss ...

Code:
marco ALL = (root) NOPASSWD: /opt/kde3/bin/konsole
Ist IMHO ein großes Sicherheitsrisiko.
Damit erlaubst du nicht nur das ausführen von YaST, sondern das Öffnen einer kompletten root-Shell.
Da könntest du auch gleich
Code:
marco ALL = (root) NOPASSWD: ALL
benutzen. :roll:

Inwieweit kannst du keine anderen Programme mehr ausführen?
- Oder ist einfach nur die Konsole (aus der du YaST startest) blockiert?
In dem Fall reicht ein an den Befehl angehängtes &
 
ja hast recht

ich habe einen reboot gemacht und es geht mit
sudo /usr/bin/xauth merge /home/marco/.Xauthority && sudo /sbin/yast2

muss ich in der sudoers

# Defaults env_reset

auskommenieren !

und meine konsole starte immer im vollbild auch
konsole --vt_sz 80x25 hilft nicht geht immer in voldbild modus aber nur als users ist das so "root geht" und unter einstellung >> konsole größe
springt sofort wieder in Voldbild

ich dank dir schon mal für alles :lol:
 
Ich versteh kein Wort von dem was du schreibst, sry.

Du startest eine Konsole im Vollbildmodus ... ?
... und dann alle Anwendungen aus der Konsole?

Mit & kannst du eine Anwendung in den Hintergrund schicken (um dann weitere Anwendungen zu starten):
Code:
progname &

Das "Auskommentieren" von
Code:
Defaults env_reset
halte ich auch für ein Sicherheitsrisiko.
Damit werden alle Umgebungsvariablen des jeweiligen Users übernommen.
Siehe den bereits verlinkten Bugzilla-Eintrag (s.o.).
 
hallo

sudo und yast2 funktioniert

mein anderes kleines problem ist wenn ich denn die konsole unter kde aufrufe dann starte immer im vollbild auch
konsole --vt_sz 80x25 hilft nicht geht immer in voldbild modus aber nur als users ist das so "root geht" und unter Einstellung >> konsole größe
springt sofort wieder in Voldbild und ich möchte aber kein Volbild

du kennst dich richtig gut aus respekt darf ich fragen was machst du
beruflich ?
 
marcoendrich schrieb:
sudo und yast2 funktioniert
Dann markier den Thread bitte noch als "gelöst".
=> Bitte gelöste Threads mit [gelöst] im Titel versehen !

marcoendrich schrieb:
mein anderes kleines problem ist wenn ich denn die konsole unter kde aufrufe dann starte immer im vollbild
Neues Problem = neuer Thread!

marcoendrich schrieb:
du kennst dich richtig gut aus
Nun übertreib mal nicht.
marcoendrich schrieb:
darf ich fragen was machst du beruflich ?
Fragen darfst du ... :mrgreen:
 
Oben