ubuntuusers.de

NTFS3

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |
Dieses Thema ist die Diskussion des Artikels NTFS3.

Max-Ulrich_Farber

Avatar von Max-Ulrich_Farber

Anmeldungsdatum:
23. Januar 2007

Beiträge: 8010

Ich selber schrieb:

Zum Zusammenspiel mit Windows gibt es nicht mehr viel zu sagen.

Bei einem Spaziergang kamen mir nun einige schwerwiegende Bedenken:

  • Nachdem nun offenbar die beiden Systeme von Dateirechten von Windows/NTFS-3g einerseits und Linux andererseits völlig unabhängig voneinander in der gleichen Partition bestehen, sehe ich keine Möglichkeit, Übergriffe zu verhindern. Jeder hat nach meinen Beobachtungen uneingeschränkte Möglichkeiten, im jeweils anderen System erheblichen Schaden anzurichten, denn er kann dort tun, was er will (!!). Hoffentlich täusche ich mich da.

  • NTFS-3G bietet mit dem User-Mapping (sogar schon mit dem default user mapping) hier wirksame Möglichkeiten, Schaden zu vermeiden oder zu begrenzen. Ich sehe nicht, wie etwas Vergleichbares mit der Grundkonzeption von NTFS3 möglich sein könnte. Hoffentlich täusche ich mich da auch.

  • Ich würde nach meinen bisherigen Beobachtungen niemals eine interne Windows-Partition und schon gar nicht die Windows-Systempartition mit NTFS3 in mein Linux-System einbinden. In NTFS-3G macht das User-Mapping dies auch nicht ungefährlich, aber es macht wenigstens die Gefahren überschaubar.

  • Zum reinen Daten-Austausch (z.B. USB-Stick, externe SSD) brauche ich in Linux kein NTFS, exFAT tut es da genau so. Ob außerdem NTFS3 ein wirksames Journaling bieten kann, bezweifle ich erst mal bei den beiden nebeneinander bestehenden Systemen von Dateirechten. Ich lasse mich dann gerne eines besseren belehren.

Was leistet nun der Kernel-Treiber NTFS3 tatsächlich?

  • Er bietet mit der Technik von NTFS ein (angeblich) performantes weiteres "echtes" Linux-Dateisystem an, das sich als solches neben den klassischen Dateisystemen wie ext2/3/4 und anderen behaupten muss. Ob NTFS3 da wirklich Vorteile hat, wird sich zeigen. Ich erlaube mir, daran noch zu zweifeln.

  • Als wirklichen Vorteil sehe ich die Möglichkeit, mit NTFS3 Partitionen, die unter Windows mit vielen Daten beschrieben wurden, in ein Linux-System zu übernehmen, ohne alle Daten umkopieren zu müssen, und dann auf diesen Partitionen ein neues Linux-gerechtes Dateirechte-System einzurichten. Hierfür ist die Langsamkeit von NTFS-3G ein Handicap und das User-Mapping wohl unnötig (?).

  • Für ein Dual Boot System und überhaupt für jedes System, in dem Partitionen abwechselnd unter Windows und Linux gelesen und geschrieben werden, erscheint mir der Treiber NTFS3 von seiner Grundkonzeption her ungeeignet und gefährlich.

Wenn das alles nicht stimmen sollte, wäre ich nur froh!

UlfZibis

Anmeldungsdatum:
13. Juli 2011

Beiträge: 3266

Wohnort: Köln

Max-Ulrich_Farber schrieb:

... Das Thema windows_names ist wohl erledigt.

Wie meinst Du das? Wird unter NTFS3 windows_names automatisch angewandt, was bedeuten würde, dass Dateinamen mit für Windows ungültigen Zeichen immer abgewiesen werden?

Sonst gibt es nur (?) noch das Thema Symlinks, und da kennt sich UlfZibis besser aus als ich.

Ich kann da nur über NTFS-3G berichten. Von NTFS3 habe ich da diesbezüglich keinen Ahnung.

