gpt4 book ai didi

salt-stack - 如何检查salt文件服务器中的文件是否存在

转载 作者:行者123 更新时间:2023-12-03 09:45:54 27 4
gpt4 key购买 nike

我想自动为用户复制 ssh key ,有些用户没有 key 。

我现在拥有的是:

ssh_auth:                                                                                                                                                                      
- present
- user: {{ usr }}
- source: salt://users/keys/{{usr}}.id_rsa.pub

当 salt://文件服务器上不存在用户的 key 时,我收到错误消息。是否有一些功能可以检查 salt://文件服务器中是否存在文件?

最佳答案

我不知道 jinja 或 salt 函数可以检查主文件服务器的特定文件。我建议您将这些 key 作为 key 放在包含您的用户的支柱文件中,并使用 jinja 检测该 key 的存在并在必要时创建 key 。例如:

支柱文件:

# Name of file : user_pillar.sls
users:
root:
ssh_key: some_key_value
home : /root
createhome: True

状态文件:
# Name of file : users_salt_state_file.sls
{% for user,args in salt['pillar.get']('users',{}).iteritems() %}
# Ensure user is present
{{ user }}_user:
user.present:
- name: {{ user }}

# Home Creation
{% if args and 'home' in args %}
- home: {{ args['home'] }}
{% endif %}
{% if args and 'createhome' in args %}
- createhome: {{ args['createhome'] }}
{% endif %}

# SSH_auth
{% if args and 'ssh_key' in args %}
{{ args['ssh_key'] }}
ssh_auth:
- present
- user: {{ user }}
{% endfor %}

关于salt-stack - 如何检查salt文件服务器中的文件是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22582479/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com