ansible生产环境通过普通用户账号切到root执行命令,使用sed修改密码过期时间,ansiblesed


https://www.cnblogs.com/yum777/p/6491254.html

执行的ansible命令最好都重定向到 >>xxx 里面去吧, 好看有哪些错误的 ,每执行一个命令都进去检查下

1.检查jdk版本: 这个没办法 ,只能手动啦,我丢,反正进去要先登录一下,顺便看吧,丢

2.dev账号传文件
ansible weige -m copy -a “src=./test.sh dest=/home/weige”

3.dev账号添加可执行权限
ansible weige -m shell -a “chmod 777 /home/weige/test.sh”

4.使用root账号执行
ansible weige -S -R root -m command -a “./test.sh”

5.修改两个账号密码:
a.
vim /etc/ansible/hosts
[weige]
192.168.230.133
[weige:vars]
ansible_ssh_user=weige
ansible_ssh_pass=123456479
ansible_su_pass=123465789!
b.
ansible weige -S -R root -m shell -a “echo 123456798!# | passwd –stdin root” (改完root密码后到hosts里把原来的root密码改一下,再执行修改普通账号密码的命令,注意:此时!#前面用了转意符)
ansible weige -S -R root -m shell -a “echo 12456798! | passwd –stdin weige”
(改完后也是进hosts里换成新的密码)

6.修改dev密码有效期
先试试能不能用chage -M 99999 weige 吧!
a.查看现在的密码过期规则
[root@weige ansible]# ansible weige -S -R root -m shell -a “cat /etc/shadow | sed -n ‘/weige/p’” 或者使用下面:
[root@weige ansible]# ansible weige -S -R root -m shell -a “sed -n ‘/weige/p’ /etc/shadow” 或者用grep查看
192.168.230.133 | SUCCESS | rc=0 >>
weige:6dWZU2IJH$e0pWBhznKVtpszPUfHSHIkCK5WRMBCi5.lJz1AqtXbQ7OlS/hoSv7kmhSM7b2u4g7y0iAZqkttcfakWWTd66a0:17782:0:123:7:::

b.对相应密码进行替换
如果是在客户端直接执行:sed -i ‘/weige/s/0:123:7:/0:99999:7:/’ ./shadow
如果有很多要改,就在ansible主机里执行: ansible weige -S -R root -m shell -a “sed -i ‘/weige/s/0:55555:7:/0:99999:7:/’ /etc/shadow”

(试了好多遍,如果不加i只是当时会显示改成了99999,但是用cat进去看 或者 用chage -l weige 看都是没有改的,最后才试出来需要加 i , 而且文件路径要放后面,不然提示 sed: no input files, 妈蛋 )

shadow各内容表示的的含义:

相关内容

    暂无相关文章