场景就像我有一个 root 密码列表。但我不想继续手动尝试。所以我写了 shell 脚本:
对于我在 {1..26}
做
su - >>结果
完毕
我所有的密码都在一个文件中“尝试.txt”。
现在在命令提示符下输入命令:
bash p2.sh < 尝试.txt
但它显示错误:“标准输入必须是 tty”
那么,有没有办法让我通过一些代码或命令输入这些密码,而不用手动输入每个密码?请告诉我一种命令行方法,而不是一些高级实用软件。我是为了学习。谢谢 :)
答案1
正确的语法是这样的:
while read my_pass
do
echo $my_pass | sudo -S command
done < file_name
三条评论:您不能使用苏在脚本文件中,你需要使用须藤与 -S据该男子说,
-S(stdin)选项使 sudo 从标准输入而不是终端设备读取密码。
其次,如果您不喜欢在脚本中写入file_name,请使用$n个参数之一,例如,如果它是传递的唯一参数,则使用$1。
第三,你确定将所有密码收集到一个未加密的文件中是一个好主意吗?