%20%E2%80%93%20Verhindern%20der%20Berechtigungsverweigerung%20f%C3%BCr%20Windows-Dateien.png)
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/p
und 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.