如果我更改了 tar 文件的权限,这是否适用于其中的文件?

Que*_*ner 5 tar permissions chmod chown

我有一个通过 定期运行的脚本cron,它创建一个tar.gz文件以备份目录。

由于我无法控制的原因,唯一可以通过执行脚本cron的用户是 root 用户。因此tar,任何其他用户都无法移动或删除生成的文件。

因此,作为脚本的一部分,我想在文件上执行chownand以便其他用户可以操作它。chmodtar

但是仅更改tar文件的权限就足够了,还是将 root 用户权限也保存到tar. 当用户解压缩tar文件时,他们是否能够像他们自己创建文件一样处理这些文件?

小智 8

如果提取的用户是“普通”用户,则文件将归该用户所有(默认情况下)。

从 tar 的手册页

--same-owner
       try extracting files with the same ownership as exists in the archive (default for superuser)

--no-same-owner
       extract files as yourself (default for ordinary users)
Run Code Online (Sandbox Code Playgroud)


roz*_*acz 7

简短的回答:没有

tar实用程序专门用于在类 Unix 系统下归档目录结构。它保留了包含的文件/目录的所有所有权和权限信息¹。无论用户运行tar命令。

至少这是标准调用的情况。但我认为,如果您要使用任何tar可能改变权限处理的高级选项,您就不会问这个问题:)

¹一个例外:常规tar不保留 SELinux 设置或 acl。您需要star或 的最新版本tar来保留这些。另见http://magazine.redhat.com/2007/07/02/tips-from-an-rhce-tar-vs-star-the-battle-of-xattrs/。如果备份的文件具有任何扩展属性,您可能需要考虑这一点。