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><<_PUBKEY > /${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><<_PUBKEY >> /${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,如需轉載請自行聯系原作者