为什么在 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
这应该可行(尽管搜索整个文件系统需要一些时间)。
我是 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
这应该可行(尽管搜索整个文件系统需要一些时间)。