一开始是发现root运行的python程序出了这个问题,后来发现就算用命令行也不行,只要用chown修改了文件归属用户,就算root也无法继续修改这个文件里的内容:
- 下面的操作都是基于root用户的
- 先在/tmp目录下创建一个空文件---归属者为root
- 把这个文件用chown的方式修改归属者为另一个普通用户
- 试图打开这个文件并往里面写点东西---失败,提示没有权限
- 用echo的方式试图往这个文件里写点东西(无论是追加还是覆写)---失败,提示没有权限
- 删除这个文件---可以
- 以上操作如果换成/tmp以外的文件夹---不会报错
和gpt/gemini大战了一个小时,非常生气,还是没有解决(总是给我暗示各种container, AppArmor这些)
最后还是google直接搜索靠谱,随便用点关键词就找到了:
🔗 [Cannot open file for writing error while trying to edit a file in /tmp (even as root user)] https://www.claudiokuenzler.com/blog/1343/cant-open-file-for-writing-tmp-even-root
最后没有直接解决这个问题,而是换了个地方操作文件,反正也不是必须写在/tmp下面