如何解决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
相关产品推荐
相关产品推荐

