Ansible 批量创建用户 密码注意事项

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Ansible 批量创建用户 密码注意事项相关的知识,希望对你有一定的参考价值。

user模块是请求的是useradd, userdel, usermod三个指令,goup模块请求的是groupadd, groupdel, groupmod 三个指令。

user模块

home:指定用户的家目录,需要与createhome配合使用

groups:指定用户的属组

uid:指定用的uid

password:指定用户的密码

name:指定用户名

createhome:是否创建家目录 yes|no

system:是否为系统用户

remove:当state=absent时,remove=yes则表示连同家目录一起删除,等价于userdel -r

state:是创建还是删除(present,absent) 

shell:指定用户的shell环境

generate_ssh_key:是否为相关用户生成SSH密钥。 这不会覆盖现有的SSH密钥。 

ssh_key_bits:可选择指定要创建的SSH密钥中的位数。

ssh_key_passphrase:设置SSH密钥的密码。 如果没有提供密码,SSH密钥将默认没有密码。 

ssh_key_file:指定SSH密钥文件名(可选)。 如果这是一个相对的文件名,那么它将是相对于用户的主目录。 

ssh_key_type:指定要生成的SSH密钥的类型(可选)。 可用的SSH密钥类型将取决于目标主机上的实现。

使用ansibile创建用户有两种方法

方法1:使用user 模块,更简单,命令如下:

[[email protected] ~]# ansible ansible_group -m user -a ‘name=test password=-18SyrVeFt/xU uid=1000 shell=/bin/bash home=/home/admin_group/test group=admin_group state=present‘ --sudo

验证创建的用户:

[[email protected] ~]# ansible online-web-asset -m raw -a ‘tail /etc/passwd|grep test‘

online-web-asset-3 | SUCCESS | rc=0 >>
test:x:1000:501::/home/admin_group/test:/bin/bash
Shared connection to 192.168.5.1 closed.

注意:passwd的值不能是明文,passwd关键字后面应该是密文,且密文将被保存在/etc/shadow文件中,密文的生成命令为:
[[email protected] ~]# openssl passwd -salt -1 "you passwd"

然后将生成的密文,如: 填写到ansible ansible_group -m user -a ‘name=username password= ’ 中的passwd关键字后面即可。

方法2:使用playbook

创建playbook文件 useradd.yml,内容如下:

[[email protected] ansible]# more useradd.yml 

---
- hosts: manage
  user: root
  sudo: no
  vars:
  tasks:
   - name: add user
     action: user name=username password=**********c  group=admin_group shell=/bin/bash home=/home/admin_group/username
  tags:
   - user

保存后执行如下命令运行playbook

#ansible-playbook useradd.yml即可

以上是关于Ansible 批量创建用户 密码注意事项的主要内容,如果未能解决你的问题,请参考以下文章

ansible 批量修改密码

Ansible批量更新远程主机用户密码 (包括Ansible批量做ssh互信)

使用Ansible的user模块批量修改用户密码

使用Ansible的user模块批量修改用户密码

使用Ansible的user模块批量修改用户密码

ansible 批量修改密码