解压缩文件的权限被拒绝 (popen)

Permission denied on unzipped file (popen)

我正在尝试自动执行从服务器发送到客户端的压缩脚本。

假设我有脚本 "script.sh":

#!/bin/sh
touch /tmp/my_file.txt

我执行 chmod 777 script.sh 只是为了确保它在任何地方都拥有所有权利。

之后,我把它压缩成package.zip

当客户端请求时,服务器将package.zip编码成base64,通过xml发送给客户端,客户端将其解码回package.zip 并保存。

之后,它被解压缩,客户端尝试使用 popen 执行它。我得到的只是:Permission Denied for script.sh

当我压缩和解压缩原始 zip 时,所有权限设置为 和以前一样777

但是在向客户端发送数据后,权限是:-rw-rw-r--(这是有道理的,为什么它可以'不被执行)

使用POCO lib解压缩

Zip 文件不需要编码权限。如果你想要那种东西,你需要一个 tar 文件,因为这种格式确实有一种编码数据的方法。执行此操作的标准方法是 tar.gztar.bz.