使用ansible的LDAP客户端安装

时间:2019-12-27 10:54:22

标签: ansible ldap

我们需要在156台计算机上安装LDAP客户端。因此,我们想使用ansible完成此任务。

apt-get install ldap-utils libpam-ldapd libnss-ldapd nscd

但是,当我们安装它时,它在响应(弹出框)中提出了很多问题,我们面临的问题是如何在剧本中处理这些响应。

我使用过expect模块,但当我们在屏幕上未在如下所示的弹出框中看到问题/响应时,它运行良好:

- name: run command to install rubyencoder
    expect:
      chdir: /home/ubuntu/rubyencoder-evaluation/bin
      command: /home/ubuntu/rubyencoder-evaluation/bin/rubyencoder
      responses:
        '.*Press return key to continue.*': ""
        '.*type \"I AGREE\".*': "I AGREE"
        '.*Your RubyEncoder profile e-mail.*': "abc@xyz.com"
        '.*Your RubyEncoder profile password.*': ""

以上配置正确处理了响应,但在ldap客户端安装中相同的方法不起作用。

我正在使用以下剧本:

---
- hosts: test1
  become: true
#  remote_user: dagar
#  sudo: yes
  tasks:
  - name: install ldap client packages
    expect:
     command: apt-get install ldap-utils libpam-ldapd libnss-ldapd nscd
     responses:
      '.*Do you want to continue?.*': ""
      '.*LDAP server URI.*': "Ok"
      '.*LDAP server search base.*': "Ok"
      '.*Name servives to configure.*': "Ok"
      '.*Restart services during package upgrades without asking?.*': "No"
      '.*Services to restart to make them use the new libraries.*': "Ok"

有人可以在上述问题上帮助我吗?

任何帮助或指导都将适用。

谢谢。

2 个答案:

答案 0 :(得分:0)

这个公认的答案可能会有所帮助:How to do an initial setup of slapd OLC with ldapmodify

它使用slapd和Heredoc定义要使用的debconf-set-selection的答案。

答案 1 :(得分:-1)

我不确定如何使用ansible来做到这一点,但是由于您已经在使用Expect自动执行脚本响应,因此可以使用诸如autohotkeys或sikuli之类的内容来回答弹出窗口。您可能会使用ansible运行您的期望脚本来回答脚本化的响应,并运行autohotkeys脚本来回答弹出窗口。或者,也许您可​​以只修改正在运行的安装脚本,以免弹出窗口。

您可以看到更多信息:

https://github.com/sikuli/sikuli https://www.autohotkey.com/docs/Hotkeys.htm