我正在使用ansible期望为我的nessus创建一个用户(通过使用nessuscli)。期望应该回答以下几个问题(我添加了数字1-5)。我的期望卡在数字5上。数字5的最后一个字母是“(用户可以设置空规则集)”,然后是下一行(回车)。由于我不知道如何告诉您期望有一个短语后接下一行,因此出现了问题。我尝试了\ r \ n,但没有一个起作用!任何治疗都值得赞赏。
此外,您也可以在下面看到我的ansible代码。
谢谢
您可以在此处查看nessus cli propmt的屏幕截图:screenshot of nessucli propmpt
============ Nessuscli adduser提示==========
1-登录:
2-登录密码:
3-登录密码(再次):
4-您是否希望该用户成为Nessus的“系统管理员”用户(可以上传插件等)? (y / n)[n]:y
5-用户规则
nessusd具有规则系统,可用于限制主机该测试有权进行测试。例如,您可能想要他只能扫描自己的主机。
请参阅Nessus命令行参考以获取规则语法
输入此用户的规则,并在完成后输入空白行:(用户可以设置一个空规则)
================================================ ===
我的Ansible代码:
名称:创建nessus用户
expect:
command: /opt/nessus/sbin/nessuscli adduser
responses:
'Login: ': "{{nessus_username}}" # answer number 1
'Login password: ': "{{nessus_pass}}" # answer number 2
'Login password \(again\): ': "{{nessus_pass}}" # answer number 3
'\[n\]: ': 'y' # answer number 4
'set\)\\n ': "\n" # answer number 5 which doesnt work
'\[n\]: ': 'y' # answer the next propmpt (not in question and works)
经过大量修补,这对我有用:
- name: Add user
expect:
echo: yes
timeout: 5
command: "{{ nessus_cli_bin }} adduser"
responses:
(.*)Login(.*): "{{ nessus_user }}"
(.*)Login password(.*): "{{ nessus_pass }}"
(.*)Login password(.*): "{{ nessus_pass }}"
(.*)system administrator(.*): "y"
(.*)rules set(.*): "\n"
(.*)ok(.*): "y"