我正在尝试使用Saltstack自动创建用户.
我创建了一个支柱conf:
users:
homer:
fullname: Homer Simpson
uid: 1007
gid: 1007
groups:
- sudo
- adm
crypt: $6H7kNJefhBeY
pub_ssh_keys:
- ssh-rsa ...
Run Code Online (Sandbox Code Playgroud)
在我的州,我使用以下内容:
{% for username, details in pillar.get('users', {}).items() %}
{{ username }}:
group:
- present
- name: {{ username }}
- gid: {{ details.get('gid', '') }}
user:
- present
- fullname: {{ details.get('fullname','') }}
- name: {{ username }}
- shell: /bin/bash
- home: /home/{{ username }}
- uid: {{ details.get('uid', '') }}
- gid: {{ details.get('gid', '') }}
- password: {{ details.get('crypt','') }}
{% if 'groups' in details %}
- groups:
{% for group in details.get('groups', []) %}
- {{ group }}
{% endfor %}
{% endif %}
{% if 'pub_ssh_keys' in details %}
ssh_auth:
- present
- user: {{ username }}
- names:
{% for pub_ssh_key in details.get('pub_ssh_keys', []) %}
- {{ pub_ssh_key }}
{% endfor %}
- require:
- user: {{ username }}
{% endif %}
{% endfor %}
Run Code Online (Sandbox Code Playgroud)
用户创建没问题,ssh-rsa密钥添加正确,但我的主要问题是密码:我尝试了以下内容:
crypt: password
crypt: some-hash
Run Code Online (Sandbox Code Playgroud)
但是当我连接到我的服务器时,我的密码问题就是这个用户.
你能告诉我如何生成一个符合盐所期望的格式的良好密码?是否有用于生成它的特殊命令?
谢谢.
要在Debian/Ubuntu中创建散列用户密码,可以在salt中使用,我执行以下操作:
apt-get install makepasswd
echo '<password>' | makepasswd --clearfrom=- --crypt-md5 | awk '{ print $2 }'
Run Code Online (Sandbox Code Playgroud)
这给出了例如:$ id $ salt $ encrypted
"$ id $ salt $ encrypted"中的id应为1,表示它是md5哈希.
将此哈希复制/粘贴到您的支柱中.
希望这也适合你.