Saltstack 用戶管理

最近測試組來了一大波,最爲公司測試那必須要有qa環境,測試組老大跟我關係很好,他們組不少人對Linux也很瞭解,平時弄個東西啥的也能自己搞定,軟磨硬泡加上最近真的很忙給他們配置了jenkins和開了qa環境用戶權限,說下saltstack的用戶管理吧。

簡單一個小例子,記錄下。對於用戶管理模塊的各個函數以及參數可以看看官網or源碼。

需求是這樣的4個不同的用戶,統一的密碼,家目錄啥的隨便,這對於salt來說,簡直TM 太簡單了

我們用到了pillar 

root@saltstack. /srv/pillar# cat user/user.sls
users:
  - username: bianji
    bash: /bin/bash
    uid: 1024
    password: '$1$ukfpoaT9$j7T83r38iwrAnYaZ/yo1t1'
  - username: zhaochunyu
    bash: /bin/bash
    uid: 1025
    password: '$1$ukfpoaT9$j7T83r38iwrAnYaZ/yo1t1'

很簡單,我就定義了username uid 以及bash 和密碼。注意這個密碼是hash之後的,MD官網上寫set hash啥的我記得,以爲使用Python hashlib 生成的密碼串。。結果二了。。。這個密碼使用的是openssl加密

生成的方法:

openssl passwd -l

然後讓你輸出兩次密碼會生成一個加密串,我們貼到裏面就好,然後刷新下pillar的數據,看下state文件的寫法

{% for eachuser in pillar['users'] %}
{{ eachuser.username }}:
  user.present:
    - name: {{ eachuser.username }}
    - uid: {{ eachuser.uid }}
    - bash: {{ eachuser.bash }}
    - password: {{ eachuser.password }}
{% endfor %}

我們都知道pillar是的數據結構是一個dict

pillar['users']你懂得。

創建用戶 我們用到user模塊的present函數,這個可是states下的啊!modules下的是useradd.py

看下支持的參數吧

153 def present(name,
154             uid=None,
155             gid=None,
156             gid_from_name=False,
157             groups=None,
158             optional_groups=None,
159             remove_groups=True,
160             home=None,
161             createhome=True,
162             password=None,
163             enforce_password=True,
164             empty_password=False,
165             shell=None,
166             unique=True,
167             system=False,
168             fullname=None,
169             roomnumber=None,
170             workphone=None,
171             homephone=None,
172             date=None,
173             mindays=None,
174             maxdays=None,
175             inactdays=None,
176             warndays=None,
177             expire=None):
178     '''

根據需求寫到states文件中,我這裏需求比較簡單所以自然就沒寫那麼多拉。文件中的for if endif endfor啦都是Python的jinja語法,,,都懂不多說了

ok我們看下結果

wKioL1UWwtOitvxOAAJrxoR7ENM906.jpg本人很喜歡saltstack 最近也在使用salt-api以及flask完成公司自動化平臺。。。。歡迎加QQ交流455471484.。。。。。。。互相學習吧

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章