Ich habe ein paar Probleme beim Mounten von Laufwerken in WSL (Win10 Linux Subsystem) – siehe separate Frage zu einem Mount-Fehler auf einem anderen Laufwerk.
Ich habe eine Netzwerkfreigabe lokal auf Laufwerk W: gemountet – und ich habe Lese-/Schreibzugriff in Windows.
Das Mounten dieses Laufwerks mit drvfs funktioniert einwandfrei:
$ sudo mount -t drvfs W: /mnt/w
Aber - wenn ich auf das Laufwerk zugreifen möchte:
( -/- ) e514678@K46290: ~ $ ls -l /mnt/w ls: kann nicht auf „/mnt/w/bar“ zugreifen: Berechtigung verweigert ls: kann nicht auf „/mnt/w/baz“ zugreifen: Berechtigung verweigert ls: kann nicht auf „/mnt/w/foo“ zugreifen: Berechtigung verweigert gesamt 0 d????????? ? ? ? ? ? Bar D????????? ? ? ? ? ? baz d????????? ? ? ? ? ? foo ( -/- ) e514678@K46290: ~ $
Noch einmal: Unter Windows kann ich auf das Laufwerk und die Unterverzeichnisse darauf zugreifen. Beim Mounten mit drvfs kann ich die Einträge der obersten Ebene auf dem Laufwerk sehen, aber es scheinen Benutzer- und Berechtigungsinformationen zu fehlen. Daher kann ich auch unter Linux auf keine der Dateien zugreifen.
Der Zugriff auf Dateien in einigen anderen Netzwerkfreigaben funktioniert einwandfrei – aber ich bin ratlos, was bei dieser anders ist.
Irgendwelche Ideen, was bei diesem Netzwerkvolume anders sein könnte? (Der Versuch, es mit einer bestimmten UID/GID zu mounten, hilft nicht: „sudo mount -t drvfs -ouid=1000,gid=1000 W: /mnt/w“ Linux kann immer noch nicht auf das Laufwerk zugreifen – mit demselben Problem).
Antwort1
Ich hatte das gleiche Problem.
Ich habe festgestellt, dass WSL /etc/wsl.conf
seit Windows Build 17093 eingeführt wurde. Bitte lesen Sie hier die Details:https://docs.microsoft.com/en-us/windows/wsl/wsl-config#configure-per-distro-launch-settings-with-wslconf
Dies ist ein einfaches Beispiel, das Ihr Problem beheben könnte:
$ cat /etc/wsl.conf
[automount]
enabled=true
options=metadata,uid=1000,gid=1000,umask=022
Das obige Beispiel habe ich hier gefunden:WSL-gemountete Dateiberechtigungen
Nach dem Erstellen oder Ändern der Datei müssen Sie WSL neu starten.