ansile(2)模块之user
ansible 创建修改用户属性,选项来自官网,如果有出入,已官网为主参数是否必需默认选项说明
appendnonoyes
no
如果设置yes,只添加groups,不添加在组列表里
commentno
注释
createhomenoyesyesno除非设置为no,否则家目录在创建的时候将被创建。
expiresnoNone
设置用户的过期时间
forceno
yesno此选项在使用state=absent时有效,如userder --force
generate_ssh_keynono
为用户生成秘钥
groupnono
设置用户组
groupsno
设置公共组
homeno
设置用户家目录
move_homenonoyesno移动用户的家目录,如果目标路径目录不存在的话
nameyes
用户名
non_uniquenono
有选择地使用- u选项时,该选项允许改变非唯一的用户ID值。
passwordno
设置用户密码
removeno
yesno当使用state=absent时,与userderl --remove一样
shellno
设置用户shell环境
ssh_key_bitsnodefault set by ssh-keygen
设置key大小
ssh_key_commentnoansible-generated on $HOSTNAME
key注释
ssh_key_fileno.ssh/id_rsa
指定key文件
ssh_key_passphraseno
设置一个SSH密钥的密码。如果没有提供密码,SSH密钥将默认没有密码。
ssh_key_typenorsa
选择指定SSH密钥生成的类型。可用的SSH密钥类型将取决于实现目标主机上。
statenopresentpresent
absent
删除与创建
systemnonoyes
no
是否创建为系统用户
uidno
指定用户uid
update_passwordnoalwaysalways
on_create
always更新密码,如果密码不一致的话。on_create将只在创建时为用户设置密码。
[*]添加用户指定uid,指定密码
密码必须使用加密的密码,使用加密密码如下:
1
#yum install python-passlib-1.6.2-2.el7.noarch
生成密码:
1
2
3
#python -c "from passlib.hash import sha512_crypt; import getpass; print sha512_crypt.encrypt(getpass.getpass())"
Password:
$6$rounds=100000$yAREAXRZhsaV0m9R$BhkAGxurVuF/Lkn0lOUI6S9yvhelugRYtwfUUWwYQL7SdQiQgeVdjHspcrvr2CNK.9CjTGxx1FHPXOB0k/dyR0
使用生成的密码:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# ansible dbserver -m user -a "name=ckl password=$6$rounds=100000$yAREAXRZhsaV0m9R$BhkAGxurVuF/Lkn0lOUI6S9yvhelugRYtwfUUWwYQL7SdQiQgeVdjHspcrvr2CNK.9CjTGxx1FHPXOB0k/dyR0 uid=1003"
172.16.110.49 | SUCCESS => {
"changed": true,
"comment": "",
"createhome": true,
"group": 1003,
"home": "/home/ckl",
"name": "ckl",
"password": "NOT_LOGGING_PASSWORD",
"shell": "/bin/bash",
"state": "present",
"system": false,
"uid": 1003
}
但是密码没生效。
2.添加用户,并未用户生成密码,为秘钥设置密码及类型
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# ansible dbserver -m user -a "name=zld uid=1004 generate_ssh_key=yes ssh_key_passphrase='147258' ssh_key_type=rsa state=present"
172.16.110.49 | SUCCESS => {
"changed": true,
"comment": "",
"createhome": true,
"group": 1004,
"home": "/home/zld",
"name": "zld",
"shell": "/bin/bash",
"ssh_fingerprint": "2048 cf:1c:d6:f9:c8:98:c6:bf:3c:57:61:2e:df:eb:04:66ansible-generated on localhost.localdomain (RSA)",
"ssh_key_file": "/home/zld/.ssh/id_rsa",
"ssh_public_key": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDAOeOi5iJNVQZJ6Wdx9lb2DD2ZEq2wVejqfd68ptP1i0Hg4Dvj3qAzZs5ovwqldDpSumNqeN6huZ4dioXm/ZepQ7amXsgYd8rdCxdAo/fkeS5aaTICO3W1TdOSAmrmIGKv+7C15hsplkua9xIJC/E24gLRntEEDWdsy9HXLBehfDMrgQJv8VMCsE/glvLtwqBzzUMaNpBDy7Fpu5y1lPQ88byxQBkgdNSS3R71WrWhh+UNguU0Sv2FHSCh1/xxOMW07JCbre3W4PPIBFDqMxt5Gm2ZFtZLs+jknYAZh5cvRGKBum7KGZTWNGUvT7B/BzE3CpFuQ78bEboLZT+vKwCj ansible-generated on localhost.localdomain",
"state": "present",
"system": false,
"uid": 1004
}
3.强制删除用户
1
2
3
4
5
6
7
8
# ansible dbserver -m user -a "name=ckl force=yes state=absent"
172.16.110.49 | SUCCESS => {
"changed": true,
"force": true,
"name": "ckl",
"remove": false,
"state": "absent"
}
页:
[1]