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

普通用户无需权限即可写入root拥有文件的机制疑问

普通用户无需权限即可写入root拥有文件的机制疑问

大家好,我目前在Linux Mint 21.2 Victoria系统上运行GNU bash 5.1.16(1)-release (x86_64-pc-linux-gnu),遇到了一个百思不得其解的问题,翻了好多文档都没找到答案,希望有人能帮我解释下背后的机制。

现在功能上一切都正常,但我搞不懂到底是什么机制让普通用户user能绕过权限限制写入root拥有的文件。如果需要更多细节我随时可以补充。

问题场景详细说明:

  • anacron以root身份调用脚本foo,并通过2>&1重定向输出,以此创建或覆盖一个调试文件
  • 以root身份运行的foo会调用runuser,切换到user身份再次执行foo,同样通过2>&1重定向输出——不管是将输出覆盖/追加到同一个调试文件,还是另一个文件,结果都一样
  • 最终由anacron/runuser重定向生成的文件归root所有,权限为0644
  • root身份的foo执行完毕后,已经向它拥有的调试文件写入了内容
  • 接着user身份的foo运行,居然能成功追加或覆盖这个root所有的调试文件
  • user身份的foo执行完毕后,确实完成了对该文件的写入操作

但奇怪的是,如果我直接在终端里以user身份运行foo,并尝试将输出重定向到这个root拥有的调试文件,会直接得到Permission denied的错误提示。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 15:53:10