Permissões de arquivo montadas pela WSL

1

Em meu teste do WSL como um possível substituto para o ambiente de trabalho do bash e quasi-unix do git-for-windows, configurei um symlink no WSL para meu diretório /home/me/.ssh/ para o diretório /mnt/c/users/me/.ssh/ correspondente. Não é muito surpreendente (já que ssh é estrito nas permissões dir / file), isso não funciona:

me@d2book:~$ ssh myth
Bad owner or permissions on /home/me/.ssh/config

me@d2book:~$ ll -d .ssh .ssh/config
lrwxrwxrwx 1 me   me     20 Oct 16 13:12 .ssh -> /mnt/c/Users/me/.ssh/
-rwxrwxrwx 1 root root 6335 Dec  5 07:47 .ssh/config*

Eu poderia criar os arquivos no linux e então encontrar uma maneira de vincular as janelas ao sistema de arquivos linux ( %localappdata%/lxss/... ), mas eles recomendam strongmente contra o uso de ferramentas do windows para editar arquivos linux (ref: link ), então sempre Eu preciso ajustar alguma coisa, eu devo entrar na WSL. (Se nada mais, isso pode ser o compromisso preferido, mas ...)

Eu sempre posso manter dois diretórios distintos (cada local para o próprio sistema), mas eu prefiro compartilhá-los. Uma visão mais ampla, porém, é como modificar as permissões de segurança do Windows para imitar propriedades suficientes do sistema de arquivos Linux, de modo que a WSL veja nossas permissões desejadas.

As permissões atuais nos arquivos WIN/.../.ssh/config são: SYSTEM, eu e todos os administradores têm controle total. Quando eu quero mudar o sistema, ele me avisa sobre a herança de permissões e tal. Eu sei que as permissões do windows dir / file são diferentes de várias formas, mas são as últimas ...

P: Existe uma postura de segurança fácil para os arquivos / diretórios do Windows, de modo que a WSL os veja como acesso somente para usuário (proprietário)? (análogo a umask de 0077 ). Mais genericamente, existe uma receita para mapear pelo menos alguma similaridade entre as atribuições ugo unix-y e a segurança de arquivos do Windows?

    
por r2evans 10.12.2017 / 22:22

1 resposta

4

Esta parte da WSL é muito melhor nas últimas compilações internas (por exemplo, a próxima versão do Windows 10). Desde build 17063 a WSL armazena os metadados do Linux , assim chmod etc. em arquivos compartilhados "apenas funciona" sem alterar as ACLs no lado do Windows. Agora estou montando meu diretório pessoal a partir do meu perfil de usuário, assim como você sugere que gostaria, e o SSH funciona bem.

Aqui está minha configuração:

$ cat /etc/wsl.conf
[automount]
enabled=true
options=metadata,uid=1000,gid=1000,umask=022
$ mount | grep /mnt
C: on /mnt/c type drvfs (rw,noatime,uid=1000,gid=1000,umask=22,metadata)
$ echo $HOME
/mnt/c/Users/me
$ ls -ld /home
lrwxrwxrwx 1 root root 11 Jan 11 16:15 /home -> mnt/c/Users
$ ls -ld ~/.ssh
drwxr-xr-x 1 me me 4096 Feb 27 11:44 /mnt/c/Users/me/.ssh
$ ls -ld ~/.ssh/authorized_keys
-rw-r--r-- 1 me me 745 Feb 27 11:44 /mnt/c/Users/me/.ssh/authorized_keys
$ ls -ld ~/.ssh/config
lrwxrwxrwx 1 me me 29 Oct  6 14:14 /mnt/c/Users/me/.ssh/config -> ../share/dotfiles/.ssh/config
$ ls -l ~/share/dotfiles/.ssh/config
-rwxr-xr-x 1 me me 741 Feb 26 21:23 /mnt/c/Users/me/share/dotfiles/.ssh/config
    
por 16.02.2018 / 05:25