Ich habe einen rsync-Dienst, der Dateien von einem entfernten Computer mit einem Computer synchronisiert, der sie auf einem Netzwerklaufwerk ablegt.
Ich benötige die kopierten Dateien, um die nativen Berechtigungen des Zielordners zu übernehmen.
Der Synchronisierungsprozess läuft einwandfrei, aber nachdem er abgeschlossen ist, kann ich nicht auf einige Ordner zugreifen - Berechtigung verweigert.
Ich bin als Domain-Administrator angemeldet. Ich kann auch keine Berechtigungen für diese Ordner ändern. Was gibt?
Führen Sie den Befehl aus:
rsync.exe -v -rlt -z --delete "src_path" "dst_path"
windows
permissions
rsync
avguchenko
quelle
quelle
Antworten:
(von http://www.samba.org/ftp/rsync/rsync.html )
Zusammenfassend: Um den Zieldateien (alte und neue) die Quellberechtigungen zu erteilen, verwenden Sie
--perms
.Stellen Sie sicher, dass die
--perms
Option deaktiviert und--chmod=ugo=rwX
aktiviert ist (wodurch sichergestellt wird, dass alle nicht maskierten Bits aktiviert werden), um neuen Dateien die Zielstandardberechtigungen zu erteilen (wobei vorhandene Dateien unverändert bleiben).Wenn Sie möchten, dass das zuletzt genannte Verhalten einfacher eingegeben werden kann, können Sie einen Popup-Alias dafür definieren, z. g, um die Standardgruppe des Zielverzeichnisses zu verwenden):
quelle
Cygwins "Posix" -Sicherheit hat mir viele Probleme mit Windows NTFS-Dateiberechtigungen bereitet - sogar
--no-perms
mit rsync.Ich habe festgestellt, dass neu erstellte Dateien / Ordner nicht die Standardberechtigungen erben, aber jede Datei / jeder Ordner enthält viele
<not inherited>
Einträge auf der Registerkarte Erweiterte Sicherheit für Windows-Dateien / -Ordner. (Und dieses Problem hängt nicht nur mit Rsync zusammen).Ich fand diesen verwandten Beitrag und diesen Link beide sehr hilfreich, um diese Probleme mithilfe der
noacl
Option in der/etc/fstab
Datei von cygwin zu beheben . Der Nachteil dieser Lösung ist, dass Cygwin die Möglichkeit verliert, Datei- / Ordnerberechtigungen festzulegen. In vielen Fällen ist dies jedoch nicht wichtig.(Wenn Sie dieses Thema googeln, finden Sie wahrscheinlich Verweise auf das Festlegen der Umgebungsvariablen CYGWIN = NONTSEC. Dies gilt jedoch für Cygwin v1.5 und funktioniert ab Cygwin v1.7 nicht.)
quelle
Unter Windows mit DeltaCopy könnte ich damit arbeiten:
Es funktionierte sogar mit
--recursive
quelle
Rsync, zumindest auf Cygwin hat den folgenden Schalter:
-A, --acls erhalten ACLs (impliziert --perms)
Meine Cygwin-Version ist:
CYGWIN_NT-6.3 1.7.29 (0.272 / 5/3) 2014-04-07 13:46 x86_64 Cygwin
Hoffe das hilft!
quelle
Die bestbewertete Antwort funktioniert nur, wenn Sie rsync über ssh in Windows verwenden. Wenn Sie den Daemon cygwin rsync verwenden, hilft es nicht, nur noacl in / etc / fstab zu verwenden. Aus irgendeinem Grund wird die Vererbung nicht berücksichtigt, auch wenn Sie den Benutzer loswerden und noacl versuchen, überschreiben usw. Dies scheint zu passieren Wenn Sie eine Synchronisierung auf einem Laufwerk der obersten Ebene durchführen, verwenden Sie path = / cygdrive / whatever in /etc/rsyncd.conf. Stattdessen müssen Sie einen separaten Mount-Punkt in / etc / fstab erstellen und diesen stattdessen in Ihrer rsyncd.conf verwenden:
In /etc/rsyncd.conf hätten Sie ungefähr Folgendes:
Dann musste ich das Windows-System neu starten. Nur der Neustart des rsync-Dienstes allein schien nicht zu helfen. Er verursachte weiterhin chroot- und chdir-Fehler (obwohl / d_drive gemountet war und chroot = false verwendet wurde und ich schreiben konnte). Dann, wenn Sie in das Windows-System rsync verwenden:
quelle
In der Vergangenheit habe ich meinem aktuellen Benutzer die Berechtigungen in Windows neu zugewiesen, indem ich
takeown
an einer Eingabeaufforderung mit erhöhten Rechten Folgendes verwendet habe:takeown /f <NameOfFolder> /r /d Y
Wenn Sie die richtigen
rsync
Flags verwendet haben, ist dies natürlich unnötig, aber wennrsync
Sie die bereits kopierten Dateien nicht erneut ausführen möchten, würde ich dies empfehlen.quelle
correct rsync flags
> und was wäre das?Ich hatte dieses Problem mit
rsnapshot
, das Rsync für die Sicherung verwendet. Ich habe es überschrieben, indem ich--relative
von entfernt habersync_long_args
. Nach diesem Ordnerc
für die Festplatte selbst mit seltsamen Berechtigungen erstellt nicht.quelle