当您以 root 身份运行 tar 时(使用 chef),是否可以告诉 tar 解压存档并将 uid/gid 设置为特定的 uid/gid?
我已经知道的事情:
- 我可以使用
-o
root 身份提取,chown uid:gid
然后 --owner
并且--group
显然只在添加文件时有效,而不是在解压时
如果能在拆包时指定所有者,那就太方便了。可以吗?
答案1
cpio
奇怪的是,使用 (GNU)处理 tar 存档可以更接近您想要的效果。GNUcpio
支持 tar 格式文件,并提供-R
命令行选项来设置提取文件的用户和组。此选项控制全部文件,而不是特定文件。
所有这些意味着您可以以 root 身份运行以下命令...
cpio -iv -R user1:group1 < /path/to/myarchive.tar
...它将提取用户user1
和组拥有的所有文件group1
。