Ordner: Nur-lesbarer Zweitpfad

OP #8095672
Lesenswert?
• ▲
▼

Hallo zusammen,

ich suche zweielerlei: a) nach dem Namen eines Konzepts - ich gehe davon aus, dass der Anwendungsfall so häufig ist, dass dieses Konzept einen Namen hat und b) ob und wie sich das (unter Windows) realisieren lässt.

Ich habe einen Ordner z.B. D:\OrdnerA mit Unterordnern und Dateien, les- und schreibbar.

Ich will einen zweiten Ordner, einen anderen Pfad, z.B. C:\OrdnerB, der auf den gleichen Inhalt wie der erste Ordner abbildet, allerdings schreibgeschützt.

Wenn ein Programm in D:\OrdnerA\ schreibt, soll die Datei normal änderbar sein (und natürlich in C:\OrdnerB\ auch transparent geändert), wenn ein Programm in C:\OrdnerB\ zu schreiben versucht, soll dies wegen Schreibschutz verwehrt werden.

Sozusagen "Kiosk-Modus" für Ordner. Wie mag soetwas heißen?

Ich bin sicher, das es soetwas irgendwie gibt. Die gleichen Daten verschiedenen Nutzern nur-lesbar oder Vollzugriff zu gewähren ist ja Standard. Nur gleicher Nutzer bei unterschiedlichen Pfaden hatte ich bislang noch nicht.

Viele Grüße

: Bearbeitet durch User
(Firma: Starfleet) #8095673
Lesenswert?
• ▲
▼

symlink mit unterschiedlichen Leserechten, so könnte man unter Unix u.ä. andenken. Wenn das mit den getrennten Rechten so nicht geht, vielleicht über named pipe,

Oder man hat zwei mountpoints, auch für gemountede Device kann Rechte (über das gesamte fs) vergeben.

Unter Windows mit seinen löchrigen Rechtedomains würde ich sowas erst garnicht versuchen.

: Bearbeitet durch User
#8095676
Lesenswert?
• ▲
▼

Bradward B. schrieb:

Oder man hat zwei mountpoints, auch für gemountede Device kann Rechte (über das gesamte fs) vergeben.

mount --bind -o,ro olddir newdir

Unter Windows mit seinen löchrigen Rechtedomains würde ich sowas erst garnicht versuchen.

Feigling ;) Vielleicht so: für olddir eine "Netzwerkfreigabe"¹ einrichten und für newdir ein "Netzwerklaufwerk verbinden"¹

1] keine Ahnung, wie das heutzutage genannt wird

#8095681
Lesenswert?
• ▲
▼

Hallo Walter,

Walter T. schrieb:

ich suche [...]

Du hast also ein Problem, für das Du Dir eine Lösung ausgedacht hast und jetzt suchst Du nach einer Möglichkeit, diese Lösung umzusetzen.

Das ist möglicherweise ein schwieriger Ansatz, weil vielleicht schon Deine Lösung Mist und Dein Problem mit einem anderen Ansatz viel besser (für eine beliebige Interpretation des Wortes "besser") umgesetzt werden könnte.

Deswegen ist es wahrscheinlich sinnvoller, wenn Du zunächst einen Schritt zurücktrittst und uns erst einmal das Problem beschreibst, das Du lösen möchtest.

OP #8095689
Lesenswert?
• ▲
▼

Bauform B. schrieb:

Netzwerkfreigabe

Das war auch mein erster Gedanke. Aber erst einmal suche ich nach der Begrifflichkeit, um nach Lösungen suchen oder fragen zu können.

Ein T. schrieb:

einen Schritt zurücktrittst

Der Schritt zurück sagt: Ich habe einen mittelgroßen (ca. 30 GB) Haufen Daten, auf den buggy Programm "A" nur lesend und alle anderen braven Programme lesend und schreibend zugreifen dürfen sollen.

#8095699
Lesenswert?
• ▲
▼

Statt einem Laufwerkbuchstaben kann man mit mklink auch einen Symlink / Directory Junction auf den Netzwerkpfad erstellen. Oder was auch immer diese Reparse Points unter Windows sind.

