Pour attribuer à un autre utilisateur la propriété de fichiers appartenant à un compte ownCloud en cours de fermeture ou de modification, utilisez la occ files:transfer-ownershipcommande côté serveur. Par défaut, cette commande transfère tous les fichiers appartenant au compte, ainsi que les partages sortants et leurs métadonnées ; utilisez-la --pathuniquement si vous souhaitez transférer un dossier. Le panneau de partage web permet de modifier les autorisations d'accès, mais ne gère pas le transfert de propriété.
Choisissez le bon champ de transfert
Dans ownCloud Classic, la propriété détermine l'espace de fichiers personnel contenant l'élément d'origine et le compte contrôlant le partage sortant. Un destinataire disposant d'un accès en modification reste un destinataire ; l'octroi de l'autorisation « peut modifier » ne fait pas de lui le propriétaire du fichier. Avant de lancer un transfert, déterminez si le nouveau propriétaire a besoin de l'intégralité des fichiers du compte ou seulement d'un dossier de projet spécifique.
- Transférer tous les fichiers : utilisez cette option lorsqu’un compte est mis hors service et que ses fichiers associés ainsi que ses partages sortants doivent être transférés ensemble. Son périmètre est plus simple, mais elle transfère davantage de contenu qu’un simple transfert de fichiers entre équipes.
- Transférer un seul dossier : cette option est réservée
--pathà un répertoire spécifique des fichiers de l’utilisateur source. Cela réduit la portée de l’opération, mais vérifiez le contenu imbriqué et les relations de partage avant de poursuivre.
- Conservez un partage d'équipe permanent : pour le contenu partagé de l'équipe, ownCloud recommande un compte propriétaire dédié dont le dossier partagé reste accessible même en cas de changement de personnel. Il s'agit d'un choix de gouvernance pour les fichiers futurs, et non d'un transfert rétroactif des fichiers d'un propriétaire actuel.
La documentation officielle de partage d'ownCloud Server 11 indique que la commande transfère les partages sortants ainsi que leurs métadonnées associées, telles que les étiquettes et les commentaires. Les partages entrants ne sont pas transférés, car les fichiers originaux appartiennent à un autre utilisateur. Le contenu de la corbeille n'est pas non plus transféré.
Préparer les comptes et les données
Vérifiez précisément les identifiants des utilisateurs source et de destination. Il s'agit d'identifiants de compte, et non nécessairement de noms d'affichage ou d'adresses e-mail. Assurez-vous que le compte de destination existe et qu'il dispose de la capacité de stockage nécessaire pour le transfert de données. Bien que la documentation d'ownCloud indique qu'un utilisateur cible manquant peut être créé dans certaines versions, la création et la confirmation préalables du compte prévu permettent d'éviter le transfert de données sous une identité non souhaitée.
Planifiez l'opération lorsque les utilisateurs ne modifient pas les fichiers sources. Effectuez une sauvegarde vérifiée des données et de la base de données ownCloud et assurez-vous de connaître la procédure de restauration. Ne copiez, ne renommez et ne déplacez pas les fichiers directement dans le répertoire de données : la base de données conserve les métadonnées et la propriété des fichiers. Utilisez occcette méthode pour qu'ownCloud puisse mettre à jour ses enregistrements et ses partages de manière cohérente.
La documentation actuelle d'ownCloud Classic comprend des manuels distincts pour les serveurs 11.0 et 10.16. Le manuel du serveur 11 décrit une installation basée sur Docker ; les exemples du serveur 10.16 utilisent une installation PHP traditionnelle. Il est recommandé d'utiliser la syntaxe de commande correspondant à la version déployée plutôt que de copier une commande sans discernement.
Effectuez le transfert de propriété
Pour ownCloud Classic 11 dans Docker
Depuis le répertoire contenant votre déploiement Compose, transférez tous les fichiers dont vous êtes propriétaire du compte source vers le compte de destination :
docker compose exec owncloud occ files:transfer-ownership \
source-user \
destination-user
Remplacez les deux exemples d'identifiants par les identifiants utilisateur ownCloud exacts. Examinez la sortie de la commande et tout message concernant les partages ignorés. N'ajoutez pas d'option acceptant automatiquement les partages ignorés sans avoir préalablement examiné et accepté les conséquences.
Pour ownCloud Classic 10.16 installé avec PHP
Exécutez la commande occen tant qu'utilisateur du serveur web depuis le répertoire d'installation d'ownCloud. Sur de nombreuses installations Debian ou Ubuntu, cet utilisateur estwww-data :
sudo -u www-data php /var/www/owncloud/occ files:transfer-ownership \
source-user \
destination-user
Adaptez le chemin d'accès à l'exécutable et le compte à votre système. Si la commande signale une option ou une commande inconnue, consultez la documentation de référence des commandes ownCloud de la version installée et suivez les instructions occ files:transfer-ownership --helpavant de réessayer.
Limiter le transfert à un dossier
Pour déplacer un répertoire de projet nommé Projectsau lieu de chaque fichier, ajoutez l'option de chemin avant les identifiants utilisateur :
docker compose exec owncloud occ files:transfer-ownership \
--path="Projects" \
source-user \
destination-user
Le chemin d'accès doit exister dans le répertoire courant data/<source-user>/files. ownCloud ne place pas simplement le dossier au même emplacement relatif dans le répertoire de destination. Il stocke le contenu transféré dans un répertoire nommé selon le format indiqué, transferred from <source-user> on <timestamp>situé dans les fichiers de l'utilisateur de destination. Indiquez au destinataire où trouver le fichier une fois la commande terminée. Consultez la documentation de la commande occ d'ownCloud 10.16 pour connaître les options disponibles.
Sachez reconnaître quand cette commande est le mauvais outil
Un transfert ne consiste pas à changer le propriétaire de chaque élément visible par l'utilisateur source. Les fichiers des partages entrants appartiennent à leur propriétaire d'origine et ne sont pas déplacés. Si le contenu souhaité se trouve dans un partage entrant, veuillez contacter ce propriétaire ou effectuer une copie distincte en suivant une procédure approuvée. Une copie est un fichier distinct et peut ne pas conserver l'historique ni les métadonnées du partage d'origine.
Il existe également des limites spécifiques au stockage. La documentation ownCloud déconseille l'utilisation de cette commande avec un stockage principal S3 configuré avec plusieurs compartiments, car des partages de fichiers peuvent être perdus. Les archives de cycle de vie des fichiers d'entreprise présentent également des limitations de transfert documentées. Si l'une de ces fonctionnalités s'applique, consultez la documentation spécifique à la version et testez la procédure sur un compte non productif représentatif avant de l'appliquer.
Si un transfert génère une exception ou s'interrompt prématurément, ne le relancez pas immédiatement. Le guide de partage ownCloud recommande d'exécuter la commande ` occ files:troubleshoot-transfer-ownership --uid <uid>docker logs` pour les identifiants utilisateur source et de destination afin d'analyser et de résoudre l'état du transfert. Conservez les journaux et la sauvegarde d'origine jusqu'à ce que vous compreniez les résultats.
Vérifiez le résultat avant de supprimer le compte source
Connectez-vous en tant qu'utilisateur de destination et vérifiez que le dossier transféré apparaît bien dans le répertoire « Transféré depuis » généré. Ouvrez des fichiers représentatifs et vérifiez les dossiers, étiquettes, commentaires et partages sortants attendus. Demandez à l'un des destinataires de vérifier l'accès via le partage existant. Ensuite, vérifiez le compte source pour identifier les fichiers ou partages dont il est encore propriétaire et consultez la sortie de la commande pour repérer les éléments ignorés.
Ne supprimez ou ne désactivez le compte source qu'après confirmation de l'accès par le propriétaire du compte de destination et les collaborateurs concernés. ownCloud associe les fichiers à leurs propriétaires ; par conséquent, la suppression d'un utilisateur entraîne la suppression de tous ses fichiers et partages restants. La commande de transfert ne déplace pas la corbeille ni les partages entrants ; ces limitations doivent être prises en compte dans la liste de vérification avant le transfert.