Saltstack创建用户:未设置密码

时间:2014-08-01 10:03:14

标签: salt-stack

我正在尝试使用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

但是当我连接到我的服务器时,我的用户密码错误。

您能否告诉我如何生成符合盐预期格式的良好密码?是否有用于生成它的特殊命令?

谢谢。

3 个答案:

答案 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