kostenloser Webspace werbefrei: lima-city


[LINUX] ACPI, Mit ROOT Befehl als user ausführen

lima-cityForumHeim-PCBetriebssysteme

  1. Autor dieses Themas

    erasmuz

    Kostenloser Webspace von erasmuz, auf Homepage erstellen warten

    erasmuz hat kostenlosen Webspace.

    Mh, im Grunde sagt die Überschrift schon alles:

    Um mein Bildschirm zu drehen muss ich xrandr ausführen und die Gradzahl drannhängen, dann gehts auch. Aber nur als der User der auch gerade den Xserver besitzt. Wenn ich das nun also per ACPI \"Trigger\", dann führt ROOT den Befehl aus obwohl er garkein X11 hat und es führt zu einem Fehler.

    Wenn ich das Script als User ausführe dreht sich der Bildschirm, so wie es seien soll. Nun würde ich gerne wissen, mit welchem Befehl ROOT etwas als User ausführe kann, wenn das denn geht. Sonst muss ich mir was anderes überlegen ;)

    Vielen Dank,
    ErasmuZ
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. kochmarkus

    Co-Admin Kostenloser Webspace von kochmarkus

    kochmarkus hat kostenlosen Webspace.

    So auf die schnelle:
    su $Benutzer
    xrandr $Parameter


    Root sollte eigentlich das Recht haben die Identität von $Benutzer anzunehmen ohne dessen Passwort einzugeben.

    Allerdings läuft so viel ich weiß der X Server normalerweise schon als Prozess von root.

    €dit: X läuft zwar mit root Rechten, aber xrandr wird trotzdem als normaler User ausgeführt, hast also schon Recht.
    €dit2: So isses wohl noch schöner, weil du Befehle danach wieder als root ausführst.
    su $Benutzer -c xrandr $Parameter


    Beitrag geändert: 26.4.2008 22:07:49 von kochmarkus
  4. oder mit \"chmod +s `which xrandr`\" das SETUID bit für xrandr setzen. Das bedeutet, das Programm wird immer mit den Rechten des Anwenders ausgeführt, dem die Datei gehört (=root)
  5. kochmarkus

    Co-Admin Kostenloser Webspace von kochmarkus

    kochmarkus hat kostenlosen Webspace.


    oder mit \"chmod +s `which xrandr`\" das SETUID bit für xrandr setzen. Das bedeutet, das Programm wird immer mit den Rechten des Anwenders ausgeführt, dem die Datei gehört (=root)

    erasmuz will es aber genau andersrum, nämlich das Programm in einem Skript das von root gestartet wird als normaler Benutzer ausführen. Um mit dem Sticky Bit zu arbeiten müsste \"xrandr\" dann dem Benutzer gehören.
  6. Achso, hab wohl zu schnell gelesen.
    Kannst mal die DISPLAY-envvar auf \":0.0\" setzen, evtl. geht\'s dann

    (DISPLAY=\":0.0\" xrandr ...\"
    oder gleich export DISPLAY=\":0.0\" am Anfang deines Scripts)
  7. Autor dieses Themas

    erasmuz

    Kostenloser Webspace von erasmuz, auf Homepage erstellen warten

    erasmuz hat kostenlosen Webspace.


    Achso, hab wohl zu schnell gelesen.
    Kannst mal die DISPLAY-envvar auf \":0.0\" setzen, evtl. geht\'s dann

    (DISPLAY=\":0.0\" xrandr ...\"
    oder gleich export DISPLAY=\":0.0\" am Anfang deines Scripts)


    Ja, das ist ja genau der Fehler ;)

    Display 0.0 ist das \"zu drehende\" aber es kann nur vom Nutzer gedreht werden ;)
    Somit klingt die Lösung von Kochmarkus ganz gut (kanns leider zzt nicht ausprobieren). Dachte immer \"su\" dient dazu eben root zu werden ^^


    Naja, zumindest das Starten und killen von xvkbd lief schon. Hatte mir das drehen dann behelfweise als 2 Scripts in die Taskleiste geschummelt, aber immer einmal klicken zum drehen ist ja auch doof ;)
  8. kochmarkus

    Co-Admin Kostenloser Webspace von kochmarkus

    kochmarkus hat kostenlosen Webspace.

    Somit klingt die Lösung von Kochmarkus ganz gut (kanns leider zzt nicht ausprobieren). Dachte immer \"su\" dient dazu eben root zu werden ^^

    Ich zitier mal aus \"man su\":
    su - change user ID or become superuser



    Beitrag geändert: 27.4.2008 18:00:57 von kochmarkus
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!