“无人”用户可以在哪些目录中写入?

anu*_*umi 10 permissions user-management

nobody用户可以在哪些目录中写入标准的、开箱即用的 Ubuntu 发行版?

我已经知道/tmp哪个是drwxrwxrwt,但是默认情况下还有其他任何用户可以写的地方吗?

mur*_*uru 16

在我的系统列表上运行检查:

$ sudo find / -xdev -type d \( \( -user nobody -o -group nogroup \) -o -perm -777 \)
/tmp
/tmp/.X11-unix
/tmp/.ICE-unix
/var/tmp
/var/metrics
/var/spool/samba
/var/crash
Run Code Online (Sandbox Code Playgroud)

其中,我想/tmp, /var/tmp, 和/var/crash出现在所有 Ubuntu 安装中,因为它们列在Filesystem Hierarchy Standard 中/tmp我认为里面的两个目录是基于会话的目录,因此可以忽略它们。我认为/var/spool/samba不会出现在新的 Ubuntu 系统上,它会留下/var/metrics. 我不确定那个目录是干什么用的。

关于find命令的注释:

  • -xdev排除其他文件系统(因此我可以跳过/proc, /sys, 我的主目录等)
  • -type d 将检查限制为目录
  • \( -user nobody -o -group nogroup \)- 要么所有者应该是nobody,要么group应该是nogroup。我们使用括号将这种情况分组,并检查另一种可能性,即
  • -perm -777- 每个人都拥有所有权限,再次使用 OR ( -o)加入。而不是-perm -777,可以-perm -2像 Random832 建议的那样简单地使用,以检查对其他人的写入权限。

  • @heemayl 我添加了对我使用的 `find` 命令的解释。 (3认同)