作为审计政策的一部分。我需要在linux机器上搜索所有包含root凭据的文件。
此命令将由非root帐户运行,因此,结果将包含许多“Permission denied”语句。
任何关于搜索所有文件的正确语法的建议都会过滤结果以仅显示有用的链接!
我试过了: grep - “root”/ | grep“密码”
但是,由于此命令是使用非root帐户运行的,因此结果的主要部分是“权限被拒绝”
由于
答案 0 :(得分:1)
你会去:
grep -lir "root" /
-l
开关仅输出文本出现的文件名(而不是每行包含文本),-i
开关忽略大小写,-r
下降进入子目录。
只要您不尝试读取其他用户的文件,因为以root身份运行它会没问题。
要获得有用的链接,请使用:
grep -lir -v "Permission denied" "root" /
-v
开关用于反转匹配感,选择不匹配的线。
答案 1 :(得分:1)
权限错误已输出到stderr
,因此您只需将其重定向到/dev/null/
即可。 E.g:
grep -R "root" . 2> /dev/null
答案 2 :(得分:0)
但是,由于此命令是使用非root帐户运行的,因此很重要 结果是“许可被拒绝”
使用sudo
运行此recursive grep
:
cd /home
sudo grep -ir 'root' *
答案 3 :(得分:0)
您可以通过重定向到/ dev / null来抑制警告。
此解决方案使用find来遍历整个(可访问的)文件系统:
find / -readable -exec grep -H root '{}' \; 2>/dev/null | grep password