首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用ansible expect创建nessus用户(nessuscli)

使用ansible expect创建nessus用户(nessuscli)
EN

Stack Overflow用户
提问于 2019-01-23 15:53:37
回答 1查看 440关注 0票数 0

我正在使用ansible expect为我的nessus创建一个用户(通过使用nessuscli)。expect应该回答以下几个问题(我添加了数字1-5)。我的期望停留在数字5。数字5的最后一个字母是“(用户可以设置空规则)”,然后是下一行(回车)。这就产生了问题,因为我不知道如何告诉expect有一个短语后面跟着下一行。我试过了\r \n都没成功!任何健康都是值得感谢的。

此外,您还可以在下面看到我的ansible代码。

谢谢

你可以在这里看到nessus cli propmt的截图:screenshot of nessucli propmpt

= Nessuscli添加用户提示符=

1-登录:

2-登录密码:

3-登录密码(再次):

4-您是否希望此用户成为Nessus‘系统管理员’用户(可以上传插件等)?(y/n) n: y

5-用户规则

nessusd有一个规则系统,允许您限制test有权测试的主机。例如,您可能希望他只能扫描自己的主机。

有关规则语法,请参阅《Nessus命令行参考

输入此用户的规则,并在完成后输入一个空行:(用户可以设置一个空规则)

===

我的Ansible Code:

名称: create nessus用户

代码语言:javascript
复制
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)
EN

回答 1

Stack Overflow用户

发布于 2020-01-28 02:50:18

经过多次修修补补,我做到了这一点:

代码语言:javascript
复制
  - 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"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54322358

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档