因为想达到别人说的

MySQL 的账户管理我们通过 saltstack 的 mysql_user 进行管理 

目前所有的 MySQL 账户用户通过 git 管理而密码通过 salt pillar 管理


官网的例子,现在基本清楚,英文真的菜,其实很简单,照抄就行。呵。

https://docs.saltstack.com/en/latest/ref/states/all/salt.states.mysql_user.html#salt.states.mysql_user.absent


密码通过 salt pillar 管理 

参考  通过saltstack批量创建用户,修改密码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
openssl passwd -1 
#cat /srv/salt/user/useradd.sls
{% set user = 'mall' %}
{% set home = '/mall' %}
{{ user }}:
  user.present:
    - password: '$1$mall$HoAy4FCi9xY6SL.ny97Y91'
    - uid: 895
    - gid_from_name: True
    - home: {{ home }}
    - createhome: True
    - shell: /bin/bash
    - maxdays: 90
cp_skel:
  cmd.run:
    - name: 'cp /etc/skel/.bash* {{ home }} && chown -R {{ user }}.{{ user }} {{ home }}'
    - unless: test -f {{ home }}/.bashrc
#salt '*' state.sls user.useradd
批量密码修改
[root@SHLMWEB02 user]# cat /srv/pillar/user.sls 
users:  
  root: $1$/siJcbHz$lAqpYrt7.47PHJo7AZQsy
  mall: $1$UCv5P06w$Rp2fdf/qOonroC.y8tqn00 
[root@SHLMWEB02 user]# cat passwd.sls 
{% for user, passwd in pillar.get('users', {}).items() %}
`user`:
  user.present:
    - password: `passwd`
{% endfor %}
 
同步密码
#salt '*' state.sls user.passwd