为什么在 kali linux 上使用 find 命令时会出现 "permission denied" 错误流

Why do I get a stream of "permission denied" errors when using the find command on kali linux

我是 Kali 的新手,我了解了 find 命令并想尝试一下。我在 /home/kali/Documents 目录中创建了一个名为“Test”的文件。然后我回到[/]目录并使用命令find -name Test

令我吃惊的是,我收到了大量错误和消息,但我不知道它们是什么意思,也不知道为什么会弹出。我使用了错误的命令还是使用了错误的开关?在我看到的示例中,输出是文件所在的目录。我使用什么命令和 flags/switches 来找到我在我的文档目录中创建的“测试”文件的确切位置

This is the command I wrote to the terminal

This is the output I recieved (This is just a small piece of it)

查找命令递归搜索您提供的每个目录中的每个文件:

find /home/kali /root -name test

这将在目录 /home/kali/root 中搜索名为 test 的文件或目录。默认情况下,如果您不提供任何目录,find 将在名为 . 的当前工作目录中搜索。所以在你的情况下,这 3 个命令是等价的(因为你在目录 / 中):

find -name test
find . -name test
find / -name test

现在回答你的问题。正如我所说,find 将递归地查看您提供的每个目录中的每个目录(在您的情况下,隐含的 CWD . 例如 /)。

这意味着 find 将在 //dev/root/proc、... 中查找 test,然后在每个子目录中查找.

/root为例,属于root用户。如果查看 /root 上的权限,您会发现以下内容:

$ ls -l /
...
drwxr-x---  10 root root 4,0K 11 mai   20:17 root
...

如您所见,/root属于root用户和root组,如中间root root所示(第一个指所有者和第二组)。左边的字母drwxr-x---表示对该目录的权限:

  • d表示是一个目录
  • rwx 表示所有者(在本例中为root)有权读取、写入和执行此文件。
  • r-x 表示组 root(属于组 root 的用户,即实际上只有 root)可以读取和执行此文件。
  • ---表示其他用户(例如kali)对该文件没有权限

现在读、写、执行权限是什么意思。 对于普通文件,它很简单,但对于目录,它会变得有点棘手:

  • read表示可以列出这个目录里面的files/directories
  • write表示可以在这个目录下添加file/directories
  • execute 意味着你可以cd进入这个目录或者在一个路径
  • 中使用这个目录

由于其他用户(例如 kali)对 /root 没有权限,find 将失败并出现权限被拒绝的错误。

如果您在计算机上拥有 sudo 权限,请尝试:

sudo find / -name test

这应该可行(尽管搜索整个文件系统需要一些时间)。