/tmp
文件夹拥有所有权限:
drwxrwxrwt 28 root root 20480 Jan 24 03:14 /tmp
文件/tmp/test.txt
已存在,权限为 666,归用户所有test1
。
-rw-rw-rw- 1 test1 test1 0 Jan 24 02:34 /tmp/test.txt
作为用户test2
,我运行echo hello >> /tmp/test.txt
bash: /tmp/test.txt: Permission denied
即使我切换到root
,我仍然无法附加到该文件。似乎只有文件的所有者/tmp
才能修改其内容,而不管权限位如何。
虚拟化:vmware
操作系统:Ubuntu 20.04.3 LTS
内核:Linux 5.13.0-27-generic
架构:x86-64
对于以后遇到同样问题的人来说,默认情况下
/tmp
是一个粘性文件夹,这意味着只有文件所有者可以修改它。因此,要更改其他人的文件,您必须删除粘滞位:sudo chmod -t /tmp
. 请注意,您应该在之后重新打开它:sudo chmod +t /tmp
.正如评论中所建议的,更好的解决方案是您还可以在其中创建一个新文件夹
/tmp
来完成此操作,而无需触及/tmp
.