Schreiben einer Datei mit Raspian Buster

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo zusammen,

    mein Code, um auf dem Raspi eine Datei zu schreiben, funktioniert mit Raspian Stretch (Debian9) problemlos, mit Buster (Debian10) aber nicht mehr.

    Code
    File myFile = new File("/media/usb/test.properties");
    boolean success = myFile.createNewFile();

    führt zu

    - java.io.IOException: Das Dateisystem ist nur lesbar

    auch wenn das Verzeichnis /media/usb/ die Permissions "777" oktak hat.

    Wenn ich die Datei händisch erzeuge und die Berechtigungen im Code prüfe, dann kommen folgende Ausgaben:

    Code
    File f = new File("/media/usb/test.properties");
    f.exists(): true
    f.canRead(): true
    f.canWrite(): false

    Was hat sich hier zwischen Stretch und Buster geändert?

    Was mache ich falsch?

    Vielen Dank!

  • Der Benutzer ist jetty, ist auch in der Gruppe "users" enthalten.

     ls -ld /media/usb/ 

     drwxrwxrwx 3 root users 4096 Jän 1 1970 /media/usb/ 

     mount | grep /media/usb 

     /dev/sda1 on /media/usb0 type vfat(rw,nodev,noexec,noatime,nodiratime,sync,gid=100,fmask=0113,dmask=0000,allow_utime=0022,codepage=437,iocharset=ascii,shortname=mixed,errors=remount-ro) 

    Das Problem betrifft wohl generell das Schreiben einer Datei, nicht nur auf usb.

    So schreiben wir z. B. im Verzeichnis

     - /etc/systemd/network/ 

    die Dateien

     - eth0.network 

     - wlan0.network 

    Und auch das funktioniert mit Buster nicht mehr.

    Danke!

  • ls -ld /media/usb/

    drwxrwxrwx 3 root users 4096 Jän 1 1970 /media/usb/

    mount | grep /media/usb

    /dev/sda1 on /media/usb0 type vfat....

    Irgendwas passt da nicht, prüfe deine Pfade/Mountpoints.

    df /media/usb

    Sollte /media/usb kein externes Laufwerk sein, ist zumindest der Mountpoint unterhalb /media ungünstig gewählt.

    Dort darf ein User sowieso nicht schreiben, das ist normal. Wenn das vorher bei dir anders war, liegt das an von dir geänderten Berechtigungen und nicht an der Debian-Version.

    Wenn du nichts zu sagen hast, sag einfach nichts.

    3 Mal editiert, zuletzt von llutz (6. April 2020 um 11:20)

  • Wir verwenden USBmount, damit ein USB-Stick immer als /media/usb/ gemounted wird.

    Sorry, hier die korrekte Ausgabe von

     ls -ld /media/usb  (ohne "/" am Ende)

     lrwxrwxrwx 1 root root 4 Mär 31 15:19 /media/usb -> usb0 

    Das ist also ein Verweis auf usb0.


    Ja, wir haben dem Verzeichnis  /etc/systemd/network/ Schreibrechte vergeben, damit die darin enthaltenen Dateien angepasst werden können, um IP-Adressvergabe mittels systemd zu ermöglichen.

    Zum Test vollen Zugriff:

     ls -ld /etc/systemd/network 

     drwxrwxrwx 2 root root 4096 Apr 3 08:58 /etc/systemd/network 

    Vielleicht verstehe ich das ja auch völlig falsch, aber das Manipulieren der darin enthaltenen Dateien ist doch Voraussetzung, um dem Raspi eine spezielle LAN bzw. WLAN Adresse zuweisen zu können.

    https://www.elektronik-kompendium.de/sites/raspberry-pi/1912151.htm (Lösung 5 / Variante 5)

    Wir haben die Zugriffsrechte in Stretch und Buster gleich vergeben, in Stretch funktioniert es problemlos, in Buster nicht.


    Jedenfalls vielen Dank für die Antworten!

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!