Training
Modul
Configure and manage file access - Training
This module describes how to control access to files and folders using permissions.
Dieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge durch, um die neuesten Features, Sicherheitsupdates und den technischen Support zu nutzen.
Auf dieser Seite wird erläutert, wie Linux-Dateiberechtigungen über das Windows-Subsystem für Linux interpretiert werden, insbesondere beim Zugriff auf Ressourcen innerhalb von Windows auf dem NT-Dateisystem. Diese Dokumentation setzt ein Grundwissen der Berechtigungsstruktur des Linux-Dateisystems und des Befehls „umask“ voraus.
Beim Zugriff auf Windows-Dateien von WSL werden die Dateiberechtigungen entweder anhand der Windows-Berechtigungen berechnet oder aus Metadaten gelesen, die von WSL zur Datei hinzugefügt wurden. Diese Metadaten sind standardmäßig nicht aktiviert.
Wenn Metadaten als Bereitstellungsoption in WSL aktiviert sind, können erweiterte Attribute für Windows NT-Dateien hinzugefügt und interpretiert werden, um Linux-Dateisystemberechtigungen bereitzustellen.
WSL kann vier erweiterte NTFS-Attribute hinzufügen:
Attributname | Beschreibung |
---|---|
$LXUID | Besitzer-ID des Benutzers |
$LXGID | Besitzer-ID der Gruppe |
$LXMOD | Dateimodus (Dateisystem-Berechtigungsoktale und -typ, z. B.: 0777) |
$LXDEV | Gerät, falls es sich um eine Gerätedatei handelt |
Zusätzlich besitzen alle Dateien, die keine regulären Dateien oder Verzeichnisse sind (z. B. Symlinks, FIFOs, Blockgeräte, Unix-Sockets und Zeichengeräte) ebenfalls einen NTFS-Analysepunkt. Dadurch lässt sich die Art der Datei in einem bestimmten Verzeichnis viel schneller bestimmen, ohne die erweiterten Attribute abfragen zu müssen.
Nachfolgend wird beschrieben, wie Berechtigungen bestimmt werden, wenn auf verschiedene Weise mithilfe des Windows-Subsystems für Linux auf Dateien zugegriffen wird.
Diese Szenarien liegen vor, wenn Sie von WSL aus auf Ihre Windows-Dateien zugreifen, höchstwahrscheinlich über /mnt/c
.
Das Ergebnis hängt davon ab, ob die Datei bereits über Metadaten verfügt.
Wenn der Datei keine Metadaten zugeordnet sind, werden die tatsächlichen Berechtigungen des Windows-Benutzers in Lesen/Schreiben/Ausführen-Berechtigungsbits übersetzt und die entsprechenden Werte für Benutzer, Gruppen und andere festgelegt. Wenn Ihr Windows-Benutzerkonto z. B. über Lese- und Ausführungszugriff, aber keinen Schreibzugriff für die Datei verfügt, wird dies als r-x
für Benutzer, Gruppen und andere angezeigt. Wenn für die Datei das Schreibgeschützt-Attribut in Windows festgelegt ist, wird in Linux kein Schreibzugriff erteilt.
Wenn in der Datei Metadaten vorhanden sind, werden anstelle der Übersetzung der tatsächlichen Berechtigungen des Windows-Benutzers einfach diese Metadatenwerte verwendet.
Das Ergebnis hängt davon ab, ob die Datei bereits über Metadaten verfügt.
Chmod hat nur einen Effekt: Wenn Sie alle Schreibattribute einer Datei entfernen, wird das Schreibgeschützt-Attribut für die Windows-Datei festgelegt, da dies das gleiche Verhalten wie CIFS (Common Internet File System) ist, das der SMB-Client (Server Message Block) in Linux ist.
Chmod bewirkt das Ändern oder Hinzufügen von Metadaten in Abhängigkeit von den bereits vorhandenen Metadaten der Datei.
Denken Sie daran, dass Sie sich nicht mehr Zugriff erteilen können, als Sie in Windows besitzen, auch wenn die Metadaten dies tun. Sie könnten die Metadaten beispielsweise mit chmod 777
so festlegen, dass Sie Schreibberechtigungen für eine Datei erhalten. Wenn Sie aber versuchen, auf diese Datei zuzugreifen, können Sie trotzdem nicht in diese schreiben. Dies ist dank der Interoperabilität möglich, da alle Lese- oder Schreibbefehle für Windows-Dateien über Ihre Windows-Benutzerberechtigungen geleitet werden.
Das Ergebnis hängt davon ab, ob Metadaten aktiviert sind.
Die Windows-Berechtigungen der neu erstellten Datei sind identisch wie beim Erstellen der Datei in Windows ohne einen bestimmten Sicherheitsdeskriptor. Sie erben die Berechtigungen des übergeordneten Elements.
Die Berechtigungsbits der Datei sind so festgelegt, dass Sie der Linux-Umask folgen, und die Datei wird mit Metadaten gespeichert.
Das Ergebnis hängt davon ab, ob die Datei bereits über Metadaten verfügt.
Im Standardszenario legen wir beim Automatisieren von Windows-Laufwerken fest, dass die Benutzer-ID (UID) für jede Datei auf die Benutzer-ID des WSL-Benutzers und die Gruppen-ID (GID) auf die Prinzipalgruppen-ID des WSL-Benutzers festgelegt ist.
Die in den Metadaten angegebenen UID und GID werden als Benutzerbesitzer und Gruppenbesitzer der Datei angewendet.
Wenn Sie über \\wsl$
auf Linux-Dateien zugreifen, wird der Standardbenutzer der WSL-Verteilung verwendet. Daher hat jede Windows-App, die auf Linux-Dateien zugreift, dieselben Berechtigungen wie der Standardbenutzer.
Beim Erstellen einer neuen Datei in einer WSL-Verteilung von Windows wird die Standard-Umask angewendet. Die Standard-Umask ist 022
, d. h., es werden alle Berechtigungen mit Ausnahme von Schreibberechtigungen für Gruppen und andere zugelassen.
Alle Dateien, die im Linux-Stammdateisystem erstellt oder geändert bzw. auf die zugegriffen wird, folgen den Linux-Standardkonventionen, z. B. dass die Umask auf neu erstellte Dateien angewendet wird.
Sie können Ihre Dateiberechtigungen innerhalb Ihrer Windows-Laufwerke mithilfe der Einbindungsoptionen in „WSL.conf“ konfigurieren. Mit den Einbindungsoptionen können Sie umask
-, dmask
- und fmask
-Berechtigungsmasken festlegen. Die umask
wird auf alle Dateien angewendet, die dmask
wird nur auf Verzeichnisse angewendet, und die fmask
wird nur auf Dateien angewendet. Diese Berechtigungsmasken werden dann durch eine logische ODER-Operation festgelegt, wenn sie auf Dateien angewendet werden. Beispiel: Wenn Sie über einen umask
-Wert von 023
und einen fmask
-Wert von 022
verfügen, wird die resultierende Berechtigungsmaske für Dateien auf 023
festgelegt.
Weitere Informationen finden Sie unter Konfigurationsoptionen pro Verteilung mit „wsl.conf“.
Feedback zu Windows Subsystem for Linux
Windows Subsystem for Linux ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben:
Training
Modul
Configure and manage file access - Training
This module describes how to control access to files and folders using permissions.