Kannst Du vielleicht unter NTFS3 mal einen relativen Symlink innerhalb des Dateisystems anlegen? Und dann mal schauen, ob der von Windows evtl. korrekt erkannt wird. Und umgekehrt wäre es natürlich auch interessant, auch bzgl. Windows "Junctions".

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9754

Wohnort: Münster

Max-Ulrich_Farber schrieb:

[…] Wenn das alles nicht stimmen sollte, wäre ich nur froh!

Man kann mit ntfs3 jedenfalls bereits im NTFS-Dateisystem gesetzte Besitzer und Berechtigungen unter Linux unterscheiden, ganz ohne User-Mapping. Ich habe bei meinen Experimenten folgendes Beispiel hingeferkelt:

$ ls -al
insgesamt 40
drwxrwxrwx 1 root  root   4096 Mär 15 08:24 .
drwxr-xr-x 9 root  root   4096 Mär 10 15:40 ..
-rw-r----- 1 klaus klaus     0 Mär 12 14:15 1
-rwxrwxrwx 1 root  root      0 Sep 17  2021 4
-rwxrwxrwx 1 root  root      0 Sep 17  2021 aux
-rw-rw-r-- 1 klaus klaus     0 Feb  5  2023 nul
-rw-r----- 1 klaus klaus 31395 Mär 14 11:31 UU-UDisks2

Momentan habe ich aber noch keine Ahnung, welche Mount-Optionen dafür ursächlich waren.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9754

Wohnort: Münster

UlfZibis schrieb:

Max-Ulrich_Farber schrieb:

... Das Thema windows_names ist wohl erledigt.

Wie meinst Du das? Wird unter NTFS3 windows_names automatisch angewandt, was bedeuten würde, dass Dateinamen mit für Windows ungültigen Zeichen immer abgewiesen werden?

Die Option windows_names wird von ntfs3 ab Kernel 6.2 genau so beachtet, bei früheren Kerneln wird sie stillschweigend ignoriert.

UDisks2 setzt ab Version 2.8.2 für ein NTFS-Dateisystem standardmäßig immer diese Option, die von ntfs-3g auch immer beachtet wird und von ntfs3 wie vorstehend beschrieben.

Wenn man diese Option nicht haben will, kann man ab Ubuntu 22.04 UDisks2 entsprechend konfigurieren oder immer Zeilen in fstab anlegen.

Also ich sehe für dieses Thema kein unlösbares Problem mehr.

Max-Ulrich_Farber

Avatar von Max-Ulrich_Farber

Anmeldungsdatum:
23. Januar 2007

Beiträge: 8010

kB schrieb:

Man kann mit ntfs3 jedenfalls bereits im NTFS-Dateisystem gesetzte Besitzer und Berechtigungen unter Linux unterscheiden, ganz ohne User-Mapping.

Das ist höchst interessant! Man müsste wissen, wie, wann und womit diese Besitzer und Berechtigungen gesetzt wurden. Entscheidend für mich ist, ob unter Windows gesetzte Dateirechte ermittelt und beachtet werden können und umgekehrt. Danach entscheidet es sich für mich, ob der Treiber praktisch brauchbar ist. NTFS einfach als zusätzliches Dateisystem in Linux und nicht mehr ist für mich nur eine Spielerei. Ext2/3/4 genügen mir… Ein zusätzliches "Pulverfass" in meinem System brauche ich nicht.

Also ich sehe für dieses Thema kein unlösbares Problem mehr.

(betrifft windows_names) Das sehe ich auch so.

Nochmals Dateirechte:

Die von dir gesetzten Rechte sind z.Teil älteren Datums, sie können also nicht unter NTFS3 gesetzt worden sein. Doch falls sie mittels cp -p von anderen Partitionen übernommen sind, ist das Verhalten ganz normal. Sie können dann natürlich unter NTFS3 erkannt und beachtet werden.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9754

Wohnort: Münster

Max-Ulrich_Farber schrieb:

[…] Die von dir gesetzten Rechte sind z.Teil älteren Datums, sie können also nicht unter NTFS3 gesetzt worden sein.

