sudo tar 将提取的文件所有权更改为未知用户

sudo tar 将提取的文件所有权更改为未知用户

我正在运行这个命令:

$ sudo tar xvzf nexus-latest-bundle.tar.gz

提取的文件属于未知(1001)用户:

drwxr-xr-x 8     1001     1001      4096 Dec 16 18:37 nexus-2.12.0-01
drwxr-xr-x 3     1001     1001      4096 Dec 16 18:47 sonatype-work

正常配置下不应该是root所有者吗?

我正在处理从 AWS AMI 复制的 Linux 安装。

答案1

当以 root 身份提取文件时,tar 将使用原始所有权。您可以使用--no-same-owner选项(或者,-o)覆盖它。

您的 tar 文件引用的用户/组在您提取它的系统上不存在。

如果您将文件解压为你自己(非特权用户),您只能创建自己拥有的文件。

GNU焦油手册说:

--same-owner
提取存档时,tar 将尝试保留在存在此选项的 tar 存档中指定的所有者。这是超级用户的默认行为;该选项仅对普通用户有效。参见部分处理文件属性

答案2

创建 tar 文件的人的有效用户 ID 和组 ID (UID:GID) 为 1001:1001。由于tar默认情况下会保留所有权和权限,因此当您展开它时,您将继承这些值。如果您的系统上有一个 UID:GID 1001:1001 的用户,这些文件将归该用户所有。

相关内容