MelBursian está correto em sua resposta. Seus usuários e grupos devem ser mapeados para os mesmos UIDs e GIDs em todos os sistemas UNIX ou você receberá erros de proprietário e de permissão ao tentar acessar arquivos criados em outras máquinas.
O OSX usa a mesma configuração do UNIX, até onde eu sei, então as mesmas regras se aplicam.
O Windows possui um sistema de permissões completamente diferente. Não há uma maneira padrão de mapear as permissões do UNIX para as permissões do Windows.
O que eu suspeito que está acontecendo aqui é que o BTSync está copiando permissões entre máquinas UNIX e OSX sem modificar o dono ou grupo dos arquivos (lembre-se, são os números UID e GID que são importantes, não o usuário e grupo nomes ). Ele tem que modificar os do Windows até certo ponto, o que provavelmente é o motivo pelo qual os arquivos do Windows estão funcionando na maior parte do tempo.
A modificação imediata da permissão do usuário é um recurso do BTSync Pro, aparentemente (nunca usei). Eu não tenho certeza se ele pode fazer o que você precisa fazer, no entanto. Se você estiver usando o Pro, entre em contato com o suporte deles e descubra como resolver o problema. Se você não estiver usando o Pro, deverá modificar seus usuários e grupos para mapear os UIDs e GIDs corretos.
O MacOS tem uma ferramenta de permissões de usuário que, acredito, pode corrigir as permissões depois que você altera seu UID e GID. No UNIX, depois de fazer a alteração, você precisará usar algo como find
para alterar proprietários e grupos onde necessário. Exemplos de comandos estão abaixo - assuma que masi: masi mapeia para 105: 105 e você precisa que ele seja 99:99, e você já alterou / etc / passwd e / etc / group:
find / -uid 105 -exec chown masi {} \;
find / -gid 105 -exec chown :masi {} \;
Faça os backups primeiro e certifique-se de que não haja colisões de UIDs ou GIDs durante o processo (ou seja, dois usuários com o mesmo UID ou dois grupos com o mesmo GID).
A opção alternativa e mais segura é criar um script para cada máquina que executa comandos como o acima, mas apenas para os diretórios que você está sincronizando. Execute esse script toda vez que você sincronizar (talvez evoque o BTSync e os comandos apropriados do mesmo script). Você precisará de sudo
para isso.
Ah, e como você está usando o OSX e o Windows, esqueça os comentários sobre o NIS que fiz acima.