nobody
在标准的、开箱即用的 Ubuntu 发行版中,用户可以在哪些目录中写入?
我已经知道了/tmp
,drwxrwxrwt
但是默认情况下是否还有其他任何用户都可以写入的地方?
答案1
运行我的系统检查列表:
$ 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
其中,我认为/tmp
、/var/tmp
和/var/crash
应该出现在所有 Ubuntu 安装中,因为它们列在文件系统层次标准。我认为里面的两个目录/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
,还可以像 Random832 建议的那样简单地使用-perm -2
,以检查其他人的写权限。