web-dev-qa-db-fra.com

Impossible de modifier les autorisations de fichiers sur Ubuntu Bash pour Windows 10

J'essayais d'utiliser une instance ssh et j'ai reçu cette erreur:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         WARNING: UNPROTECTED PRIVATE KEY FILE!          @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
Permissions 0777 for 'privkey.pem' are too open.
It is required that your private key files are NOT accessible by others.
This private key will be ignored.
Load key "privkey.pem": bad permissions
Permission denied (publickey).

Ce qui est étrange. J'ai essayé de changer l'autorisation à l'aide de la commande 'chmod', mais cela ne semblait pas fonctionner. Le bash donnait l’impression que la commande était enregistrée, mais j’ai vérifié les permissions de la clé et c’était toujours à 777. J’ai ouvert mon compte git bash et j’ai pu entrer ssh dans mon instance sans problème, et les permissions n’étaient pas 777 comme bien.

7
iii

Si vous référencez des fichiers dans le système de fichiers Windows, ils ne conservent pas par défaut les autorisations Linux. Cependant, il existe un moyen de permettre cela. Modifiez ou créez (à l'aide de Sudo) /etc/wsl.conf et ajoutez les éléments suivants:

[automount]
options = "metadata"

Arrêtez toutes les instances WSL et redémarrez une instance. Toutes les modifications chmod sont maintenant conservées.

17
nilskp

La clé privée de votre système de fichiers Windows (sous/mnt /)? Vous ne pouvez pas modifier les autorisations des fichiers sur le système de fichiers Windows à l'aide de chmod sur Bash sous Ubuntu sous Windows. Vous devrez copier la clé privée dans votre répertoire de base WSL (~) et le faire ici.

Quelques discussions ici: https://github.com/Microsoft/WSL/issues/81

9
erobertc

La bonne façon de gérer cela:

  1. Créez un fichier nommé /etc/wsl.conf et éditez-le pour qu'il contienne les éléments suivants:
    [automount]
    enabled = true
    root = /mnt/
    options = "metadata,umask=22,fmask=11"

Pour comprendre la signification de chaque paramètre ci-dessus, consultez cet article sur msdn: https://blogs.msdn.Microsoft.com/commandline/2018/02/07/automatically-configuring- wsl/

  1. Fermez tous les terminaux WSL ouverts, puis ouvrez-en un nouveau.

Maintenant que tout est prêt, la modification des autorisations d'un fichier dans Windows à partir de/mnt/c/sera reflétée correctement sur le sous-système Linux via la fonctionnalité "métadonnées" WSL.

La configuration WSL sera toujours montée correctement au démarrage de WSL.

4
Basil A