我有一个定期通过 运行的脚本cron
,它创建一个tar.gz
用于备份目录的文件。
由于我无法控制的原因,唯一可以执行脚本的用户cron
是 root 用户。因此tar
任何其他用户都无法移动或删除生成的文件。
因此,作为脚本的一部分,我想在文件上执行chown
and以便其他用户可以操作它。chmod
tar
但是,仅更改tar
文件的权限就足够了,还是根用户权限也会保存到 中的文件中tar
?当用户解压tar
文件时,他们是否能够像他们自己创建文件一样对这些文件进行操作?
答案1
如果提取的用户是“普通”用户,则文件将归该用户所有(默认情况下)。
来自 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)
答案2
简短回答:不。
该tar
实用程序专门用于在类 UNIX 系统下归档目录结构。它保留所包含文件/目录的所有所有权和权限信息。无论用户运行该tar
命令如何。
至少这是标准调用的情况。但我认为,如果您要执行任何tar
可能更改权限处理的高级选项,您就不会问这个问题:)
1一个例外:常规tar
不保留 SELinux 设置或 acl。您需要star
或最新版本来tar
保留这些内容。也可以看看http://magazine.redhat.com/2007/07/02/tips-from-an-rhce-tar-vs-star-the-battle-of-xattrs/。如果备份的文件具有任何扩展属性,您可能需要考虑这一点。