Para tornar outro usuário o proprietário de arquivos atualmente pertencentes a uma conta ownCloud que está sendo desativada ou alterada, use o occ files:transfer-ownershipcomando do lado do servidor. Por padrão, o comando move todos os arquivos de propriedade do usuário, juntamente com os compartilhamentos de saída e os metadados associados; use-o --pathquando precisar transferir apenas uma pasta. O painel de compartilhamento da web altera as permissões de acesso, mas não é o mecanismo de transferência de propriedade.
Escolha o escopo de transferência correto
No ownCloud Classic, a propriedade determina a quem pertence o espaço de arquivos pessoal que contém o item original e a quem pertence a conta que controla o compartilhamento de saída. Um destinatário com acesso de edição continua sendo um destinatário; conceder a permissão "pode editar" não torna essa pessoa proprietária do arquivo. Antes de executar uma transferência, decida se o novo proprietário precisa de todos os arquivos da conta ou apenas de uma pasta de projeto específica.
- Transferir todos os arquivos: Use esta opção quando uma conta estiver sendo desativada e seus arquivos e compartilhamentos de saída precisarem ser transferidos juntos. É mais simples de definir o escopo, mas transfere mais conteúdo do que uma única transferência de equipe normalmente exigiria.
- Transferir uma pasta: Use esta opção
--pathpara um diretório específico nos arquivos do usuário de origem. Isso reduz o escopo, mas verifique o conteúdo aninhado e os relacionamentos de compartilhamento antes de prosseguir.
- Mantenha um compartilhamento de equipe permanente: Para conteúdo contínuo da equipe, o ownCloud recomenda uma conta de proprietário dedicada cuja pasta compartilhada permaneça inalterada mesmo com mudanças na equipe. Essa é uma escolha de governança para arquivos futuros, não uma transferência retroativa dos arquivos de um proprietário existente.
A documentação oficial de compartilhamento do ownCloud Server 11 afirma que o comando transfere compartilhamentos de saída e metadados associados, como tags e comentários. Compartilhamentos de entrada não são transferidos, pois outro usuário é o proprietário dos arquivos originais. O conteúdo da lixeira também não é transferido.
Prepare as contas e os dados.
Confirme exatamente os IDs de usuário de origem e destino. Esses são identificadores de conta, não necessariamente nomes de exibição ou endereços de e-mail. Certifique-se de que a conta de destino exista e possa acomodar os dados transferidos dentro de sua cota. Embora a referência de comandos do ownCloud mencione que um usuário de destino ausente pode ser criado em algumas versões, criar e confirmar a conta desejada primeiro evita a transferência de dados para uma identidade indesejada.
Agende a operação para um horário em que os usuários não estejam editando os arquivos de origem. Faça um backup verificado dos dados e do banco de dados do ownCloud e certifique-se de conhecer o procedimento de restauração. Não copie, renomeie ou mova arquivos diretamente dentro do diretório de dados: o banco de dados rastreia os metadados e a propriedade dos arquivos. occIsso garante que o ownCloud possa atualizar seus registros e compartilhamentos de forma consistente.
A documentação atual do ownCloud Classic possui manuais separados para o Server 11.0 e o 10.16. Os manuais do Server 11 descrevem uma instalação baseada em Docker; os exemplos do 10.16 utilizam uma instalação tradicional em PHP. Utilize o formato de comando correspondente à versão implantada, em vez de copiar um comando indiscriminadamente.
Execute a transferência de propriedade
Para ownCloud Classic 11 no Docker
A partir do diretório que contém sua implantação do Compose, transfira todos os arquivos pertencentes à conta de origem para a conta de destino:
docker compose exec owncloud occ files:transfer-ownership \
source-user \
destination-user
Substitua ambos os IDs de exemplo pelos IDs de usuário exatos do ownCloud. Analise a saída do comando e qualquer aviso sobre compartilhamentos ignorados. Não adicione uma opção que aceite automaticamente compartilhamentos ignorados, a menos que você tenha analisado e aceitado as consequências.
Para ownCloud Classic 10.16 instalado com PHP
Execute o comando occcomo o usuário do servidor web a partir do diretório de instalação do ownCloud. Em muitas instalações do Debian ou Ubuntu, esse usuário é www-data:
sudo -u www-data php /var/www/owncloud/occ files:transfer-ownership \
source-user \
destination-user
Ajuste o caminho do executável e a conta para corresponder ao seu host. Se o comando reportar uma opção ou comando desconhecido, verifique a referência de comandos do ownCloud da versão instalada e utilize-a occ files:transfer-ownership --helpantes de tentar novamente.
Limitar a transferência a uma pasta
Para mover um diretório de projeto nomeado Projectsem vez de cada arquivo, adicione a opção de caminho antes dos IDs de usuário:
docker compose exec owncloud occ files:transfer-ownership \
--path="Projects" \
source-user \
destination-user
O caminho deve existir dentro do diretório de data/<source-user>/filesdestino. O ownCloud não coloca simplesmente a pasta no mesmo caminho relativo no destino. Ele armazena o conteúdo transferido em um diretório nomeado no formato `<nome_do_diretório>` transferred from <source-user> on <timestamp>dentro dos arquivos do usuário de destino. Informe ao destinatário onde encontrá-lo após a conclusão do comando. Consulte a referência do comando `occ` do ownCloud 10.16 para obter as opções disponíveis.
Saiba quando este comando é a ferramenta errada.
Uma transferência não é um botão genérico de "alterar proprietário" para todos os itens visíveis para o usuário de origem. Os arquivos em compartilhamentos recebidos pertencem ao seu autor original e não são movidos. Se o conteúdo necessário for um compartilhamento recebido, coordene com o proprietário ou faça uma cópia separada usando um fluxo de trabalho aprovado; uma cópia é um arquivo distinto e pode não preservar o histórico ou os metadados do compartilhamento original.
Existem também limitações específicas de armazenamento. A documentação do ownCloud alerta contra o uso deste comando com o armazenamento primário S3 configurado com vários buckets, pois compartilhamentos de arquivos podem ser perdidos. Os arquivos de ciclo de vida corporativo também possuem limitações de transferência documentadas. Se alguma dessas funcionalidades se aplicar, consulte a documentação específica da versão e teste o procedimento em uma conta de não produção representativa antes de prosseguir.
Se uma transferência gerar uma exceção ou for interrompida prematuramente, não a repita imediatamente. O guia de compartilhamento do ownCloud recomenda executar o comando occ files:troubleshoot-transfer-ownership --uid <uid>para os IDs de usuário de origem e destino para investigar e corrigir o estado da transferência. Preserve os logs originais e o backup até que os resultados sejam compreendidos.
Verifique o resultado antes de remover a conta de origem.
Inicie sessão como o utilizador de destino e confirme se a pasta transferida aparece no diretório "transferido de" gerado. Abra os ficheiros de referência e verifique as pastas, etiquetas, comentários e partilhas de saída esperados. Peça a um dos destinatários pretendidos para verificar o acesso através da partilha existente. Em seguida, verifique a conta de origem para ver se ainda existem ficheiros ou partilhas de sua propriedade e consulte a saída do comando para verificar se existem itens ignorados.
Só exclua ou desative a conta de origem depois que o proprietário do destino e os colaboradores relevantes confirmarem o acesso. O ownCloud vincula os arquivos aos seus proprietários; portanto, excluir um usuário pode excluir os arquivos e compartilhamentos restantes desse usuário. O comando de transferência não move a lixeira nem os compartilhamentos recebidos, e essas limitações devem ser incluídas na lista de verificação de transferência.