我目前正在通过虚拟环境沉浸学习Linux,任务是根据内容查找文件。用户是root,所有人都有rwx权限(我相信是777)。我尝试了许多方法都无济于事,但它们基本上都植根于
~$ find / -user root -perm 777 | grep "phrase to be found"到目前为止,我已经成功地检索了大量的权限被拒绝的消息。我不能使用sudo命令,因为我没有sudo密码(虚拟环境)。可能需要使用execute标志和/或管道2>,但我一直没有成功地使用它们,希望有更敏锐的人能够提供帮助。
发布于 2018-09-05 23:02:57
find会将“权限被拒绝”消息写入到标准错误恢复中,因此您可以通过将消息转发到/dev/null来丢弃来自标准错误恢复的消息。
find / -user root -perm 777 2> /dev/null | grep "phrase to be found"应该可以做到这一点,其中2>是stderr的重定向。
发布于 2018-09-06 06:33:46
正如shellter所指出的,在您的示例中,您要求grep根据文件名本身而不是那些文件的内容来搜索短语。我想你要找的是:
grep -Rsl "phrase to be found" /输出将是文件名列表,这些文件名将在其内容中的某处包含“要找到的短语”,但仅限于您有权读取的文件。要读取所有文件,您需要以root用户身份运行相同的命令。
https://stackoverflow.com/questions/52188211
复制相似问题