J'utilise CwRsync pour me connecter depuis ma machine de développement Windows à un serveur Web Linux:
rsync -avuz -e ./ssh --exclude=".svn" /cygdrive/c/xampp/htdocs/project123/ [email protected]:/home/user123/public_html
Ceci synchronise bien et rapidement le répertoire de mes projets de développement avec le serveur.
Mais après cela, toutes les propriétés du répertoire ne sont réinitialisées que pour l'utilisateur local user123
. Le site Web n'est donc plus disponible. Je dois réinitialiser manuellement ces propriétés.
Pourquoi cela se produit-il et comment l'éviter?
PS venant d'un environnement Windows, j'ai vraiment du mal à comprendre rsync. J'ai copié la commande ci-dessus à partir de quelques exemples ... juste besoin de faire fonctionner cette petite chose aussi ...
-o, --owner preserve owner (super-user only)
Réponses:
Cela dépend de ce que vous entendez par "propriétés".
Autorisations? L' option
-p
(--perms
) devrait les préserver. Il est automatiquement activé lors de l'utilisation-a
, cependant, si des autorisations sont perdues, cela pourrait être causé par CwRsync lui-même.Assurez-vous (à l'aide de
ls
et de Cygwinchmod
) que les autorisations locales sont correctes. Sinon, essayez l'--no-perms
option.La possession? Sur les systèmes Unix, les utilisateurs ne sont pas autorisés à changer de propriétaire de fichier. Si vous vous connectez en tant que
user123
et créez un fichier, il appartiendra àuser123
, point à point. Des restrictions similaires existent pour les groupes - vous pouvez modifier le groupe d'un fichier, mais uniquement si vous faites vous-même partie de ce groupe.Autre chose?
la source
icacls
Windows, essayez peut-êtreicacls C:\xampp\htdocs\project123 /grant everyone:(oi)(ci)(rx)
.