Você pode usar find
e dizer para não descender em outros sistemas de arquivos (o que deve impedir que ele acesse sistemas de arquivos virtuais como proc
, sys
, etc):
find / -xdev -uid ${OLD_UID} -execdir chown ${NEW_UID} {} +
Isso pode não ser tão eficiente.
Outra forma de filtrar os arquivos virtuais seria remontar o sistema de arquivos raiz em outro lugar:
mkdir /tmp/chroot
mount -o .. -t .. /dev/... /tmp/chroot
E execute chown
em /tmp/chroot
.