Rsync im Windows-Subsystem für Linux (WSL) – Verhindern der Berechtigungsverweigerung für Windows-Dateien

Rsync im Windows-Subsystem für Linux (WSL) – Verhindern der Berechtigungsverweigerung für Windows-Dateien

Ich möchte rsync innerhalb von WSL ausführen und meine Windows-Kopie sichern. (Weil das Windows-Tool nicht funktioniert. Wenn Sie es verwenden, überprüfen Sie Ihre Sicherungen! Wie auch immer, also...) Ich mounte mein Sicherungslaufwerk mit sudo mount -t drvfs P: /mnt/pund verwende dann rsync zum Sichern /mnt/c/Users/username/. Allerdings sind bestimmte Verzeichnisse lesegeschützt und ich erhalte permission denied. Gibt es eine Möglichkeit, rsync (oder WSL) die Rechte zum Lesen dieser Dateien und Verzeichnisse auf dem Windows-System zu erteilen?

#!/bin/bash

NAME='Automated-Backup'
LOGSTDERR=/tmp/${NAME}.err
LOGSTDOUT=/tmp/${NAME}.log

sudo mount -t drvfs V: /mnt/v
sudo mount -t drvfs B: /mnt/b

source='/mnt/v/'
target='/mnt/b/Backup'

sudo rsync --delete \
      --exclude='*Trash*' \
      --exclude='$RECYCLE.BIN' \
      --exclude='System Volume Information' \
      -aAXzv \
      --progress \
      $source \
      $target 2>${LOGSTDERR} | tee $LOGSTDLOG

cat $LOGSTDERR

Antwort1

Hier ist mein Vorschlag, der derzeit jedoch ungetestet ist.

WSL wird mit denselben Berechtigungen wie jede andere App ausgeführt. Um vollständige Dateisystemberechtigungen des Betriebssystems zu erhalten, müssen Sie es daher als Administrator ausführen. Suchen Sie die von Ihnen verwendete EXE oder App für WSL (oder öffnen Sie eine Eingabeaufforderung als Administrator) und versuchen Sie, Bash von dort aus auszuführen.

Beachten Sie, dass es gute Gründe dafür geben kann, diese Zugriffe zu verhindern, z. B. wenn diese Dateien verwendet werden. Daher würde ich auch vorschlagen, einen anderen Benutzer zu erstellen und das Programm von dort aus auszuführen.

verwandte Informationen