O WSL não pode executar nenhum arquivo exe depois de adicionar options = "metadata,umask=022,fmask=111" à configuração do wsl. A razão pela qual fiz isso é para poder compartilhar chaves ssh de uma máquina Windows pai. Então, eu gostaria de manter esse comportamento.
Isto é o que eu recebo:
/usr/bin/wslview: line 216: /mnt/c/Windows/System32/reg.exe: Permission denied
/usr/bin/wslview: line 149: /mnt/c/Windows/System32/chcp.com: Permission denied
/usr/bin/wslview: line 156: /mnt/c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe: Permission denied
/usr/bin/wslview: line 149: /mnt/c/Windows/System32/chcp.com: Permission denied
Posso chmod alguns arquivos exe +x e fazê-los rodar, mas alguns não consigo. Atualmente estou tentando abrir um arquivo com o Chrome, mas gostaria de uma solução geral para poder executar todos os arquivos exe.
O bit +x está sendo removido porque você especificou um
fmask
que remove o bit +x.Tanto 'fmask' quanto 'dmask' especificam quais bits de permissão remover (começando com um conjunto "completo"), então você
fmask=0111
significa literalmente que ele mascara--x--x--x
enquanto mantém todo o resto intacto. (Por exemplo,0777 & ~fmask = 0666
, ou sejarwxrwxrwx & ~fmask = rw-rw-rw-
.)Para evitar isso, remova o bit +x da sua máscara. Como atualmente esse é o único bit que possui, o resultado deve ser
fmask=0
.