Eine andere Möglichkeit wäre https://github.com/dokan-dev/dokany dort gibt es eine Beispielanwendung https://github.com/dokan-dev/dokany/wiki/Use-Mirror-example dort müsste das mit der /w Option gehen.

: Bearbeitet durch User
#8095706
Lesenswert?
• ▲
▼

Man könnte das so machen: Download-OrdnerRW auf eine CD brennen. Und wenn sich was merkwürdiges im Download-OrderRW Verändert, eine neue CD brennen.

Oder noch anders: Schreibgeschützten USB-Stick in den Rechner stecken, den Download-OrderRW rüberkopieren - geht aber nicht - und dann über die "Scheiß-Technik" fluchen. Früher konnte man aber per Batch-Datei an den Lese-und Scheibeinstellungen herumfummeln. War technisch gesehen das A und O bei so manchen Sachen.

(Firma: Starfleet) #8095822
Lesenswert?
• ▲
▼

Leider nein. Die App läuft auf dem "Windows Subsystem für Android" (WSA), das immer im Kontext des aktuellen Benutzers läuft.

"Wieviel" "AndroidApp" bringt den dieses Subsystem mit?

Android bietet doch die Möglichkeiten, einzelnen Apps die Schreibrechte zu entziehen (bzw. garnicht erst zuzuteilen). Damit dürfte der Wunsch nach "Schreib-Sicherung dediziert für buggy Programm A" auch erfüllbar sein.

: Bearbeitet durch User
OP #8095937
Lesenswert?
• ▲
▼

Nachtrag:

Es funktioniert. Und es funktioniert nicht.

Ich kann mir den einen nur-lesbaren Ordner (als Zugriff auf den Desktop) erzeugen:

1
net share AndroidShare="C:\Users\WalterT\Desktop" /grant:WalterT,read
2
mklink /d "C:\Users\WalterT\AndroidShare" \\localhost\AndroidShare

(mklink funktioniert übrigens nur in der Konsole, nicht in der Powershell.)

Greife ich auf den Ordner "AndroidShare" im Benutzerprofil zu, habe ich den gewünschten Nur-Lese-Zugriff, den ich unter dem Windows-Subsystem für Android (WSA) teilen kann.

