用户 root 不能在 20.04 中写入其他人拥有的 /tmp 中的文件,但可以在 18.04

fid*_*per 15 permissions command-line bash root 20.04

在 Ubuntu 18.04 中,我可以以 中的一个用户身份创建一个文件/tmp,并以用户身份写入该文件root(尽管设置了粘性位/tmp)。

在 Ubuntu 20.04 中,我Permission Denied作为 user收到错误root

Ubuntu 18.04:

# As user "ubuntu":
touch /tmp/tmplock

# As user "root":
echo "foo" > /tmp/tmplock

cat /tmp/tmplock
# Outputs "foo"

ls -lah /tmp
drwxrwxrwt 32 root   root    20K Jun 16 18:36 .
-rw-rw-r--  1 ubuntu ubuntu    4 Jun 16 18:36 tmplock
Run Code Online (Sandbox Code Playgroud)

Ubuntu 20.04:

# As user "ubuntu":
touch /tmp/tmplock

# As user "root":
echo "foo" > /tmp/tmplock
# Outputs: bash: /tmp/tmplock: Permission denied

ls -lah /tmp
drwxrwxrwt 12 root   root   4.0K Jun 16 18:15 .
-rw-rw-r--  1 ubuntu ubuntu    0 Jun 16 18:14 tmplock
Run Code Online (Sandbox Code Playgroud)

我找不到关于这是否与粘性位或底层 Linux 内核更改或任何其他内容有关的任何信息。

有谁知道什么可以解释行为的变化?

ubf*_*an1 17

要将行为改回 18.04 默认值:

sudo sysctl fs.protected_regular=0  
Run Code Online (Sandbox Code Playgroud)

请参阅接受的答案

https://unix.stackexchange.com/questions/503111/group-permissions-for-root-not-working-in-tmp

唉,有时候治病不如治病。