ansible 管理用户 5 大场景

Posted on Posted in linux

ansible 管理用户 5 大场景

场景一: 新增用户

要求:

  1. groups 设定,groups=组1,组2
  2. 增量添加属组,append=yes
  3. 表明属组状态为新建,state=present
ansible all -m user -a "name=liuhonghe password=XXXXXXXXXX shell=/bin/bash groups=admins,osgroup append=yes home=/home/liuhonghe/ state=present"
# password 是加密串,文章最后会生成

场景二: 修改用户属组

要求:

  1. 删除用户组
  2. 全量变更属组,append=no
ansible all -m user -a "name=liuhonghe groups=osgroup append=no"

场景三: 修改用户属性

要求:

  1. 设置登录过期时间,expires=1533052800
  2. unix 时间戳转换 date +%s -d "20180801"
ansible all -m user -a "user=liuhonghe expires=1533052800"

场景四: 删除用户,并删除家目录和邮件列表

要求:

  1. 表明属组状态为删除,state=absent
  2. 设定 remove=yes
ansible -m user -a "name=liuhonghe state=absent remove=yes"

场景五:变更用户密码

password 后面为加密后的密码

ansible all -m user -a "name=liuhonghe shell=/bin/bash password= update_password=always"

加密密码生成方式 1

yum whatprovides */mkpasswd # 查找安装包名称
yum install expect
# apt-get install whois
mkpasswd

加密密码生成方式 2

同样的密码,多次加密结果不一样属正常情况

python3 -c "from passlib.hash import sha512_crypt; import getpass; print(sha512_crypt.encrypt(getpass.getpass()))" # python3 sha512 加密算法

python3 -c "import crypt; print(crypt.crypt('liuhonghe','os'))"
os8yI.u9TnKks

python -c "from passlib.hash import sha512_crypt; import getpass; print(sha512_crypt.encrypt(getpass.getpass()))" # python2 sha512 加密算法
$6$rounds=656000$D4paBWSq19i0Yue/$rxamCWYQggT3gy1iJCtgo5jgnDlcHGH50MaXeS9nsRbBzaL0KsTLc.Xx1tWGW67KsZ3ov4KfA7Mbz59wpaaml/

python -c "import crypt; print(crypt.crypt('liuhonghe','os'))" # python2 普通算法
os8yI.u9TnKks
» 转载请注明来源:呢喃 » ansible 管理用户 5 大场景

Leave a Reply

Your email address will not be published. Required fields are marked *

six + twelve =