Die gezeigten Dateien sind allesamt auf diesem NTFS-Dateisystem im März 2024 angelegt und danach teilweise umbenannt worden. Mir scheint es sich um einen Fehler in ls oder mv zu handeln. Die anders als bei Linux üblich aufgebauten Windows-Zeitstempel werden falsch angelegt oder falsch interpretiert.

Max-Ulrich_Farber

Avatar von Max-Ulrich_Farber

Anmeldungsdatum:
23. Januar 2007

Beiträge: 8010

kBschrieb:

Die gezeigten Dateien sind allesamt auf diesem NTFS-Dateisystem im März 2024 angelegt und danach teilweise umbenannt worden.

Dann bringt mir aber dieses Beispiel (leider) keine neuen Erkenntnisse.

Die anders als bei Linux üblich aufgebauten Windows-Zeitstempel werden falsch angelegt oder falsch interpretiert.

Das spricht nun ja nicht gerade für NTFS3.

Da es vielleicht eine Zumutung ist, meine elend langen Ausführungen durchzulesen, will ich versuchen, diese kurz "auf den Punkt" zu bringen:

  • Schon von der Zielsetzung her sind die beiden Treiber NTFS-3G und NTFS3 grundverschieden.

  • Bei NTFS-3G steht die möglichst sichere Kommunikation mit Windows im Vordergrund. Im Laufe der Jahre wurde dafür sehr viel getan.

  • Bei NTFS3 ging es darum, einen weiteren, auf der Technik von NTFS aufbauenden, performanten Dateisystem-Treiber für Linux anzubieten.

  • Für die Kommunikation mit Windows ist NTFS3 nicht die richtige Wahl (und IMO außerdem gefährlich).

Bis jetzt weiß ich nicht, welche Vorteile das Dateisystem NTFS für Linux zu bieten hat (vielleicht könnten mir da die freundlichen Damen und Herren von Microsoft weiterhelfen?). Unsere herkömmlichen Dateisysteme ext2/3/4 u.a. sind performant und sicher. Zumindest den letzten Punkt sehe ich bei NTFS3 (noch) nicht entsprechend verwirklicht, lasse mich aber gerne belehren.

Ich hoffe, diese Thesen lösen Widerspruch aus ❗ und helfen, die Diskussion von dem IMO peripheren Problemchen windows_names, in das sie sich verrannt hat, wieder zurück zu holen.

Newubunti

(Themenstarter)

Anmeldungsdatum:
16. Februar 2008

Beiträge: 5149

NTFS3 speichert die Linux-Rechte offenbar in einem eigens dafür angelegten Attribut des betreffendes Dateieintages in der Master File Table (MFT) des NTFS-Dateisystems.

So sieht das standardmäßig aus (die Partition wurde in Ubuntu 22.04 mit Kernel 6.5 einfach durch Klick im Dateimanager eingebunden):

touch /media/jammy/NTFSTEST/ntfs3-01.txt
umount /media/jammy/NTFSTEST
sudo ntfsinfo -v -F ntfs3-01.txt /dev/vdb1 
...
Dumping attribute $EA (0xe0) from mft record 50 (0x32)
	Attribute length:	 88 (0x58)
	Resident: 		 Yes
	Name length:		 0 (0x0)
	Name offset:		 24 (0x18)
	Attribute flags:	 0x0000
	Attribute instance:	 4 (0x4)
	Data size:		 60 (0x3c)
	Data offset:		 24 (0x18)
	Resident flags:		 0x00
	ReservedR:		 0 (0x0)

	EA flags:		 NONE
	Name length:	 6 (0x6)
	Value length:	 4 (0x4)
	Name:		 '$LXUID'
	Value:		 0xe8030000

	EA flags:		 NONE
	Name length:	 6 (0x6)
	Value length:	 4 (0x4)
	Name:		 '$LXGID'
	Value:		 0xe8030000

	EA flags:		 NONE
	Name length:	 6 (0x6)
	Value length:	 4 (0x4)
	Name:		 '$LXMOD'
	Value:		 0xb4810000


...

ändert man den Besitzer der Datei bei Verwendung von ntfs3 dann ändern sich die Einträge in diesem Attribut entsprechend:

