У меня возникли проблемы с монтированием дисков в WSL (подсистема Win10 Linux) — см. отдельный вопрос об ошибке монтирования на другом диске.
У меня есть сетевой ресурс, подключенный локально к диску W:, и у меня есть доступ на чтение и запись в Windows.
Монтирование этого диска с помощью drvfs проходит нормально:
$ sudo mount -t drvfs W: /mnt/w
Но когда я хочу получить доступ к диску:
( -/- ) e514678@K46290: ~ $ ls -l /mnt/w ls: невозможно получить доступ к '/mnt/w/bar': Отказано в доступе ls: невозможно получить доступ к '/mnt/w/baz': Отказано в доступе ls: невозможно получить доступ к '/mnt/w/foo': Отказано в доступе всего 0 d????????? ? ? ? ? ? ? бар д????????? ? ? ? ? ? ? баз д????????? ? ? ? ? ? ? фу ( -/- ) e514678@K46290: ~ $
Опять же - в Windows я могу получить доступ к диску и подкаталогам на диске. Смонтированный с помощью drvfs, я вижу записи верхнего уровня на диске, но, похоже, в них отсутствует информация о пользователе и разрешениях; и поэтому я не могу получить доступ ни к одному из файлов из Linux.
Доступ к файлам на нескольких других сетевых ресурсах работает нормально, но я не понимаю, в чем отличие этого.
Есть идеи, что может быть не так с этим сетевым томом? (Попытка смонтировать его с определенным uid/gid не помогает: «sudo mount -t drvfs -ouid=1000,gid=1000 W: /mnt/w» Linux по-прежнему не может получить доступ к диску — с той же проблемой).
решение1
У меня была такая же проблема.
Я обнаружил, что WSL появился /etc/wsl.conf
в версии Windows Build 17093. Подробности можно прочитать здесь:https://docs.microsoft.com/en-us/windows/wsl/wsl-config#configure-per-distro-launch-settings-with-wslconf
Вот простой пример, который может решить вашу проблему:
$ cat /etc/wsl.conf
[automount]
enabled=true
options=metadata,uid=1000,gid=1000,umask=022
Пример выше я взял отсюда:Права доступа к смонтированным файлам WSL
После создания или изменения файла необходимо перезапустить WSL.