Risposte:
Utilizzare il find
comando con l' -user
opzione 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ò find
senza 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 rsync
non ha l' --usermap
opzione.
My chown
(v. Chown (GNU coreutils) 8.13) offre un recurse incorporato ( -R
) e --from
un'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 31
ha citato quanto sopra, --usermap
quindi 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 -exec
uno di linea per me è l'ultima risorsa, poco prima di fare le cose manualmente. (Inoltre, odio scrivere {} \;
, ma questo è personale)
chown harry:harry
se devo assicurarmi che anche l'appartenenza al gruppo sia corretta. Ma ciò dipende fortemente dall'applicazione qui.