sudo chown test01:test01 /media/jammy/NTFSTEST/ntfs3-01.txt
umount /media/jammy/NTFSTEST
sudo ntfsinfo -v -F ntfs3-01.txt /dev/vdb1 
...
Dumping attribute $EA (0xe0) from mft record 50 (0x32)
	Attribute length:	 88 (0x58)
	Resident: 		 Yes
	Name length:		 0 (0x0)
	Name offset:		 24 (0x18)
	Attribute flags:	 0x0000
	Attribute instance:	 4 (0x4)
	Data size:		 60 (0x3c)
	Data offset:		 24 (0x18)
	Resident flags:		 0x00
	ReservedR:		 0 (0x0)

	EA flags:		 NONE
	Name length:	 6 (0x6)
	Value length:	 4 (0x4)
	Name:		 '$LXMOD'
	Value:		 0xb4810000

	EA flags:		 NONE
	Name length:	 6 (0x6)
	Value length:	 4 (0x4)
	Name:		 '$LXUID'
	Value:		 0xe9030000

	EA flags:		 NONE
	Name length:	 6 (0x6)
	Value length:	 4 (0x4)
	Name:		 '$LXGID'
	Value:		 0xe9030000

...

LG, Newubunti

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9754

Wohnort: Münster

Newubunti schrieb:

NTFS3 speichert die Linux-Rechte offenbar in einem eigens dafür angelegten Attribut des betreffendes Dateieintages in der Master File Table (MFT) des NTFS-Dateisystems.

Das mag richtig sein, aber bitte Vorsicht:

So sieht das standardmäßig aus (die Partition wurde in Ubuntu 22.04 mit Kernel 6.5 einfach durch Klick im Dateimanager eingebunden):

Bitte das Ergebnis immer prüfen:

findmnt -t ntfs3,fuseblk 
touch /media/jammy/NTFSTEST/ntfs3-01.txt
umount /media/jammy/NTFSTEST
sudo ntfsinfo -v -F ntfs3-01.txt /dev/vdb1 

Vorsicht! ntfsinfo stammt aus dem Paket ntfs-3g. Es sollte unabhängig davon für jedes NTFS-Dateisystem funktionieren. Ich bin nicht sicher, ob das wirklich zutrifft.

Newubunti

(Themenstarter)

Anmeldungsdatum:
16. Februar 2008

Beiträge: 5149

kB schrieb:

Das mag richtig sein, aber bitte Vorsicht:

So sieht das standardmäßig aus (die Partition wurde in Ubuntu 22.04 mit Kernel 6.5 einfach durch Klick im Dateimanager eingebunden):

Bitte das Ergebnis immer prüfen:

findmnt -t ntfs3,fuseblk 

Das wurde von mir natürlich überprüft. "Standardmäßig" sollte in erster Linie darauf hinweisen, dass ich nicht irgendwie Einfluss auf die Mount-Optionen genommen habe, sondern das die Beobachtung auf Grundlage der Verwendung der GUI ohne eigene Angabe irgendwelcher Mount-Optionen aber natürlich bei Verwendung von ntfs3 als Treiber gemacht wurden.

Vorsicht! ntfsinfo stammt aus dem Paket ntfs-3g. Es sollte unabhängig davon für jedes NTFS-Dateisystem funktionieren. Ich bin nicht sicher, ob das wirklich zutrifft.

Das ist schon richtig. Aber dieses Attribut wird von ntfsinfo angezeigt und wird in der Form nur von ntfs3 angelegt. Die Ausgabe von ntfsinfo für eine unter Verwendung von ntfs-3g erzeugte Datei führt ein solches Attribut nicht.

Natürlich ist das erst mal nur meine Beobachtung, die ich hier mitteile, damit andere sie veri- oder falsifizieren können.

LG, Newubunti

UlfZibis

Anmeldungsdatum:
13. Juli 2011

Beiträge: 3266

Wohnort: Köln

Newubunti schrieb:

NTFS3 speichert die Linux-Rechte offenbar in einem eigens dafür angelegten Attribut des betreffendes Dateieintages in der Master File Table (MFT) des NTFS-Dateisystems.

