目前,我是通过虚拟环境浸入式学习Linux的,他们的任务是按内容查找文件。用户是root用户,所有用户都有rwx权限(我相信是777)。我尝试了很多方法都无济于事,但它们基本上都植根于
~$ find / -user root -perm 777 | grep "phrase to be found"
到目前为止,我已经成功地检索了大量的拒绝权限消息。我没有sudo密码(虚拟环境),因此无法使用sudo命令。可能需要对执行标志和/或管道2>进行某些使用,但我未能成功地使用它们,并希望具有更好的敏锐度的人能够提供帮助。
答案 0 :(得分:0)
“ {permit被拒绝”消息是由find
写入stderr的,因此您可以通过将消息转发到/dev/null
来丢弃stderr中的消息。
find / -user root -perm 777 2> /dev/null | grep "phrase to be found"
应该可以解决问题,其中2>
是stderr的重定向。
答案 1 :(得分:0)
正如shellter所指出的,在您的示例中,您要让grep根据文件名本身而不是这些文件的内容来搜索短语。我认为您正在寻找的是:
grep -Rsl "phrase to be found" /
输出将是文件名列表,这些文件名的内容中有“待找到的短语”,但仅适用于您有权读取的文件。要读取所有文件,您需要以root身份运行相同的命令。