Неожиданные права доступа к файлу

С помощью aspу вас есть две опции, обе описаны на странице man. Первый — просто взять файлы сборки :export:

.

export TARGET...
Dump the build source files for each target into a directory of the target’s name in $PWD. Targets can be specified simply as package to check out the source files at HEAD, or in repository/package format to checkout the source files which were used to push the package which exists in repository.

И checkoutтакже получает файлы сборки, но в процессе инициализирует репозиторий git.

checkout TARGET...
Create a new git repository containing the full source and history for each of the given targets. The new repository will pull from the repository in $ASPROOT and must be updated separately after using asp update. If a checkout occurs on the same filesystem as $ASPROOT, most of the metadata can be hard linked, making this a relatively cheap copy.

1
29.01.2021, 00:41
1 ответ

См. этот документ WSL для получения информации о сопоставлении разрешений между дисками Windows и WSL. По умолчанию разрешения Windows для файла — это то, что вы увидите, и chmod на самом деле не имеет большого эффекта.

Но диски могут монтироваться с поддержкой метаданных, и тогда WSL будет применять разрешения, найденные в метаданных, вместо разрешений Windows.Это позволяет WSL сопоставлять разрешения Linux для файлов на дисках Windows.

Автоматическое подключение дисков Windows с поддержкой метаданных:

  • Изменить или создать /etc/wsl.confв вашем экземпляре WSL
  • Добавьте следующие строки :
    [automount]
    enabled = true
    options = "metadata,umask=22,fmask=11"
    
  • Выйдите из экземпляра WSL
  • Завершите экземпляр WSL, используя wsl --terminate <distroname>из PowerShell или cmd.
  • Перезапустите экземпляр WSL

Затем вы должны обнаружить, что touchприводит к .rw-r--r--, а ваш код приводит к ожидаемому.rwxr-x---(750 ).

Протестировано и подтверждено (, включая ваше тестовое приложение )по крайней мере на моем экземпляре WSL2 / Ubuntu 20.04.

Также обратите внимание, что производительность WSL2 на дисках Windows действительно ужасна по сравнению с WSL1. Если вы собираетесь выполнять на этом диске какие-либо операции с интенсивным использованием файлов, по возможности используйте экземпляр WSL1. Или просто придерживайтесь ext4 fs на WSL2.

3
18.03.2021, 22:33

Теги

Похожие вопросы