J'ai un service rsync qui synchronise les fichiers d'une machine distante à une machine qui les dépose sur un lecteur réseau.
J'ai besoin des fichiers copiés pour prendre les autorisations natives du dossier de destination.
Le processus de synchronisation fonctionne correctement, mais une fois terminé, je ne peux pas accéder à certains dossiers - Autorisation refusée.
Je suis connecté en tant qu'administrateur de domaine; cela ne me permettra pas non plus de modifier les autorisations sur lesdits dossiers. Ce qui donne?
exécuter la commande:
rsync.exe -v -rlt -z --delete "src_path" "dst_path"
windows
permissions
rsync
avguchenko
la source
la source
Réponses:
(depuis http://www.samba.org/ftp/rsync/rsync.html )
En résumé: pour donner aux fichiers de destination (anciens et nouveaux) les autorisations source, utilisez
--perms
.Pour donner aux nouveaux fichiers les autorisations de destination par défaut (tout en laissant les fichiers existants inchangés), assurez-vous que l'
--perms
option est désactivée et utilisez--chmod=ugo=rwX
(ce qui garantit que tous les bits non masqués sont activés).Si vous souhaitez faciliter la saisie de ce dernier comportement, vous pouvez lui définir un alias popt, par exemple en mettant cette ligne dans le fichier ~ / .popt (ce qui suit définit l'option -Z et inclut --no- g pour utiliser le groupe par défaut du répertoire de destination):
la source
La sécurité "posix" de Cygwin m'a causé beaucoup de problèmes avec les autorisations de fichiers Windows NTFS - même
--no-perms
avec rsync.J'ai constaté que les fichiers / dossiers nouvellement créés n'héritent pas correctement des autorisations par défaut, mais chaque fichier / dossier se retrouve avec de nombreuses
<not inherited>
entrées dans l'onglet de sécurité avancée des fichiers / dossiers Windows. (Et ce problème n'est pas uniquement lié à rsync).J'ai trouvé ce post et ce lien très utiles pour résoudre ces problèmes en utilisant l'
noacl
option dans le/etc/fstab
fichier de cygwin . L'inconvénient de cette solution est que cygwin perd la possibilité de définir des autorisations de fichier / dossier, mais dans de nombreux cas, ce n'est pas important.(Sur cette rubrique, vous trouverez probablement des références à la définition de la variable d'environnement CYGWIN = NONTSEC, mais cela concerne cygwin v1.5 et ne fonctionne pas dans cygwin v1.7.)
la source
Sur Windows avec DeltaCopy, je pourrais le faire fonctionner avec:
Cela a fonctionné même avec
--recursive
la source
rsync, au moins sur Cygwin a le commutateur suivant:
-A, --acls préserve les ACL (implique --perms)
Ma version Cygwin est:
CYGWIN_NT-6.3 1.7.29 (0.272 / 5/3) 2014-04-07 13:46 x86_64 Cygwin
J'espère que cela t'aides!
la source
La réponse la mieux notée ne fonctionne que si vous utilisez rsync sur ssh dans Windows. Si vous utilisez le démon cygwin rsync, simplement utiliser noacl dans / etc / fstab n'aide pas, pour une raison quelconque, il n'honore pas l'héritage même si vous vous débarrassez de user et essayez noacl, surchargez, etc. Cela semble se produire si vous effectuez une rsynchronisation sur un lecteur de niveau supérieur et utilisez path = / cygdrive / any dans /etc/rsyncd.conf. Au lieu de cela, vous devez créer un point de montage séparé dans / etc / fstab et l'utiliser à la place dans votre rsyncd.conf:
dans /etc/rsyncd.conf, vous auriez quelque chose comme ceci:
Ensuite, j'ai dû redémarrer le système Windows, le simple fait de redémarrer le service rsync ne semblait pas aider, il continuait de lancer des erreurs chroot et chdir (même si / d_drive était monté et utilisait chroot = false et je pouvais y écrire). Ensuite, lorsque vous rsync dans le système Windows, utilisez:
la source
Dans le passé, je viens de réattribuer les autorisations dans Windows à mon utilisateur actuel par la suite en utilisant
takeown
une invite de commande élevée comme:takeown /f <NameOfFolder> /r /d Y
Bien sûr, si vous avez utilisé les bons
rsync
indicateurs en premier lieu, cela n'est pas nécessaire, mais si vous ne vouliez pas réexécuterrsync
pour les fichiers que vous avez déjà copiés, je le recommanderais.la source
correct rsync flags
> et quels seraient-ils?J'ai eu ce problème avec
rsnapshot
, qui utilise rsync pour la sauvegarde. J'ai annulé la suppression--relative
dersync_long_args
. Après ce dossierc
pour le disque lui-même avec des autorisations étranges ne crée pas.la source