untar 以不同用户身份提取文件

untar 以不同用户身份提取文件

我以 root 用户身份在 Ubuntu 服务器上运行(根据 whoami)。

我正在尝试解压一个包。不幸的是,解压后的文件夹和所有文件不知何故都归另一个用户 (zabbix) 所有。

我最近确实安装了 zabbix,但我以 root 身份登录,因此我认为解压后的文件应归 root 所有。我做错了什么?

答案1

tar对每个文件的所有者和主要组的数字 ID 进行编码。当您解压 tarball 时,所有所有者都将恢复为其原始数字 ID,例如 uid 500。您拥有的是zabbix系统中创建为 uid 500 的用户。因此,当您恢复存档时,文件似乎归 zabbix 所有。

要确认,请尝试

id zabbixls -aln $DIRECTORY

我猜测它们会是一样的。

答案2

将参数添加--no-same-owner到命令中(假设是 gnu tar)。以 root 身份运行时,tar 会自动保留文件所有权和权限。

顺便说一句:您确定您真的需要以 root 身份执行任何操作吗?

相关内容