Назад | Перейти на главную страницу

Измените только определенного владельца при распаковке tar-архива

У меня есть 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 {} +