仅自 Debian 11 起:普通用户无法写入其他用户拥有的 /tmp/ 下的世界/组可写文件,除非所有者是 root

仅自 Debian 11 起:普通用户无法写入其他用户拥有的 /tmp/ 下的世界/组可写文件,除非所有者是 root

用户:

  • root
  • userA- 文件的正常所有者
  • userB- 想要写入文件的用户

文件:

  • 假设我有一个基本的文本文件:/tmp/file
  • 所有权:chown userA:groupA /tmp/file
  • 权限为组+全局可写:chmod 666 /tmp/file

问题:

  • userB无法通过世界/每个人的权限写入它
  • userBgroupA当他们在组中时甚至无法写入
  • 我只在新的 Debian 11 主机上看到这个。
    • 我的 Debian 10 主机上没有问题。

有什么作用:

  • 如果我chown root:root /tmp/file- 没问题
    • ...这对我来说是最奇怪的部分。如果这是一些新的安全策略或其他什么,那么为什么允许这样做?
  • 如果我将文件移到外面/tmp- 没问题

这里发生了什么?

Debian 10 -> 11 之间有什么变化吗?

我的目录没有什么非默认的/tmp。它不是一个单独的分区或任何东西,它只是 Debian 附带的默认子目录设置。

答案1

  • 所以我输入了我的问题,然后意识到我还应该尝试以 root 身份写入文件......并且令我惊讶的是,甚至连这样也不允许。

    • 也许这就是为什么我在最初的搜索中没有找到太多信息来试图解决这个问题。我猜大多数其他用户首先尝试过,所以他们的线程标题与我正在寻找的内容有点不同。
    • 所以希望我仍然发布+回答这个问题可以帮助将来的人,如果他们碰巧像我一样使用搜索词。
  • 原因似乎是新的默认设置sysctl fs.protected_regular

  • 我仍然对如果拥有该userB文件就可以写入该文件这一事实感到有点惊讶。root:root但我想需要有某种方法来真正允许世界上可写文件。

    • 尽管它由 root 拥有,但感觉像是一种相反的方式。我很想听听是否有人对为什么允许这样做有任何见解。

相关内容