列出用户可以删除的所有文件/文件夹?Linux

列出用户可以删除的所有文件/文件夹?Linux

我想知道如果用户决定删除所有内容(或在损坏的情况下写入)会对我的系统造成多大的损害。

我可以使用什么命令或脚本来检查这个?

答案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您的主目录。

相关内容