天天看点

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,如需转载请自行联系原作者

继续阅读