user模块
user模块可以帮助我们管理远程主机上的用户,比如创建用户、修改用户、删除用户、为用户创建密钥对等操作

name参数:必须参数,用于指定要操作的用户名称,可以使用别名user。
group参数:此参数用于指定用户所在的基本组
gourps参数:此参数用于指定用户所在的附加组,注意,如果说用户已经存在并且已经拥有多个附加组,那么如果想要继续添加新的附加组,需要结合append参数使用,否则在默认情况下,当再次使用groups参数设置附加组时,用户原来的附加组会被覆盖。
append参数:如果用户原本就存在多个附加组,那么当使用groups参数设置附加组时,当前设置会覆盖原来的附加组设置,如果不想覆盖原来的附加组设置,需要结合append参数,将append设置为yes,表示追加附加组到现有的附加组设置,append默认值为no

shell参数:此参数用于指定用户的默认shell uid参数:此参数用于指定用户的uid号
expires参数:此参数用于指定用户的过潮时间,相当于设置/etc/shadow文件中的的第8列,比如,你想要设置用户的过期日期为2018年12月31日,那么你首先要获取到2018年12月31日的unix时间戳,使用命令"date-d
2018-12-31+%s"获取到的时间戳为1546185600,所以,当设置expires=1546185600时,表示用户的过期时间为2018年12月31日0点0分,设置成功后,查看远程主机的/etc/shadow文件,对应用户的第八列的值将变成17895(表示1970年1月1日到2018年12月31日的天数,unix时间戳的值会自动转换为天数,我们不用手动的进行换算),目前此参数只支持在Linux和FreeBSD系统中使用

comment参数:此参数用于指定用户的注释信息
state参数:此参数用于指定用户是否存在于远程主机中,可选值有present、absent,默认值为present,表示用户需要存在,当设置为absent时表示删除用户。
remove参数:当state的值设置为absent时,表示要删除远程主机中的用户,但是在删除用户时,不会删除用户的家目录等信息,这是因为remoove参数的默认值为no,如果设置为yes,在删除用户的同时,会删除用户的家目录,当state=absent并且remove=yes时,相当于执行“userdel-r"命令

password参数:此参教用于指定用户的密码,但是这个密码不能是明文的密码,而是一个对明文密码”加密后“的字符串,相当于/etc/shadow文件中的密码字段,是一个对明文密码进行哈希后的字符串,你可以在python的命令提示符下输入如下命令,生成明文密码对应的加密字符串。
import crypt;crypt.crypt("666666)
输入上述命令后,即可得到明文密码666666对应的加密字符串

update_password参数:此参数有两个值可选,always和on_create,当此参数的值设置为always时表示,如果password参数设置的值与用户当前的加密过的密码字符串不一致,则直接更新用户的密码,默认值即为always,但是当此参数设置为on_create时,如果password参数设置的值与用户当前的加密过的密码字符串不一致,则不会更新用户的密码字符串,保持之前的密码设定,如果是新创建的用户,即使此参数设置为on_create,也会将用户的密码设置为password参数对应的值

在testB中创建一个名字为pp 的用户

ansible_user ansibleuser模块_ansible_user

删除用户

ansible_user ansibleuser模块_字符串_02

这样会删除用户但是不会删除用户的家目录

ansible_user ansibleuser模块_ansible_user_03

使用remove可以实现删除家目录

ansible_user ansibleuser模块_ansible_user_04

创建用户设置他的group组

ansible_user ansibleuser模块_ansible_05

ansible_user ansibleuser模块_ansible_06

设置附加组groups

ansible_user ansibleuser模块_删除用户_07

ansible_user ansibleuser模块_user模块_08

但是这样只能添加一个附加组不能添加其他的组使用append就可以了

ansible_user ansibleuser模块_删除用户_09

ansible_user ansibleuser模块_ansible_user_10

也可以一次同时添加多个附加组通过逗号就可以了

ansible_user ansibleuser模块_user模块_11

让某个文件多久过期首先获得时间的时间戳

ansible_user ansibleuser模块_字符串_12

ansible_user ansibleuser模块_字符串_13

文件第八列的值改变

ansible_user ansibleuser模块_ansible_14

修改注释信息

ansible_user ansibleuser模块_删除用户_15

查看pp用户注释

ansible_user ansibleuser模块_ansible_user_16

利用Python模块生成加密字符串

ansible_user ansibleuser模块_ansible_17

然后使用giant加密字符串对pp用户加密

ansible_user ansibleuser模块_user模块_18

ansible_user ansibleuser模块_ansible_19

远程主机使用ssh免密操作

ansible_user ansibleuser模块_ansible_user_20

更秘钥改生成目录

ansible_user ansibleuser模块_ansible_user_21