peazip压缩时需启用属性保留功能才能保存linux执行权限及windows ntfs元数据。使用pea/7z格式并勾选“保留文件属性”,或通过命令行添加--preserve-permissions与--preserve-ntfs-attributes参数,linux下还需启用posix权限映射并调整umask。

如果您使用PeaZip压缩文件后发现Linux下的执行权限(如chmod +x)或Windows NTFS的访问控制列表(ACL)、加密属性、备用数据流(ADS)等在解压时丢失,则说明默认压缩未启用属性保留功能。PeaZip支持在特定格式与配置下保留源文件权限及NTFS元数据。以下是实现该目标的具体操作步骤:
一、使用PEA或7Z格式并启用“保留文件属性”选项
PEA和7Z是PeaZip原生支持元数据保留的格式,其中7Z在启用“保留文件属性”后可完整保存Unix权限(UID/GID、rwx)及NTFS ACL、所有者、加密状态等信息;PEA格式则默认启用更严格的属性继承机制。必须在压缩前勾选对应选项,否则压缩包将仅保存基础时间戳与名称。
1、启动PeaZip,点击左上角添加按钮或直接将待压缩文件拖入主窗口。
2、在右侧“压缩设置”面板中,于格式下拉菜单选择7Z或PEA。
3、展开高级选项区域,勾选保留文件属性(包括权限、所有者、ACL)复选框。
4、若需兼容性更强但仍保留基础权限,可在7Z格式下额外勾选存储符号链接为链接(而非目标内容)。
5、点击右下角确定开始压缩。
二、通过命令行调用PeaZip并强制传递属性参数
图形界面可能因版本差异隐藏部分底层选项,而PeaZip内置的peazip.exe(Windows)或peazip(Linux/macOS)命令行工具可显式指定--preserve-permissions与--preserve-ntfs-attributes参数,确保权限字段不被剥离。此方式适用于脚本化批量处理或高一致性要求场景。
1、按下Win + R,输入cmd并回车,进入命令提示符。
2、切换至PeaZip安装目录,例如:cd "C:\Program Files\PeaZip"。
3、执行以下命令(以压缩D:\src\project文件夹为例):peazip.exe -add "D:\src\project" "D:\archive.7z" -format=7z -preserve-permissions -preserve-ntfs-attributes。
4、确认终端输出中出现Preserving file attributes: enabled提示,表示参数已生效。
三、在Linux或macOS中启用POSIX权限映射并验证umask行为
当在类Unix系统中使用PeaZip压缩时,其默认行为受当前shell umask影响,可能导致新建归档中文件权限位被屏蔽。需手动覆盖默认掩码,并启用tar-like权限打包模式,使解压端能还原原始chmod值及setuid/setgid位。
1、打开终端,运行peazip启动GUI,或直接使用命令行。
2、在压缩设置中,将格式设为7Z,并在高级选项中启用保留文件属性与强制使用POSIX权限模型(该选项在Linux版界面中标注为“Use POSIX permissions mapping”)。
3、若通过CLI操作,先执行umask 0022重置掩码,再运行压缩命令,避免权限位意外截断。
4、压缩完成后,在终端中使用7z l -slt archive.7z | grep -i "attrib\|mode"检查输出是否包含非空的Attrib字段及Mode值。











