使用 SaltStack 向文件添加单行

Sov*_*ero 5 centos6 saltstack

我想将以下行添加到我环境中的所有 /etc/sudoers 文件中:

# Administrators LDAP Group
%Administrators   ALL=(ALL)       ALL
Run Code Online (Sandbox Code Playgroud)

但是,每台服务器都有不同的 /etc/sudoers 文件,从一个位置获取所有这些文件是不切实际的。

Salt 有没有办法确保文件中存在一行(或一组行),而不是管理整个文件?

Jas*_*Zhu 10

您可能正在寻找file.append

File.append 搜索整个文件,如果找不到您的文本,它会将其附加到文件的末尾。我假设您不知道 /etc/sudoers 文件中的任何常见文本结构,因此您将无法使用 file.sed 之类的内容来替换某些文本。

示例代码:

/etc/sudoers:
  file.append:
    - text: 
      - "# Administrators LDAP Group"
      - "%Administrators   ALL=(ALL)       ALL"
Run Code Online (Sandbox Code Playgroud)

注意:您可能应该在使用之前测试示例代码。