创建没有存储权限的 ZIP 档案?

创建没有存储权限的 ZIP 档案?

我正在以 ZIP 格式分发打包文件。我使用以下内容来创建:

zip -r 分发版.zip 文件/

在其他 UNIX 系统上扩展时,文件保留我打包时它们的权限。我愿意避免存储权限信息。

我的问题是:可以这样做吗?我正在使用 info-zip 3.0

问题是,在我的系统上,我使用 umask 0002,文件对组来说是可写的。但是,在其他系统上扩展时,不需要组写入权限。我可以删除组写入权限,但这在我的系统上不起作用。

答案1

我找不到合适的选项来控制解压时的权限

但是使用 tar 时,有一个选项--无相同权限这可能会有所帮助,手册页说:

 --no-same-permissions
       apply the user's umask when extracting permissions from the archive

这对你有用吗?

或者,如果您想使用 zip 文件,您可能需要尝试使用其他程序创建它。例如,Apache Ant 让您完全控制它压缩的文件和目录的权限 -http://ant.apache.org/manual/Types/zipfileset.html有详细信息。例如,您可以执行以下操作:

<zip destfile="dist.zip">
   <zipfileset dir="dist" filemode="664" dirmode="755" />
</zip>

相关内容