解压缩文件的权限被拒绝 (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.gz
或 tar.bz
.
我正在尝试自动执行从服务器发送到客户端的压缩脚本。
假设我有脚本 "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.gz
或 tar.bz
.