Se você não estiver definido em apenas um usuário, considere a configuração a seguir:
- Cada usuário tem seu próprio UID.
- umask para todos os usuários do bzr é 002.
- Cada repositório tem um UID do proprietário e um grupo exclusivo de permissões de gravação.
- Cada repositório tem um diretório baseado na árvore do UID do proprietário.
- Cada diretório do repositório é sgid (
chmod g+s <repo>
). - Cada diretório de repositório possui o proprietário padrão fileacl rwX (
setfacl -R -m d:u:UID:rwX <repo>; setfacl -R -m u:UID:rwX <repo>
). Isso garante que o proprietário sempre possa excluir. - Cada diretório possui o modo 775 e cada arquivo 664.
- Ao compartilhar um repositório, ele é vinculado ao diretório UID, como você mencionou usando a restrição de diretório.
- Ao conceder acesso de gravação a um repositório, o usuário é adicionado ao grupo de permissões de gravação associado a esse repositório.
Assim, você pode controlar o acesso de leitura por "symlink exists" e escrever o acesso por "user in group". Se você quisesse implementar vários usuários principais para um repositório, você poderia adicionar um adicional d: u: UID: rwX, u: UID: rwX, um para cada mestre adicional.