kostenloser Webspace werbefrei: lima-city


Raspbian, root Rechte für pi4j

lima-cityForumHeim-PCBetriebssysteme

  1. Autor dieses Themas

    wsgraphics

    wsgraphics hat kostenlosen Webspace.

    Hallo Allerseits,

    ich spiele seit einiger Zeit mit dem Raspberry PI, auf dem das BS Raspbian läuft. Um mit Java auf die GPIO zugreifen zu können, verwende ich die Bibliothek pi4j. diese benötigt leider root-Rechte...

    Wenn ich GPIO dann über eine Webanwendung steuern möchte, muss der Tomcat auch root-.Rechte bekommen, was aus meiner Sicht ein erhbliches Sicherheitsrisiko darstellt.

    Kennt jemand eine andere Möglichkeit????
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    Wenn ich das richtig in Erinnerung habe geschieht der Zugriff auf die GPIO-Pins über Dateien. Du könntest versuchen diese Dateien einer Gruppe zuzuweisen, der auch der Tomcat angehört und die Rechte entsprechend ändern, dass jeder, der in der Gruppe ist auf die Datei schreiben darf.
    Ob das tatsächlich möglich ist musst du allerdings ausprobieren
  4. Autor dieses Themas

    wsgraphics

    wsgraphics hat kostenlosen Webspace.

    grundsätzlich ist das richtig, wenn ich das Programm ohne root-Rechte ausführe, bekomme ich als Fehler kein Recht auf dev/mem.
    /dev/mem scheint mir allerdings einen direkten Speicherzugriff zu repräsentieren:
    die entsprechende Zeile lautet:

    crw-r----T 1 root kmem 1, 1 Jan 1 1970 mem

    da ich absoluter Linux Anfänger bin, traue ich mich da nicht ran...

  5. hackyourlife

    Moderator Kostenloser Webspace von hackyourlife

    hackyourlife hat kostenlosen Webspace.

    wsgraphics schrieb:
    /dev/mem scheint mir allerdings einen direkten Speicherzugriff zu repräsentieren:
    die entsprechende Zeile lautet:

    crw-r----T 1 root kmem 1, 1 Jan 1 1970 mem
    Ja, das ist besser, wenn du nicht änderst.

    Was hast du mit den GPIO vor? Eventuell hilft dir bereits das weiter… wobei nachdem du Anfänger bist:

    Falls du nur GPIO-Pins als Eingang oder Ausgang betreiben willst und auf PWM, SPI & Co verzichten kannst, ist es möglich die Dateien des sysfs zu benutzen. Die kannst du als root anlegen und dann einer beliebigen Gruppe zuweisen, sodass auch Java, das nicht als root läuft, darauf schreiben kann. pi4j kannst du dann allerdings nicht nutzen.

    Alternativ kannst du auch ein Programm in C nutzen, das per setuid als root ausgeführt wird, obwohl du kein root-Recht hast. Soll heißen: dein Java-Programm, das als normaler Benutzer läuft, ruft das C-Programm auf, das automatisch als root ausgeführt wird und entsprechend die GPIO-Pins manipulieren kann. Siehe hier.
  6. Autor dieses Themas

    wsgraphics

    wsgraphics hat kostenlosen Webspace.

    Danke vielmals,
    ich denke, das hilft mir erstmal weiter
  7. 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!