Der Martin: HTTP-Downloads und Datei-Berechtigungen

Hallo in die Runde,

eigentlich denke ich, dass ich HTTP einigermaßen kenne. Aber ich erlebe immer wieder Überraschungen.

Wenn ich im Browser (Firefox, Pale Moon) eine Datei über HTTP oder HTTPS herunterlade, wird sie normalerweise mit den Berechtigungen 0664 (rw-rw-r--) gespeichert.

Hin und wieder finde ich nach dem Download aber auch Dateien, die die Berechtigungen 0644 (rw-r--r--) oder sogar nur 0600 (rw-------) haben.

Da die Bedingungen beim Download eigentlich immer dieselben sind, also gleicher Browser, gleiches Zielverzeichnis, gleiche Methode (in der Regel Rechtsklick auf einen Link und "Save Target", überlege ich inzwischen, ob bestimmte HTTP-Header den Browser dazu bewegen können, die Datei mit anderen als den sonst üblichen Berechtigungen zu speichern.

Hat mir da jemand einen Hinweis? Oder auch nur Lesestoff zum Vertiefen?

Live long and pros healthy,
 Martin

--
Motorradfahren ist wie Sex: Du musst dem Gummi vertrauen.
  1. Hallo Martin,

    es wäre hilfreich, wenn Du Links auf Dateien hättest, die zu diesem Verhalten führen. Aber wenn Du die hättest, dann könntest Du die Header auch selbst vergleichen 😉

    Der einzige mir bekannte Header, der spezifisch für Downloads ist, ist Content-Disposition. Der hat die Werte inline oder attachment, und die Zusatzparameter name und filename bzw. filename*. Der name-Parameter ist für Uploads im Multipart-Body. filename und filename* sind semantisch gleich, der Unterschied ist das encoding des filename.

    Sagt MDN.

    Also ein typischer Fall von „kann ja gar nicht sein“. Liegt der Unterschied ggf. im Mime-Typ? Dass bestimmte Typen readonly gespeichert werden und andere nicht?

    Es kann aber auch einfach am Zielordner liegen. Je nachdem, welche Rechte dieser Ordner an seine Dateien vererbt, kann das wohl zu Unterschieden für "you", "group" und "everyone" führen.

    Rolf

    --
    sumpsi - posui - obstruxi
    1. Hallo,

      es wäre hilfreich, wenn Du Links auf Dateien hättest, die zu diesem Verhalten führen. Aber wenn Du die hättest, dann könntest Du die Header auch selbst vergleichen 😉

      ja, vor allem, wenn ich vor dem Download dran denken würde. Meistens sehe ich erst Tage später, dass da wieder ein "Blindgänger" dazwischen ist, und meist weiß ich dann nicht mehr genau, woher das kam.

      Also ein typischer Fall von „kann ja gar nicht sein“.

      So weit war ich auch schon.

      Liegt der Unterschied ggf. im Mime-Typ? Dass bestimmte Typen readonly gespeichert werden und andere nicht?

      Ist mir nicht bewusst. Es sind oft Dateien mit dem MIME-Type application/octet-stream, manchmal zip-Archive (weiß den passenden MIME-Typ gerade nicht auswendig), und selten auch mal video/mp4. Alle sind im Browser so eingestellt, dass sie nach Rückfrage nach dem Speicherort gespeichert werden sollen.

      Es kann aber auch einfach am Zielordner liegen.

      Der ist aber immer derselbe, in meinem Fall /data/Download.

      Je nachdem, welche Rechte dieser Ordner an seine Dateien vererbt, kann das wohl zu Unterschieden für "you", "group" und "everyone" führen.

      Ja, dann hätte ich immerhin einen Ansatz. Aber nööö ...

      Live long and pros healthy,
       Martin

      --
      Motorradfahren ist wie Sex: Du musst dem Gummi vertrauen.
  2. Hallo,

    nur mal so aus Interesse:
    was passiert bei deinem Download-Speichern-Dialog eigentlich, wenn eine Datei im Zielverzeichnis schon vorhanden ist?

    Und zweite Frage:
    Wie ist die umask für den Prozess vorher eingestellt gewesen? Könnte irgend eine Anwendung die vorher verstellt haben?

    LG + Gesundheit
    Localhorst

    1. Hi,

      was passiert bei deinem Download-Speichern-Dialog eigentlich, wenn eine Datei im Zielverzeichnis schon vorhanden ist?

      was soll da passieren?
      Mein Browser warnt mich, ich gebe dann einen anderen Dateinamen ein und gut is'.

      Wie ist die umask für den Prozess vorher eingestellt gewesen? Könnte irgend eine Anwendung die vorher verstellt haben?

      Keine Ahnung. Wohl eher nicht.

      Live long and pros healthy,
       Martin

      --
      Motorradfahren ist wie Sex: Du musst dem Gummi vertrauen.
  3. Hin und wieder finde ich nach dem Download aber auch Dateien, die die Berechtigungen 0644 (rw-r--r--) oder sogar nur 0600 (rw-------) haben.

    Hm. Normalerweise hängt sowas nur nur von der eingestellten umask ab. Da fällt mit ein: könnte es sein, dass Du die umask in $HOMEDIR/.bashsrc eingestellt hast?

    cd; grep 'umask' .* 2> /dev/null zeigt sowas

    /data/Download

    ist aber auch nicht gerade der Standard. Ist das eventuell eine Partition mit ntfs, die Du sowohl unter Linux als auch unter Windows mountest?

    Dann könnte es sein, dass Du mal unter Windows und mal inter Linux den Download durchgeführt hast.

    1. Hallo Raketenglaskugelputzer,

      Dann könnte es sein, dass Du mal unter Windows und mal inter Linux den Download durchgeführt hast.

      da tippe ich auch drauf oder unterschiedliche Benutzerkonten.

      --
      Meine Meinung zu DSGVO & Co:
      „Principiis obsta. Sero medicina parata, cum mala per longas convaluere moras.“
      1. da tippe ich auch drauf oder unterschiedliche Benutzerkonten.

        Oder zu Zeitpunkten, zu denen die umask halt verschieden gesetzt war...

    2. $HOME/.bashrc natürlich...

      Das würde dann zu unterschiedlichen Rechten führen wenn Du den Firefox mal per bash ($HOME/.bashrc wird ausgeführt) und mal per Klick aufs Icon startest ($HOME/.bashrc wird dann NICHT ausgeführt).

    3. Hallo,

      Hin und wieder finde ich nach dem Download aber auch Dateien, die die Berechtigungen 0644 (rw-r--r--) oder sogar nur 0600 (rw-------) haben.

      Hm. Normalerweise hängt sowas nur nur von der eingestellten umask ab. Da fällt mit ein: könnte es sein, dass Du die umask in $HOMEDIR/.bashsrc eingestellt hast?

      nö. Ich weiß. dass es umask gibt, das fristet in meiner Wahrnehmung aber ein Schattendasein.

      /data/Download

      ist aber auch nicht gerade der Standard. Ist das eventuell eine Partition mit ntfs, die Du sowohl unter Linux als auch unter Windows mountest?

      Nein, das ist eine separate ext4-Partition, die permanent auf /data gemountet ist und als "seriöser" Ersatz für das home-Verzeichnis dient.
      Isch 'abe gar kein Windows.

      Dann könnte es sein, dass Du mal unter Windows und mal inter Linux den Download durchgeführt hast.

      Das können wir ausschließen.

      Live long and pros healthy,
       Martin

      --
      Motorradfahren ist wie Sex: Du musst dem Gummi vertrauen.
      1. Nein, das ist eine separate ext4-Partition, die permanent auf /data gemountet ist und als "seriöser" Ersatz für das home-Verzeichnis dient.

        Das hab ich „einfacher“. Mein Heimatverzeichnis ist dort wo es hin soll, aber verschlüsselt, ist also ~/Downloads, ~/Videos und ~/Musik sind aber Links zu entsprechenden Verzeichnissen auf /localMounts/data.

        Dadurch kann ich kann die Inhalte auf der ssd lassen und die Massendaten auf den Magnetplatten…

        Ich weiß. dass es umask gibt, das fristet in meiner Wahrnehmung aber ein Schattendasein.

        Hm. Dann kann man die Nutzung auch mal vergessen haben. Aber: Verwendest Du unterschiedliche Browser. Kann gut sein, dass es daran liegt, dass die Programmierer des Browser X nichts dem Zufall (umask) überlassen wollten, wenn die Dateien nicht unterhalb von /home/${USER}/ landen und setzen die Rechte dann explizit auf 0600.