Sehr schön, dass Du das rausgefunden hast. So wird auch u.a. klar, warum NTFS3 schneller ist als NTFS-3G, da die Linux-Rechte hier quasi 1:1 abgelegt werden, anstatt in ACLs umgerechnet werden zu müssen.

Eine schicke Sache, wie ich finde, denn so können sich die Rechteverwaltungen von Windows und Linux nicht in die Quere kommen. Wenn NTFS3 dann irgendwann auch noch "Owner-Mapping" und Unterstützung für POSIX-ACL anbietet, sind die Tage von NTFS-3G wohl gezählt.

Meine bisherige Hypothese war, dass NTFS3 evtl. "Alternate Data Streams" für die Ablage der Linux-Rechte nutzen könnte. Dann muss ich das ja nicht mehr erforschen.

Max-Ulrich_Farber

Avatar von Max-Ulrich_Farber

Anmeldungsdatum:
23. Januar 2007

Beiträge: 8010

UlfZibisschrieb:

Wenn NTFS3 dann irgendwann auch noch "Owner-Mapping" und Unterstützung für POSIX-ACL anbietet, sind die Tage von NTFS-3G wohl gezählt.

Letzteres ist bereits der Fall (NTFS3 - The Linux Kernel Dokumentation):

acl

Support POSIX ACLs (Access Control Lists). Effective if supported by Kernel. Not to be confused with NTFS ACLs. The option specified as acl enables support for POSIX ACLs.

Max-Ulrich_Farber

Avatar von Max-Ulrich_Farber

Anmeldungsdatum:
23. Januar 2007

Beiträge: 8010

UlfZibisschrieb:

Wenn NTFS3 dann irgendwann auch noch "Owner-Mapping" und Unterstützung für POSIX-ACL anbietet, sind die Tage von NTFS-3G wohl gezählt.

Letzteres ist bereits der Fall (NTFS3 - The Linux Kernel Dokumentation):

acl

Support POSIX ACLs (Access Control Lists). Effective if supported by Kernel. Not to be confused with NTFS ACLs. The option specified as acl enables support for POSIX ACLs.

Max-Ulrich_Farber

Avatar von Max-Ulrich_Farber

Anmeldungsdatum:
23. Januar 2007

Beiträge: 8010

@kB:

Bei der Arbeit an NTFS-3G habe ich inzwischen auch einige Erfahrungen mit dem Kernel-Treiber NTFS3 gemacht, die sich von dem vorläufigen Inhalt des Artikels doch wesentlich unterscheiden. Am gravierendsten ist wohl der Unterschied bei "Dateirechte". Mit "Datum und Uhrzeit" und "Datei- und Ordnernamen" habe ich mich noch nicht wirklich befasst.

Soll ich die nötigen Änderungen bei "Dateirechte" selbst einbringen oder besser hier aufzählen, damit Du, kB, sie einbringen kannst? Was ist Dir lieber?

L.G.

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9754

Wohnort: Münster

Max-Ulrich_Farber schrieb:

[…] Erfahrungen mit dem Kernel-Treiber NTFS3 gemacht, die sich von dem vorläufigen Inhalt des Artikels doch wesentlich unterscheiden. […] Soll ich die nötigen Änderungen bei "Dateirechte" selbst einbringen oder besser hier aufzählen

Ich habe seinerzeit einfach den alten Inhalt von „Windows-Partitionen einbinden“ in die Baustelle kopiert. Vieles von diesem provisorischen Inhalt (Platzhalter) gehört daher gar nicht in den untergeordneten Artikel, sondern in die Übersicht. Wenn diese jetzt hoffentlich bald fertig wird, denke ich über ntfs3 im Detail nach. Dateirechte, Datum und Uhrzeit sowie Dateinamen können wohl einfach durch Verweis auf die neue generelle Übersicht erledigt werden – dafür muss diese aber erst einmal aktiv sein.

Wichtige Themen für den speziellen Artikel zu ntfs3 wären u.a. aus meiner Sicht:

  • Zusammenspiel mit Windows

  • ACLs

  • Mount-Optionen (dafür habe ich schon eine Tabelle, hadere aber, wo diese am besten platziert werden sollte)