我想知道如果用户决定删除所有内容(或在损坏的情况下写入)会对我的系统造成多大的损害。
我可以使用什么命令或脚本来检查这个?
答案1
target_user@host:~$ find / -writable
答案2
您需要搜索用户可以写入的目录。文件没有删除权限。尝试使用命令查找简单目录。这应该列出 /tmp 和使用主目录树。
sudo -u your_user find -type d -writable -maxdepth 3 2>/dev/null
这将遗漏用户无法扫描的目录下的任何目录。但是,通配符删除也会遗漏它们。此列表仅向下三层,应该会包含用户可以写入的大多数树。更改或删除最大深度以适应。
更完整的检查是任何满足以下条件之一的目录:
- 全局可写
- 用户可写
- 可由任何用户组写入。(始终至少有一个组,也可能有更多组)。
用户将能够删除这些目录下的文件和目录。但有些例外情况会阻止删除这些目录下的所有内容。能够删除目录中的文件并不意味着该目录也可以被删除。
如果用户是 root,则一切皆有可能。但是,可以设置权限,甚至阻止 root 删除文件。
答案3
使用该用户执行:
find / -perm -=w > ~/listoffiles.txt
将文件列表写入listoffiles.txt
您的主目录。