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

如何解决pdftk访问第二块硬盘时出现的Unexpected Exception in open_reader()错误?

解决pdftk无法访问Ubuntu 25.04第二块内置硬盘的问题

这个问题核心是第二块硬盘的权限配置或系统安全限制导致pdftk无法读取文件,以下是具体排查和解决步骤:

  • 检查挂载点权限
    先查看第二块硬盘挂载目录的权限:

    ls -ld /mnt/second-drive  # 替换为你的实际挂载路径
    

    如果输出中其他用户(other)没有读(r)和执行(x)权限,执行以下命令修改:

    sudo chmod o+r /mnt/second-drive
    sudo chmod o+x /mnt/second-drive
    
  • 调整fstab挂载选项
    打开/etc/fstab文件,找到第二块硬盘的挂载条目:

    sudo nano /etc/fstab
    

    如果是NTFS格式,确保挂载选项包含umask=002(让所有用户拥有读写权限),示例条目:

    UUID=1234-ABCD /mnt/second-drive ntfs-3g defaults,umask=002 0 0
    

    如果是ext4格式,可添加users选项或调整uid/gid为当前用户ID(用id -u和id -g查看),示例:

    UUID=abcd1234 /mnt/second-drive ext4 defaults,uid=1000,gid=1000 0 2
    

    修改后保存并重新挂载:

    sudo mount -a
    
  • 解除AppArmor限制
    Ubuntu的AppArmor可能限制了pdftk访问非标准路径。先检查是否有pdftk的AppArmor规则:

    sudo aa-status | grep pdftk
    

    如果存在对应profile,编辑规则文件:

    sudo nano /etc/apparmor.d/usr.bin.pdftk
    

    在允许读取的路径列表中添加第二块硬盘的路径:

    /mnt/second-drive/** r,
    

    保存后重新加载AppArmor:

    sudo systemctl reload apparmor
    
  • 临时测试sudo权限
    执行以下命令测试是否是权限问题:

    sudo pdftk /mnt/second-drive/test.pdf dump_data
    

    如果命令能正常输出PDF元数据,说明确实是普通用户权限不足,按前面的步骤调整即可,避免长期使用sudo运行pdftk。

内容的提问来源于stack exchange,提问作者mhchem

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.12 16:19:59