У меня есть tar-архив, содержащий двух владельцев, 1000 и 0:
$ tar tfvz archive.tgz
drwxr-xr-x 1000/1000 main/
drwxr-xr-x 0/0 main/root_dir/
drwxr-xr-x 0/0 main/root_dir/home/
-rw-r--r-- 1000/1000 main/root_dir/home/file
Есть ли простой способ сменить владельца только на каталоги / файлы с владельцем 1000? Те, у кого владелец 0, должны остаться без изменений.
Я не нашел никаких опций в tar и не нашел, что выбирают конкретного владельца, например tar --no-same-owner
меняю всех владельцев, а не только владельца 1000 (распаковываю архив с sudo tar xfz archive.tgz
чтобы разрешить создание корневых (0) каталогов / файлов).
Вы можете использовать переключатель uid в find, чтобы сделать это после извлечения файлов.
find /path/to/files -uid 1000 -exec chown newuid:newgid {} +