Per assegnare a un altro utente la proprietà dei file attualmente appartenenti a un account ownCloud che sta per lasciare l'account o che sta cambiando, utilizzare il occ files:transfer-ownershipcomando lato server. Questo comando sposta automaticamente tutti i file di proprietà, insieme alle cartelle condivise in uscita e ai metadati associati; utilizzarlo --pathquando è necessario trasferire solo una cartella. Il pannello di condivisione web modifica le autorizzazioni di accesso, ma non rappresenta il meccanismo di trasferimento della proprietà.
Scegliere l'ambito di trasferimento corretto
In ownCloud Classic, la proprietà determina a chi appartiene lo spazio file personale che contiene l'elemento originale e quale account controlla la condivisione in uscita. Un destinatario con accesso in modifica rimane comunque un destinatario; concedere l'autorizzazione "può modificare" non lo rende automaticamente il proprietario del file. Prima di avviare un trasferimento, è necessario stabilire se il nuovo proprietario necessita di tutti i file dell'account o solo di una specifica cartella di progetto.
- Trasferisci tutti i file: usa questa opzione quando un account viene dismesso e i relativi file di proprietà e le condivisioni in uscita devono essere spostati insieme. È più semplice da definire, ma sposta più contenuti rispetto a un singolo passaggio di consegne tra team.
- Trasferisci una cartella: da utilizzare
--pathper una directory specifica all'interno dei file dell'utente di origine. Questo riduce l'ambito, ma verifica il contenuto annidato e le relazioni di condivisione prima di procedere.
- Mantieni una condivisione di team permanente: per i contenuti di team in modo continuativo, ownCloud consiglia un account proprietario dedicato la cui cartella condivisa rimane attiva anche in caso di cambiamenti nel personale. Questa è una scelta di governance per i file futuri, non un trasferimento retroattivo dei file di un proprietario esistente.
La documentazione ufficiale di ownCloud Server 11 relativa alla condivisione afferma che il comando trasferisce le condivisioni in uscita e i metadati associati, come tag e commenti. Le condivisioni in entrata non vengono trasferite perché i file originali appartengono a un altro utente. Anche il contenuto del Cestino non viene trasferito.
Preparare i conti e i dati
Verifica con precisione gli ID utente di origine e di destinazione. Si tratta di identificativi dell'account, non necessariamente di nomi visualizzati o indirizzi e-mail. Assicurati che l'account di destinazione esista e che abbia spazio sufficiente per trasferire i dati entro la quota consentita. Sebbene la documentazione di ownCloud segnali che in alcune versioni potrebbe essere creato un utente di destinazione mancante, la creazione e la conferma dell'account desiderato prima dell'esecuzione del comando evitano di trasferire dati con un'identità errata.
Pianifica l'operazione quando gli utenti non stanno modificando i file sorgente. Esegui un backup verificato dei dati e del database di ownCloud e assicurati di conoscere la procedura di ripristino. Non copiare, rinominare o spostare i file direttamente all'interno della directory dei dati: il database tiene traccia dei metadati e della proprietà dei file. Utilizza occquesta funzione affinché ownCloud possa aggiornare i propri record e le proprie condivisioni in modo coerente.
La documentazione attuale di ownCloud Classic presenta manuali separati per Server 11.0 e 10.16. La documentazione per Server 11 descrive un'installazione basata su Docker; gli esempi per 10.16 utilizzano un'installazione PHP tradizionale. Utilizzare il comando corrispondente alla versione distribuita anziché copiare un comando senza verificarne la correttezza.
Eseguire il trasferimento di proprietà
Per ownCloud Classic 11 in Docker
Dalla directory contenente la tua installazione di Compose, trasferisci tutti i file di proprietà dall'account di origine all'account di destinazione:
docker compose exec owncloud occ files:transfer-ownership \
source-user \
destination-user
Sostituisci entrambi gli ID di esempio con gli ID utente esatti di ownCloud. Esamina l'output del comando e qualsiasi messaggio relativo alle condivisioni ignorate. Non aggiungere un'opzione che accetti automaticamente le condivisioni ignorate a meno che tu non ne abbia esaminato e accettato le conseguenze.
Per ownCloud Classic 10.16 installato con PHP
Eseguire occcome utente del server web dalla directory di installazione di ownCloud. In molte distribuzioni Debian o Ubuntu, tale utente è www-data:
sudo -u www-data php /var/www/owncloud/occ files:transfer-ownership \
source-user \
destination-user
Modifica il percorso dell'eseguibile e l'account in modo che corrispondano al tuo host. Se il comando segnala un'opzione o un comando sconosciuto, consulta la documentazione di riferimento dei comandi di ownCloud della versione installata e utilizzala occ files:transfer-ownership --helpprima di riprovare.
Limita il trasferimento a una cartella
Per spostare una directory di progetto denominata Projectsanziché ogni singolo file, aggiungere l'opzione path prima degli ID utente:
docker compose exec owncloud occ files:transfer-ownership \
--path="Projects" \
source-user \
destination-user
Il percorso deve esistere all'interno di data/<source-user>/files. ownCloud non si limita a posizionare la cartella nello stesso percorso relativo nella destinazione. Memorizza il contenuto trasferito in una directory denominata nel formato transferred from <source-user> on <timestamp>all'interno dei file dell'utente di destinazione. Indica al destinatario dove trovarla al termine del comando. Consulta il riferimento del comando occ di ownCloud 10.16 per le opzioni disponibili.
Sappi quando questo comando non è lo strumento giusto
Un trasferimento non equivale a un pulsante "cambia proprietario" generico per ogni elemento visibile all'utente di origine. I file nelle condivisioni in entrata appartengono al loro proprietario originale e non vengono spostati. Se il contenuto richiesto è una condivisione in entrata, è necessario coordinarsi con il proprietario o creare una copia separata utilizzando un flusso di lavoro approvato; una copia è un file distinto e potrebbe non conservare la cronologia della condivisione originale o i metadati.
Esistono anche limiti specifici per l'archiviazione. La documentazione di ownCloud sconsiglia l'utilizzo di questo comando con l'archiviazione primaria S3 configurata con più bucket, poiché le condivisioni sui file potrebbero andare perse. Anche gli archivi del ciclo di vita dei file aziendali presentano limitazioni di trasferimento documentate. Se una di queste funzionalità è applicabile, consultare la documentazione specifica della versione e testare la procedura su un account non di produzione rappresentativo prima di procedere.
Se un trasferimento genera un'eccezione o si interrompe prematuramente, non ripeterlo immediatamente. La guida alla condivisione di ownCloud consiglia di eseguire il processo occ files:troubleshoot-transfer-ownership --uid <uid>sia per l'ID utente di origine che per quello di destinazione per analizzare e ripristinare lo stato del trasferimento. Conservare i log originali e il backup fino a quando i risultati non saranno chiari.
Verifica il risultato prima di rimuovere l'account di origine.
Accedi come utente di destinazione e verifica che la cartella trasferita appaia nella directory "da cui è stato trasferito" generata. Apri file rappresentativi e controlla le cartelle, i tag, i commenti e le condivisioni in uscita previsti. Chiedi a uno dei destinatari previsti di verificare l'accesso tramite la condivisione esistente. Quindi, controlla l'account di origine per verificare la presenza di file o condivisioni di proprietà rimanenti e controlla l'output del comando per individuare eventuali elementi ignorati.
Elimina o disabilita l'account di origine solo dopo che il proprietario dell'account di destinazione e i collaboratori interessati hanno confermato l'accesso. ownCloud associa i file ai rispettivi proprietari, pertanto l'eliminazione di un utente può comportare l'eliminazione dei file e delle condivisioni rimanenti di tale utente. Il comando di trasferimento non sposta il cestino né le condivisioni in entrata, e queste limitazioni devono essere incluse nella checklist di passaggio di consegne.