You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows 11自带解压工具及PeaZip解压至Samba共享后程序无法执行的问题咨询

Windows 11自带解压工具及PeaZip解压至Samba共享后程序无法执行的问题咨询

我来帮你分析并解决这个问题:

a) 为什么会出现这种差异?

核心原因是Windows自带解压工具/PeaZip与WinRAR在处理Samba共享文件权限时的逻辑不同:

  • Windows自带解压工具和PeaZip在向Samba共享目录写入文件时,没有主动设置Linux系统下的执行权限位(x位),导致解压后的可执行文件在Linux主机上的权限是-rw-r--r--——缺少执行权限,Samba会将这种权限状态同步给Windows,从而触发“无权限访问”的提示。
  • 而WinRAR在解压到Samba共享时,会识别出文件的可执行属性,自动为其设置Linux侧的执行权限,最终文件权限为-rwxr--r--,满足Samba和Windows的执行权限要求,所以程序能正常运行。

b) 如何让Windows自带解压工具或PeaZip实现WinRAR的效果?

这里提供几种可行的解决方案:

  • 修改Samba服务器配置(推荐):在Linux主机的smb.conf配置文件中,找到对应的共享段,添加以下两行配置:
    create mask = 0755
    directory mask = 0755
    
    这会让所有写入该共享的文件默认拥有rwxr--r--权限(所有者可读可写可执行,其他用户可读可执行),之后不管用哪种工具解压,文件都会自动获得执行权限。修改后记得重启Samba服务(比如systemctl restart smbd)生效。
  • 先解压到本地再复制:把压缩包先解压到Windows本地磁盘,再将解压后的文件夹复制到Samba共享目录。本地NTFS的权限会被Samba正确映射为Linux侧的执行权限,这样程序就能正常运行。
  • 调整PeaZip的解压设置:打开PeaZip的设置面板,查找是否有“保留可执行权限”或“为可执行文件设置执行权限”的选项(不同版本位置可能不同),开启后应该能在解压到Samba共享时自动设置x位。
  • 手动补全执行权限:如果已经用自带工具/PeaZip解压完成,可以登录Linux主机,用命令为可执行文件添加执行权限:
    # 为单个exe文件添加权限
    chmod +x /path/to/your/shared/folder/game.exe
    # 递归为目录下所有exe文件添加权限
    find /path/to/your/shared/folder -name "*.exe" -exec chmod +x {} \;
    

备注:内容来源于stack exchange,提问作者MikeP

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.21 09:58:03