J'essaye de faire un rsync local, d'un point de montage à un dossier local. Je dois définir le propriétaire, le groupe et les autorisations sur des paramètres spécifiques. Voici ce que j'utilise:
rsync -rtlv --chown=process:sambausers --chmod=D770,F770 /mnt/owncloud_mnt/Engineering/ /Drive_D/docs/Engineering_test
Je me retrouve avec des autorisations 760 sur les répertoires et les fichiers, et root: root sur la propriété (rsync est exécuté en tant que root).
Qu'est-ce que je fais mal?
TIA
Réponses:
rsync doit être informé que vous souhaitez définir les autorisations et les informations sur le propriétaire / groupe. Il serait logique de supposer que le fait
--chmod
ou--chown
le dirait, mais ce n'est pas le cas.Pour que les autorisations se propagent, vous avez besoin de l' indicateur
--perms
ou-p
et pour le propriétaire / groupe dont vous avez besoin--owner --group
ou les-og
indicateurs pour que les informations de propriétaire / groupe / autorisation soient définies.La documentation est un peu imprécise, il n'est donc pas clair comment les autorisations sont gérées avec différentes combinaisons ou si les fichiers existants sont affectés.
la source
$(whoami)
J'ai trouvé cette version StackOverflow de la même question plus utile, car il semble que Roger et moi avons des rsyncs avec des préférences différentes pour le format de
--chmod
(la mienne est 3.1.3 d'un paquet Debian).Comme l'a dit Sami, rsync doit être informé des "autorisations", donc incluez
-p
-le ou incluez -le implicitement en utilisant-a
. Mais ensuite, pour que la commande s'exécute réellement, vous avez besoin (par exemple pour les répertoires 755 et les fichiers 644)--chmod=Du=rwx,Dg=rx,Do=rx,Fu=rw,Fg=r,Fo=r
, plutôt que le format "D755, F644".la source