Um colega sai da empresa, um projeto é transferido para outra equipe ou uma pasta compartilhada ainda pertence a uma conta que está prestes a ser desativada. Os arquivos podem aparecer na visualização do ownCloud do destinatário, mas ele pode ter acesso apenas por meio de um compartilhamento. Se a conta original for removida, essa distinção pode se tornar um problema.
Para o ownCloud Server 10.x, um administrador pode transferir a propriedade usando a ferramenta de linha de comando occ files:transfer-ownership. Não existe um botão "Tornar-me o proprietário" visível para o usuário, conforme descrito na documentação do Server 10.16. O comando move os arquivos pertencentes a uma conta e seus compartilhamentos de saída para outra conta; os compartilhamentos de entrada não são transferidos. Os passos abaixo utilizam a referência de comandos atual do ownCloud Server 10.16. Consulte a documentação para obter informações sobre a versão e a configuração de armazenamento exatas que você está executando antes de realizar uma alteração de propriedade.
Primeiro, identifique o que precisa ser movido.
"Compartilhado comigo" não significa necessariamente "de minha propriedade". No ownCloud, a conta que criou ou possui um arquivo pode compartilhá-lo com outros usuários. Um destinatário pode ler ou editar o item compartilhado sem ser o proprietário. Se você for o destinatário, geralmente a melhor opção é solicitar ao proprietário original ou a um administrador que mova o item.
O comando de transferência é uma operação administrativa no host do servidor ownCloud. Ele pode mover todos os arquivos pertencentes a um usuário de origem ou uma pasta selecionada e seu conteúdo. O caminho selecionado deve existir dentro do diretório de arquivos desse usuário. Ele não transfere compartilhamentos recebidos, conteúdo da lixeira ou versões antigas de arquivos. A documentação oficial de referência de comandos OCC do servidor ownCloud 10.16 descreve o comando e suas opções.
Este guia abrange o ownCloud Server (o produto clássico da versão 10.x). O ownCloud Infinite Scale é um produto diferente, com arquitetura e interface de usuário distintas. Não assuma que este comando do Server ou seus resultados se aplicam a uma implementação do Infinite Scale; consulte a documentação do produto instalado.
Escolha o escopo de transferência correto
| Precisar | Abordagem | O que ter em mente |
| Mova uma pasta de projeto. | Utilize --pathcom um caminho relativo ao diretório de arquivos do usuário de origem. | A pasta e seus arquivos descendentes são colocados em uma pasta de transferência com registro de data e hora para o destinatário. |
| Mover todos os arquivos pertencentes a uma conta | Execute o comando apenas com os IDs de usuário de origem e destino. | As ações de saída são transferidas juntamente com os arquivos; as ações de entrada não. |
| Encerrar uma conta | Primeiro, faça a transferência, verifique o resultado e, em seguida, siga o processo de remoção de conta da sua organização. | Não desative nem exclua a conta de origem até que os dados e compartilhamentos necessários tenham sido verificados. |
| Mova arquivos diretamente para a área de arquivos de nível superior de um novo usuário. | Considere --destination-use-user-folderapenas o seu caso especial documentado. | A conta de destino deve existir e nunca ter sido utilizada. Este não é o fluxo de trabalho normal de transferência seletiva. |
Antes de executar o comando
- Confirme o produto e a versão. Verifique se é o ownCloud Server 10.x e não o ownCloud Infinite Scale, e leia o guia de comandos da versão instalada.
- Confirme os dois IDs de conta. Use os IDs de usuário reais do ownCloud, não nomes de exibição ou endereços de e-mail, a menos que esses sejam os IDs. Verifique a ortografia cuidadosamente: origem e destino são argumentos posicionais.
- Analise o impacto do compartilhamento. O comando pode mover compartilhamentos de saída pertencentes à conta de origem. Compartilhamentos de entrada são excluídos. Informe os colaboradores sobre qualquer alteração esperada de propriedade ou acesso.
- Faça e verifique um backup. Siga o procedimento normal de backup do seu site para o banco de dados e o armazenamento de dados. A transferência de arquivos altera a propriedade e as relações de compartilhamento; um backup recuperável é o plano de reversão mais seguro.
- Verifique os detalhes de armazenamento e implantação. Confirme o diretório de instalação do ownCloud e a conta correta do servidor web. Em uma instalação Linux padrão, essa conta geralmente é `/usr/local/bin`
www-data, mas pacotes e contêineres podem ser diferentes.
Se você usa armazenamento primário compatível com S3 com vários buckets, pare e revise o aviso específico para armazenamento na documentação oficial do ownCloud sobre armazenamento primário compatível com S3 . A documentação informa que a transferência de propriedade não é recomendada nesse cenário, pois os compartilhamentos podem ser perdidos.
Transferir uma pasta compartilhada selecionada
Use uma transferência seletiva quando o destino precisar de um projeto ou de um pequeno conjunto de arquivos, em vez de toda a coleção de arquivos do usuário de origem. O exemplo abaixo transfere uma pasta chamada Projects/Proposaldo usuário ID alicepara o usuário ID bob.
- Abra um terminal no host do servidor ownCloud e acesse o diretório que contém o
occscript. Use o caminho que corresponde à sua instalação.
- Verifique as opções do comando antes de executá-lo:
sudo -u www-data ./occ files:transfer-ownership --help
- Execute a transferência seletiva. O caminho de exemplo é relativo ao
alicediretório de arquivos do ownCloud; não é um caminho do sistema de arquivos do servidor:
sudo -u www-data ./occ files:transfer-ownership \
--path="Projects/Proposal" \
alice \
bob
Substitua www-datase a sua instalação usar uma conta de serviço diferente. Em uma implantação de contêiner, use o formato de comando documentado do contêiner em vez de copiar o comando do host literalmente. A documentação para desenvolvedores do ownCloud, por exemplo, mostra um formato do Docker Compose como este docker compose exec owncloud occ ...; os nomes dos serviços variam de acordo com a implantação.
O comando coloca a pasta selecionada e seu conteúdo na área de arquivos do usuário de destino, em uma pasta nomeada no padrão transferred from alice on [timestamp]. Ele não preserva a localização original de nível superior. Verifique a conta de destino para esta pasta transferida após a conclusão do comando.
Transfira tudo o que pertence a uma única conta.
Se o usuário estiver saindo e o objetivo for mover todos os seus arquivos e compartilhamentos de saída, omita --path:
sudo -u www-data ./occ files:transfer-ownership \
alice \
bob
Leia a mensagem de confirmação antes de aceitá-la. O comando pode indicar compartilhamentos que não podem ser transferidos. A --accept-skipped-sharesopção instrui o ownCloud a continuar mesmo quando os compartilhamentos forem ignorados; use-a somente se você entender e aceitar esse resultado. Não a adicione apenas para suprimir uma mensagem.
Existe também uma --destination-use-user-folderopção para um caso específico de migração completa de usuários. O usuário de destino deve ser criado, mas nunca deve ter feito login; o ownCloud recomenda o modo de manutenção para essa operação. Como essa opção possui pré-requisitos mais rigorosos e altera o local onde os dados são armazenados, não a utilize para uma transferência comum ou migração seletiva.
Verifique o resultado e o endereço das ações ignoradas.
- Inicie sessão como o utilizador de destino ou peça-lhe para verificar a área de ficheiros. Para uma transferência seletiva, confirme a
transferred from …pasta com a data e hora e abra os ficheiros representativos.
- Verifique se a estrutura de pastas esperada e o conteúdo mais recente dos arquivos estão presentes. A referência de comandos do Server 10.16 afirma que as versões dos arquivos não são transferidas; apenas a versão mais recente aparece na conta de destino.
- Revise os compartilhamentos importantes com as pessoas que dependem deles. Como os compartilhamentos de saída são transferidos, mas os de entrada não, uma transferência não torna a conta de destino destinatária de todos os itens que foram compartilhados com a origem.
- Mantenha a conta de origem disponível até que o proprietário da conta de destino e os colaboradores afetados confirmem o acesso. A desativação da conta só deve ser concluída após essa verificação e a revisão de retenção padrão.
Se a transferência reportar uma exceção ou terminar prematuramente, o ownCloud documenta files:troubleshoot-transfer-ownershipos problemas relacionados à transferência para verificação. Seu comportamento padrão é realizar uma simulação e registrar as constatações. Por exemplo:
sudo -u www-data ./occ files:troubleshoot-transfer-ownership --uid bob
Analise primeiro a saída do comando. O comando também possui uma --fixopção para tentar reparos, portanto, não adicione essa opção sem antes analisar os problemas relatados e ter um backup atualizado. As verificações e opções disponíveis estão listadas na mesma referência oficial do OCC .
Autoverificação final
- Você utilizou a instância, a versão, o ID de origem e o ID de destino corretos do servidor ownCloud?
- Você selecionou o escopo desejado: um caminho ou todos os arquivos pertencentes à origem?
- Você levou em consideração compartilhamentos de saída ignorados, compartilhamentos de entrada, conteúdo da lixeira e versões antigas?
- O usuário de destino consegue encontrar e abrir os arquivos transferidos? E os colaboradores afetados ainda conseguem acessar o que precisam?
- Você manteve um backup verificado e adiou a remoção da conta até que a transferência seja confirmada?
Um comando bem-sucedido é apenas o começo da transferência. Confirme a nova localização, o conteúdo do arquivo e o acesso de colaboração antes de considerar a transferência de propriedade concluída.