Logo von Thomas Waldecker Software Engineering
Veröffentlichungsdatum

Berechtigungsproblem in VSCode mit WSL

Autoren
  • avatar
    Name
    Thomas Waldecker

So fing es an: Ich habe ein Verzeichnis aus wsl mit code . geöffnet und bekam im Source Control Bereich folgende Fehlermeldung:

Fehlermeldung unsafe repositories

The detected Git repository is potentially unsafe as the folder is owned by someone other than the current user.

Manage Unsafe Repositories

To learn more about unsafe repositories

read our docs.

Ich erinnere mich, dass ich schon öfter komischerweise Dateien von root zwischen den anderen Dateien hatte und das commiten oft nur noch aus Visual Studio code ging.

Besitzer von Dateien in WSL

Es stellt sich heraus, dass ich nach dem Übernehmen des Diskimages aus dem kaputten Windows wohl einen anderen User in WSL hatte, als der, der die Dateien besaß. Das hatte ich damals behoben indem ich die Distribution mit dem -u Parameter gestartet habe. Wenn man dann aber Visual Studio Code mit code . startet, läuft der Prozess mit dem Standarduser der Distribution, das ist in dem Fall dann root.

C:\WINDOWS\system32\wsl.exe --distribution-id {eine-uuid} -u thomas

Die Lösung

Die Befehlszeile im Windows Terminal auf Standard zurücksetzen und in der /etc/wsl.conf den default user setzen:

cat /etc/wsl.conf
[boot]
systemd=true

[user]
default=thomas

Danach muss man WSL neu starten:

PS C:\Users\thomas> wsl --shutdown

Danach muss man noch den Besitzer der Dateien zurücksetzen:

sudo chown -R thomas:thomas *