Risposte:
Utilizzare il findcomando con l' -useropzione Qualcosa di simile a:
find / -user john
alla fine verranno visualizzati tutti i file di proprietà dell'utente "john".
Se vuoi cambiare la loro proprietà (eseguirò findsenza esecuzione per assicurarmi di avere l'elenco che desideri), quindi qualcosa del tipo:
find / -user john -exec chown harry {} \;
lo farà.
È tardi, ma oggi mi sono imbattuto in questa domanda perché la mia rsyncnon ha l' --usermapopzione.
My chown(v. Chown (GNU coreutils) 8.13) offre un recurse incorporato ( -R) e --fromun'opzione in modo che il tuo (e il mio) problema possano essere risolti anche usando
chown -R --from=john harry /
wwwrun (id:30)e gruppo www (id:8), in debian www-data (id: 33)per entrambi. Dopo aver copiato i file usando
rsync -az /path/to/files me@debian:/path/to/
ero solito
chown -R --from=30 33 /path/to/files/
chown -R --from=:8 :33 /path/to/files/
sulla macchina target (debian).
Nota: rsync version 3.1.0 protocol version 31ha citato quanto sopra, --usermapquindi se avessi potuto fare tutti e tre i passaggi con un comando sul computer di origine:
rsync -az --usermap=30:33 --groupmap=8:33 /path/to/files root@debian:/path/to/
find -execuno di linea per me è l'ultima risorsa, poco prima di fare le cose manualmente. (Inoltre, odio scrivere {} \;, ma questo è personale)
chown harry:harryse devo assicurarmi che anche l'appartenenza al gruppo sia corretta. Ma ciò dipende fortemente dall'applicazione qui.