10 我正在运行以下命令: $ 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安装。 files permissions users root tar — 拉斯帕公司 source
15 当以root用户身份提取文件时,tar将使用原始所有权。您可以使用--no-same-owner选项(或-o)覆盖该选项。 您的tar文件所引用的用户/组在您提取该文件的系统上不存在。 如果您以自己(非特权用户)的身份提取文件,则只能创建自己拥有的文件。 GNU tar手册说: --same-owner 提取档案时,tar会尝试保留tar档案中指定的所有者(存在此选项)。这是超级用户的默认行为。此选项仅对普通用户有效。请参阅处理文件属性部分。 — 托马斯·迪基 source 1 好的,所以只有在成为root用户时才会发生这种情况,因为如果我不使用sudo运行命令:“ tar xzvf nexus-latest-bundle.tar.gz”,那么所有权设置为我的当前用户,这是预期的行为吗? — raspacorp 2 @raspacorp:作为非root用户,您无权创建拥有所有权以外的任何文件。因此,根据需要,文件是由您作为所有者创建的。 — Nate Eldredge
1 创建tar文件的人的有效用户ID和组ID(UID:GID)为1001:1001。由于tar默认情况下会保留所有权和权限,因此在展开时会继承这些值。如果您的系统上有一个UID:GID 1001:1001的用户,则这些文件将归该用户所有。 — 梅尔·波斯兰 source