wake-up-neo.com

Dateiberechtigungen auf Ubuntu Bash für Windows 10 können nicht geändert werden

Ich habe versucht, eine ssh-Instanz zu verwenden, und habe folgenden Fehler erhalten:

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@         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).

Welches ist seltsam. Ich habe versucht, die Berechtigung mit dem Befehl 'chmod' zu ändern, aber das schien nicht zu funktionieren. Die Bash erweckte den Eindruck, dass der Befehl registriert wurde, aber ich überprüfte die Berechtigungen des Schlüssels und er war immer noch bei 777. Ich öffnete meine Git-Bash und konnte problemlos in meine Instanz ssh und die Berechtigungen waren nicht 777 als Gut.

7
iii

Wenn Sie auf Dateien im Windows-Dateisystem verweisen, behalten diese standardmäßig keine Linux-Berechtigungen bei. Es gibt jedoch eine Möglichkeit, dies zu ermöglichen. Bearbeiten oder erstellen Sie (mit Sudo) /etc/wsl.conf und fügen Sie Folgendes hinzu:

[automount]
options = "metadata"

Fahren Sie alle WSL-Instanzen herunter und starten Sie eine Instanz neu. Alle Änderungen an chmod bleiben nun erhalten.

17
nilskp

Befindet sich der private Schlüssel in Ihrem Windows-Dateisystem (unter/mnt /)? Sie können die Berechtigungen von Dateien im Windows-Dateisystem nicht mit chmod on Bash unter Ubuntu unter Windows ändern. Sie müssen den privaten Schlüssel in Ihr WSL-Ausgangsverzeichnis (~) kopieren und dort ausführen.

Einige Diskussionen hier: https://github.com/Microsoft/WSL/issues/81

9
erobertc

So gehen Sie richtig damit um:

  1. Erstellen Sie eine Datei mit dem Namen /etc/wsl.conf und bearbeiten Sie sie so, dass sie Folgendes enthält:
    [automount]
    enabled = true
    root = /mnt/
    options = "metadata,umask=22,fmask=11"

Informationen zur Bedeutung der oben genannten Parameter finden Sie in diesem Artikel unter msdn: https://blogs.msdn.Microsoft.com/commandline/2018/02/07/automatically-configuring- wsl/

  1. Schließen Sie alle offenen WSL-Terminals und öffnen Sie ein neues.

Jetzt sind Sie fertig und die Änderungen der Berechtigungen einer Datei in Windows von/mnt/c/werden auf dem Linux-Subsystem über die WSL-Funktion "Metadaten" korrekt wiedergegeben.

Die WSL-Konfiguration wird beim Starten von WSL immer korrekt bereitgestellt.

4
Basil A