Leider funktioniert mein eigentliches Ziel damit nicht. Die Android-App (F-Stop Media Gallery) funktioniert nicht richtig, wenn WSA keine temporären Dateien im Bilder-Ordner anlegen kann. Was auch wohl mein ursprüngliches Problem war: Die WSA erzeugt ständig temporäre Dateien, der Schreibzugriff von WSA ist buggy (https://github.com/microsoft/WSA/issues/598), und damit wird im Handumdrehen der Inhalt meines Bilder-Ordners zerstört, weil ständig Metadaten geschrieben werden. (Ärgerlich, aber nicht katastrophal, da alle Backups hinreichend frisch sind.)

Das scheint ein generelles Problem von WSA zu sein - Ich kann noch nicht einmal eine Datei vom Schreibgeschützten Verzeichnis in ein anderes kopieren zu können.

Danke für die hilfreichen Beiträge von Helmut und Daniel und den immerhin beim Thema bleibenden Beitrag von Jens!

: Bearbeitet durch User
(Firma: Starfleet) #8095957
Lesenswert?
• ▲
▼

Die WSA erzeugt ständig temporäre Dateien, der Schreibzugriff von WSA ist buggy (https://github.com/microsoft/WSA/issues/598), und damit wird im Handumdrehen der Inhalt meines Bilder-Ordners zerstört,

Also unter dem gegebenen bugreport wird ein etwas anderes Fehlerbild beschrieben. Da steht explizit das es keine dauerhafte Schädigung des Filesystems gibt, im Gegenteil es werden keine Daten in den shared ordner geschrieben, (obwohl das nötig wäre). OK der verlinkte Bugreport ist nicht ganz widerspruchsfrei, aber anders als hier im thread dargestellt.

Auszug aus der verlinkten Fehlerbeschreibung:

"There is no permanent corruption. It seems like memory corruption happens or there is some bug in the "share user folder" in tracking the files.

... The files are not being written to either side(windows or WSA). This seems to be an internal bug with the implementation of "share user folder".

The issue, though, is persistent in that it will continue to report incorrect info. ... Again, it seems to be something solely connected to the Share user folder. ..."

Also wenn ich recht verstehe, wird nicht der Inhalt sondern die "Info beschädigt". Da sollte man doch das OS dazu bringen, diese INFO neu tu generieren.

: Bearbeitet durch User
#8095972
Lesenswert?
• ▲
▼

Wenn das Problem im "Android" liegt und nicht in der App: Versuch einen anderen Android-Emulator (WSA ist ja auch schon lange aus dem Support!), z.B. BlueStacks, oder gleich ein echtes Android-Gerät. Zu dem kannst du mittels Syncthing einen Ordner identischen Inhalts mit nur begrenzter Synchronisierung machen und dann kann Android schreiben, zerfaselt aber nicht die Originale.

OP #8095990
Lesenswert?
• ▲
▼

Bradward B. schrieb:

Also unter dem gegebenen bugreport wird ein etwas anderes Fehlerbild beschrieben.

Ich weiß nicht genau, was passiert ist. Ich weiß nur genau, dass ich definitiv nicht will, dass das jemals wieder passiert. Die Kombination aus F-Stop Media Gallery und WSA ist durch meinen Bilder-Ordner gepflügt und hat etliche JPG-Bilder zerstört. Unter Android läuft es seit Jahren einwandfrei.

Bildersammlungen sind halt etwas, was man quasi "ewig" aufbewahren will und wo Fehler aber auch jahrelang unentdeckt bleiben können.

Jens M. schrieb:

Versuch einen anderen Android-Emulator (WSA ist ja auch schon lange aus dem Support!)

Mit WSAbuild wird WSA glücklicherweise außerhalb von Microsoft (naja, immer noch GitHub...) fortgeführt. Das ist auch gut so - denn es ist meines Erachtens der am wenigsten schlechte Android-Emulator.

BlueStacks kostet 8 US$/Monat und ist auch - zumindest für die Fotosammlung - deutlich zäher als WSA. Vielleicht taugt es für Spiele - das kann ich nicht beurteilen.

Ich habe es jetzt so gelöst, dass Android auf eine echte Kopie zugreift, die regelmäßig mit rsync aktualisiert wird. Nicht perfekt, aber gut genug. So muss ich nicht mehr mein Android-Tablet neben dem Windows-konvertible mitschleppen. (Lieber ein paar GB geopfert als 930 Gramm extra mitschleppen.)

: Bearbeitet durch User
#8096050
Lesenswert?
• ▲
▼

WSA müsste doch eigentlich auf der selben Technologie basieren wie die WSL2, als eine VM. Android nutz einen vom linux Kernel abgeleiteten Kernel. Theoretisch müsste man in der WSA also bind mounts und overlays verwenden können. Dann könnte man theoretisch die Bilder Ordner in der WSA readonly mounten, und dann einen Overlay mount darüber setzen, mit einem leeren tmpfs oder so als Schreiboverlay, aber dem Bilderordner als darunterliegendes layer. Aus Anwendungssicht kann dann normal darauf geschrieben werden, aber nichts davon ändert irgend was an deinem Bilderordner.
Wie man das in der Praxis machen kann, weiss ich aber gerade auch nicht.

https://docs.kernel.org/filesystems/overlayfs.html https://docs.kernel.org/filesystems/tmpfs.html

#8096065
Lesenswert?
• ▲
▼

Daniel A. schrieb:

Theoretisch

Besorg dir doch einfach mal einen gebrauchen Windows-Rechner oder einen kaputten, den du leicht reparieren kannst. Darüberhinaus auch noch einen, wo du FreeDOS drauf installieren kannst. Sterben wirst du daran nicht - aber gewisse "Theorien" könnten damit gut abgebaut werden ;)

Nautilus war früher (bei Fedora 27) auch noch ziemlich verbuggt, das ist aber mit der Zeit zurückgegangen. (https://wiki.ubuntuusers.de/Nautilus/)

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren