我有一个 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)目录/文件)。
答案1
提取文件后,您可以使用 find 的 uid 开关执行此操作
find /path/to/files -uid 1000 -exec chown newuid:newgid {} +