无法使用Ansible更新sshd配置文件

时间:2019-02-26 15:09:38

标签: linux unix ansible

我一直关注发布在帖子中的解决方案 Ansible to update sshd config file,但是出现以下错误。

TASK [Add Group to AllowGroups] 
fatal: [testpsr]: FAILED! => {"changed": false, "msg": "Unsupported parameters for (lineinfile) module: when Supported parameters include: attributes, backrefs, backup, content, create, delimiter, directory_mode, firstmatch, follow, force, group, insertafter, insertbefore, line, mode, owner, path, regexp, remote_src, selevel, serole, setype, seuser, src, state, unsafe_writes, validate"}

Here are the tasks I have. 
- name: Capture AllowUsers from sshd_config 
  command: bash -c "grep '^AllowUsers' /etc/ssh/sshd_config.bak" 
  register: old_userlist changed_when: no

- name: Add Group to AllowUsers 
  lineinfile: regexp: "^AllowUsers" 
  backup: True 
  dest: /etc/ssh/sshd_config.bak 
  line: "{{ old_userlist.stdout }} {{ usernames }}" 
  when: - old_userlist is succeeded

1 个答案:

答案 0 :(得分:-1)

该错误告诉您出了什么问题。

InputStream resourceStream = this.getClass().getClassLoader().getResourceAsStream(fooPath);
BufferedReader br = new BufferedReader(new InputStreamReader(resourceStream)) 
String resource;

while ((resource = br.readLine()) != null) {
    // ... resource is the next filename; you can add it to an array
    // or use it here
}

您将FAILED! => {"changed": false, "msg": "Unsupported parameters for (lineinfile) module: when 嵌套在when模块下,而它应该嵌套在任务本身下。

这是您固定的代码,可能是您的意思。

lineinfile

我还修复了一些问题。在您的情况下,在- name: Capture AllowUsers from sshd_config command: "grep '^AllowUsers' /etc/ssh/sshd_config.bak" register: old_userlist changed_when: no - name: Add Group to AllowUsers lineinfile: regexp: "^AllowUsers" backup: yes dest: /etc/ssh/sshd_config.bak line: "{{ old_userlist.stdout }} {{ usernames }}" when: old_userlist is succeeded 中使用bash -c是多余的

由于当前无法读取您的问题,请确保在粘贴代码或登录StackOverflow时正在使用代码格式。