Saltstack Tips

通过boostrap脚本来安装saltstack(Install saltstack using bootstrap script)

最近半个月在试着用saltstack, 安装saltstack还是用官方提供的bootstrap脚本最方便了.

同时安装master和minion:

curl -L http://bootstrap.saltstack.org | sudo sh -s -- -M

只安装minion:

curl -L http://bootstrap.saltstack.org | sudo sh

查看详细参数:

$ sh bootstrap-salt.sh -h

修改某个minion的unix密码(change a minion’s unix password)

用saltstack可以自己写state去管理某个minion的用户属性, 给用户设置密码.

同时也可以直接在命令行使用shadow这个模块去重设密码.

比如我要给minion-id=node1的机器的用户gohan设置密码为"password":

先获取password的hash:

python -c "import crypt; print crypt.crypt('password', '$6$SALTsalt')"

其中$6$对应的是获取sha512类型的hash, 后边的SALTsalt是盐, 可以自己生成随机字符串.

执行得到的hash: $6$SALTsalt$UiZikbV3VeeBPsg8./Q5DAfq9aj7CVZMDU6ffBiBLgUEpxv7LMXKbcZ9JSZnYDrZQftdG319XkbLVMvWcF/Vr/

设置node1的密码:

sudo salt "node1" shadow.set_password gohan '$6$SALTsalt$UiZikbV3VeeBPsg8./Q5DAfq9aj7CVZMDU6ffBiBLgUEpxv7LMXKbcZ9JSZnYDrZQftdG319XkbLVMvWcF/Vr/'

收到返回:

node1:
True

设置成功!

生成password hash的代码:

#!/usr/bin/python
import crypt
import random, string
password = raw_input("Enter Password:")
N = 8
salt = ''.join(random.choice(
    string.ascii_letters + string.digits) for _ in range(N))
print crypt.crypt(password, '$6$'+salt)
This entry was posted in Useful Tips. Bookmark the permalink.

Leave a Reply