我正在尝试使用Saltstack自动创建用户。
我创建了一个支柱:
users:
homer:
fullname: Homer Simpson
uid: 1007
gid: 1007
groups:
- sudo
- adm
crypt: $6H7kNJefhBeY
pub_ssh_keys:
- ssh-rsa ...
在我的州,我使用以下内容:
{% 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 %}
用户创建没问题,ssh-rsa密钥添加正确但我的主要问题是密码:我尝试了以下内容:
crypt: password
crypt: some-hash
但是当我连接到我的服务器时,我的用户密码错误。
您能否告诉我如何生成符合盐预期格式的良好密码?是否有用于生成它的特殊命令?
谢谢。
答案 0 :(得分:6)
要在Debian / Ubuntu中创建散列用户密码,可以在salt中使用,我会执行以下操作:
apt-get install makepasswd
echo '<password>' | makepasswd --clearfrom=- --crypt-md5 | awk '{ print $2 }'
这给出了例如:$ id $ salt $ encrypted
&#34; $ id $ salt $ encrypted&#34;应该是1,这意味着它是一个md5哈希。
将此哈希复制/粘贴到您的支柱中。
希望这也适合你。
答案 1 :(得分:0)
谢谢你死了makepasswd的例子。如果有效的话,它会很棒。但就我而言,它并没有。
哈希密码似乎不正确。也许应该使用另一种加密方式?
我使用了盐堆GitHub存储库中的标准用户公式
答案 2 :(得分:0)
我不会使用md5,用$ 1表示
如果查看/ etc / shadow文件并查看其他密码为6美元,则使用sha-512。
不要使用makepassword,使用&#34; mkpasswd&#34;
mkpasswd -m sha-512
Password: [enter password]
$6$fYewyeO5lMP/$CLbYqRdUootlGA3hJzXye84k0Of9VX4z39TOnsDxfIaFcL4uGznfJsGEJMiEaHKHZDSIUK7o4r22krvhezpZq1