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

Ubuntu 22.04使用sudo复制带密码保护PDF文件时提示Operation not permitted的问题咨询

Ubuntu 22.04使用sudo复制带密码保护PDF文件时提示Operation not permitted的问题咨询

您好,我来帮你排查这个Ubuntu 22.04上的文件复制权限问题~

先看你提供的几个命令输出,有几个关键点值得注意:

  • ls -al A2.pdf显示文件权限是-rw-r--r--,理论上所有者ubuntu是有读取权限的,但file A2.pdf却提示“no read permission”,这本身就有点矛盾;
  • lsattr直接执行时提示操作不允许,大概率是因为你没加sudo,普通用户可能没有读取文件扩展属性的权限;
  • 同样的操作在Ubuntu 20.04上正常,说明问题大概率是22.04新增的安全机制或者默认配置差异导致的。

下面给你几个排查和解决的方向:

1. 检查文件的特殊扩展属性

你之前执行lsattr没加sudo,试试用管理员权限查看文件的扩展属性:

sudo lsattr A2.pdf

如果输出里有i标记(代表immutable,不可修改/删除/复制),那就是这个属性阻止了复制操作,执行下面的命令去掉该属性即可:

sudo chattr -i A2.pdf

2. 排查AppArmor的限制

Ubuntu 22.04默认启用的AppArmor安全模块可能对sudo执行的cp命令有额外的权限限制,特别是针对用户家目录下的文件。你可以先临时关闭AppArmor测试:

sudo systemctl stop apparmor

然后再尝试执行复制命令:

sudo cp A1.pdf _A1.pdf

如果这次能成功,说明确实是AppArmor的规则导致的。你可以进一步查看相关的AppArmor配置文件,调整规则来允许这类操作。

3. 检查文件的ACL权限

除了常规的文件权限,还可能存在ACL(访问控制列表)的额外限制,执行下面的命令查看详细权限:

getfacl A2.pdf

如果输出里有针对root或者ubuntu用户的拒绝读取规则,需要用setfacl命令调整权限。

4. 尝试不用sudo直接复制

既然文件的所有者是ubuntu用户,你其实可以不用sudo,直接用普通用户身份执行复制命令:

cp A1.pdf _A1.pdf

说不定这样反而能成功——因为sudo切换到root后,可能触发了AppArmor的限制,而普通用户的操作反而不受影响。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.20 13:28:08