用户:
root
userA
- 文件的正常所有者userB
- 想要写入文件的用户
文件:
- 假设我有一个基本的文本文件:
/tmp/file
- 所有权:
chown userA:groupA /tmp/file
- 权限为组+全局可写:
chmod 666 /tmp/file
问题:
userB
无法通过世界/每个人的权限写入它userB
groupA
当他们在组中时甚至无法写入- 我只在新的 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 拥有,但感觉像是一种相反的方式。我很想听听是否有人对为什么允许这样做有任何见解。