Como definir / manter permissões de diretório?

0

Estou usando o CwRsync para conectar da minha máquina de desenvolvimento do Windows a um servidor web linux:

rsync -avuz -e ./ssh --exclude=".svn" /cygdrive/c/xampp/htdocs/project123/ [email protected]:/home/user123/public_html

Isso sincroniza o diretório do meu projeto de desenvolvimento de maneira simples e rápida com o servidor.

Mas depois de fazer isso, todas as propriedades do diretório são redefinidas para o usuário local user123 apenas, então o site não está mais disponível. Eu preciso redefinir manualmente essas propriedades.

Por que isso está acontecendo e como evitá-lo?

PS. vindo de um ambiente Windows Estou tendo muita dificuldade em entender o rsync. Eu copiei o comando acima de alguns exemplos ... só preciso fazer uma coisa pequena funcionando ...

Dylan
fonte
1
Qual usuário está executando o comando rsync? Na página do manual do rsync: -o, --owner preserve owner (super-user only)
Mikael Kjær

Respostas:

1

Depende do que você entende por "propriedades".

  • Permissões? o -p ( --perms ) opção deve preservá-los. É ativado automaticamente ao usar -a, no entanto, se as permissões forem perdidas, isso pode ser causado pelo próprio CwRsync.

    Certifique-se (usando o Cygwin's ls e chmod ) que o local as permissões estão corretas. Alternativamente, tente o --no-perms opção.

  • Propriedade? Em sistemas Unix, os usuários não podem alterar a propriedade do arquivo. Se você fizer login como user123 e criar um arquivo, ele será de propriedade user123período. Existem restrições semelhantes para grupos - você posso altere o grupo de um arquivo, mas somente se você estiver nesse grupo.

  • Algo mais?

grawity
fonte
Eu quis dizer permissões (no meu software de FTP isso é chamado de propriedades, então eu pensei que era a palavra :). Parece que as permissões Group e World estão definidas como 0 pelo rsync. O que você quer dizer com permissões locais? A fonte é uma máquina Windows ... Vou tentar suas dicas primeiro.
Dylan
1
@Dylan: O Windows também tem permissões de arquivos (chamadas ACLs), mais complexas que as do Unix. Ao usar o CwRsync, a camada Cygwin tenta converter as ACLs do Windows em permissões do Unix, que são então copiadas pelo rsync para o servidor remoto. Brinque com icacls no Windows, talvez tente icacls C:\xampp\htdocs\project123 /grant everyone:(oi)(ci)(rx).
grawity