天天看點

saltstack的探索-改善管理使用者的sls檔案

saltstack的探索-改善管理使用者的sls檔案

<code>一、目錄</code>

<code>[root@test200 user]</code><code># pwd</code>

<code>/srv/salt/user</code>

<code>[root@test200 user]</code><code># ls</code>

<code>group  script</code>

<code>二、腳本</code>

<code>[root@test200 user]</code><code># ls script/</code>

<code>ops  </code><code>users</code><code>.conf.d</code>

<code>其中,</code><code>/srv/salt/user/script/users</code><code>.conf.d是個空目錄,用于同步到用戶端,将使用者管理的腳本整理到這個目錄中。</code>

<code>目前還不知道是否可以這樣:</code>

<code>定義一個路徑:</code><code>/dir1/dir2/file1</code>

<code>一個參數指定要這個路徑的檔案,若上級目錄不存在,則自動會建立對應的目錄。</code>

<code>因而,采取了上述的做法。</code>

<code>[root@test200 user]</code><code># ls script/ops/</code>

<code>root_append.sh  root_update.sh</code>

<code>腳本-更新root使用者:</code>

<code>[root@test200 user]</code><code># cat script/ops/root_update.sh </code>

<code>#!/bin/bash</code>

<code># $ ssh-keygen -t rsa -b 2048 -C you_comment_here -f filename</code>

<code>username=</code><code>'root'</code>

<code>id</code> <code>${username}</code>

<code>d_root=</code><code>'/root/.ssh'</code>

<code>[ -d ${d_root} ] || </code><code>mkdir</code> <code>${d_root}</code>

<code>cat</code> <code>&lt;&lt;_PUBKEY &gt; /${d_root}</code><code>/authorized_keys</code>

<code>key1</code>

<code>key2</code>

<code>_PUBKEY</code>

<code>chmod</code> <code>700 ${d_root}</code>

<code>chmod</code> <code>600 ${d_root}</code><code>/authorized_keys</code>

<code>cat</code> <code>${d_root}</code><code>/authorized_keys</code>

<code>腳本-追加到root使用者:</code>

<code>[root@test200 user]</code><code># cat script/ops/root_append.sh          </code>

<code>id</code> <code>root</code>

<code>cat</code> <code>&lt;&lt;_PUBKEY &gt;&gt; /${d_root}</code><code>/authorized_keys</code>

<code>key3</code>

<code>三、sls檔案</code>

<code>sls-更新root使用者: </code>

<code>[root@test200 user]</code><code># cat group/ops/root/update.sls </code>

<code>users</code><code>.conf.d:</code>

<code>  </code><code>file</code><code>.recurse:</code>

<code>    </code><code>- name: </code><code>/home/ops/bin/users</code><code>.conf.d</code>

<code>    </code><code>- </code><code>source</code><code>: salt:</code><code>//user/script/users</code><code>.conf.d</code>

<code>    </code><code>- include_empty: True</code>

<code>    </code><code>- mkdirs: True</code>

<code>    </code><code>- dir_mode: 755</code>

<code>    </code><code>- file_mode: 644</code>

<code>user-script:</code>

<code>  </code><code>file</code><code>.managed:</code>

<code>    </code><code>- name: </code><code>/home/ops/bin/users</code><code>.conf.d</code><code>/root_update</code><code>.sh</code>

<code>    </code><code>- </code><code>source</code><code>: salt:</code><code>//user/script/ops/root_update</code><code>.sh</code>

<code>    </code><code>- mode: 644</code>

<code>user-script-run:</code>

<code>  </code><code>cmd.run:</code>

<code>    </code><code>- name: </code><code>/bin/bash</code> <code>/home/ops/bin/users</code><code>.conf.d</code><code>/root_update</code><code>.sh</code>

<code>sls-追加到root使用者:    </code>

<code>[root@test200 user]</code><code># cat group/ops/root/append.sls </code>

<code>    </code><code>- name: </code><code>/home/ops/bin/users</code><code>.conf.d</code><code>/root_append</code><code>.sh</code>

<code>    </code><code>- </code><code>source</code><code>: salt:</code><code>//user/script/ops/root_append</code><code>.sh</code>

<code>    </code><code>- name: </code><code>/bin/bash</code> <code>/home/ops/bin/users</code><code>.conf.d</code><code>/root_append</code><code>.sh</code>

<code>    </code> 

<code>運作:</code>

<code>salt </code><code>'test10[1-5].company.com'</code> <code>state.sls user.group.ops.root.update</code>

<code>符合預期。</code>

<code>檢視結果:</code>

<code>salt </code><code>'test10[1-5].company.com'</code> <code>cmd.run </code><code>'cat /root/.ssh/authorized_keys'</code>

本文轉自 pcnk 51CTO部落格,原文連結:http://blog.51cto.com/nosmoking/1636431,如需轉載請自行聯系原作者

繼續閱讀