Вы можете получить доступ снаружи файлы через дерево DrvFS /mnt
. /mnt/c
соответствует вашему диску C:
и имеет ту же структуру.Все файлы, к которым может получить доступ ваш пользователь, доступны через эту файловую систему, а разрешения транслируются несколько интуитивно:
Чтобы дать пользователю подсказку о разрешениях, которые он имеет на файлы, DrvFs проверяет действующие разрешения, которые пользователь имеет на файл и преобразует их в биты чтения/записи/выполнения, что можно увидеть, например, при запуске «ls -l». Однако не всегда существует однозначное отображение; например, Windows имеет отдельные разрешения для возможности создавать файлы или подкаталоги в каталоге. Если у пользователя есть какое-либо из этих разрешений, DrvFs сообщит о доступе для записи в каталог, хотя на самом деле некоторые операции могут по-прежнему завершаться сбоем с отказом в доступе.
Возможно, они могут немного отличаться от ожидаемых, особенно если вы применяете настраиваемые списки управления доступом или обращаетесь к файлам через терминал с повышенными/неповышенными правами (например, Windows имеет более подробные разрешения на создание, чем обычные Восьмеричные разрешения Unix, а WSL не сопоставляется с ACL Linux). Единственное разрешение, которое вы можете с пользой изменить, — это доступ на запись (w
), который влияет на флаг «только чтение» в файле NTFS.
Вы можете запускать программы Windows из Bash при условии, что вы используете по крайней мере версию 14951, которая была доступна через программу предварительной оценки с прошлого года и будет в следующем Windows выпуск. Вам просто нужно найти и запустить соответствующий исполняемый файл как обычно; для этого вы должны находиться внутри пути DrvFS.
Их можно объединить вместе:
$ export PATH=$PATH:/mnt/c/Windows/System32
$ cd /mnt/c/Users/you
$ notepad.exe file.txt
Вы не можете (пока, возможно, никогда) читать исполняемые файлы Windows из файлов Linux. Запуск исполняемого файла из WSL просто не удастся, но попытка получить доступ к файлу другим способом просто сломает все.
А также параметры {recursion true; }
, упомянутый MAP (который требуется для включения рекурсии), вы также можете добавить дополнительное правило пересылки
в файл named.conf
, чтобы указать bind
] какие «родительские» серверы имен использовать для разрешения доменных имен, о которых он не знает.
например.
forwarders {
x.x.x.x; // your ISP's nameserver ip-address
8.8.8.8; // google's public DNS resolver
};