ansible系统模块--user模块

user模块

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

user模块参数
name参数:必须参数,用于指定要操作的用户名称,可以使用别名user。

group参数:此参数用于指定用户所在的基本组

gourps参数:此参数用于指定用户所在的附加组,注意:如果说用户已经存在并且已经拥有多个附加组,那么如果想要继续添加新的附加组,需要结合append参数使用,否则在默认情况下,当再次使用groups参数设置附加组时,用户原来的附加组会被覆盖。

append参数:如果用户原本就存在多个附加组,那么当使用groups参数设置附加组时,当前设置会盖原来的附加组设置,如果不想覆盖原来的附加组设置 ,需要结合append参数,将append设置为yes,表示追加附加组到现有的附加组设置,append默认值为no

shell参数:此参数用于指定用户的默认shell

uid参数:此参数用于指定用户的uid号

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

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参数对应的值
创建用户:(user参数)

[root@server1 testdir]# ansible testB -m user -a "user=dd "

在这里插入图片描述
删除用户:(state参数)

[root@server1 testdir]# ansible testB -m user -a "user=dd state=absent "

在这里插入图片描述
连同家目录一起删除:(remove参数)

[root@server1 testdir]# ansible testB -m user -a "user=hhh state=absent remove=yes "

在这里插入图片描述
创建用户组(前提:远程主机得先有该组)(group参数)

[root@server1 testdir]# ansible testB -m user -a "user=xxx group=ansible "

在这里插入图片描述
添加附加组:(groups参数)

[root@server1 testdir]# ansible testB -m user -a "user=xxx groups=linux "

在这里插入图片描述
再添加一个附加组:(附加组被更新)
[root@server1 testdir]# ansible testB -m user -a "user=xxx groups=west "
在这里插入图片描述
附加组不更新(参数append)
[root@server1 testdir]# ansible testB -m user -a "user=xxx groups=linux append=yes "

在这里插入图片描述
添加多个附加组:(逗号隔开)

[root@server1 testdir]# ansible testB -m user -a "user=xxx groups=linux,east  append=yes "

在这里插入图片描述
给用户指定过期时间:
获取过期时间戳:

[root@server1 testdir]# date -d 2020-12-31 +%s
1609344000
[root@server1 testdir]# ansible testB -m user -a "user=xxx expires=1609344000 "

更改注释信息:

[root@server1 testdir]# ansible testB -m user -a "user=xxx comment='www.westos.org' "

cat /etc/passwd
在这里插入图片描述
设置密码:

生成密码:
在这里插入图片描述
将密码给远程主机:

[root@server1 testdir]# ansible testB -m user -a "name=xx password='$6$dXoLM3.jyxgu2n5Q$Hd8XxR/wvgjd3Qujr65pOXRKdIV2r1qMEqvtpfc7alkZ0rWuWx9sdwBrgCEgQpdVHCLgoBhkduWluThZWGxSw1'"

生成公匙私钥:

[root@server1 testdir]# ansible testB -m user -a "name=xxx generate_ssh_key=yes"

在这里插入图片描述
更改私钥公钥的位置:

[root@server1 testdir]# ansible testB -m user -a "name=xxx generate_ssh_key=yes ssh_key_file=/opt/id_rsa"

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值